Browse Source

new changes

placidenduwayo 1 year ago
parent
commit
241afd97cd

+ 6
- 10
src/app/pages/monaco-editor-test/monaco-editor-test/monaco-editor-test.component.html View File

1
-<h1></h1>
2
-<div style="height: 500px">
3
-    <ngx-monaco-editor 
4
-        style="height: 100%" 
5
-        [options]="options"
6
-        [model]="model"
7
-        [(ngModel)]="java_placeholder"
8
-        (onInit)="onInit($event)">
9
-    </ngx-monaco-editor>
10
-</div>
1
+<ngx-monaco-editor 
2
+    style="margin-left: 1cm;margin-top: 1cm;margin-right: 1cm;height: 88%;" 
3
+    [options]="monacoOptions" 
4
+    [model]="model"
5
+    (onInit)="onInit($event)">
6
+</ngx-monaco-editor>

+ 12
- 5
src/app/pages/monaco-editor-test/monaco-editor-test/monaco-editor-test.component.ts View File

60
     }
60
     }
61
   }`;
61
   }`;
62
 
62
 
63
-  options = {
63
+  monacoOptions = {
64
     theme: this.theme,
64
     theme: this.theme,
65
     automaticLayout: true,
65
     automaticLayout: true,
66
-    quickSuggestions: true,
67
-    wordBasedSuggestions: true
68
-  };
66
+    quickSuggestions: {
67
+      other: 'inline',
68
+      comments: true,
69
+      strings : true
70
+    },
71
+    wordBasedSuggestions: true,
72
+    glyphMargin: true,
73
+    fontSize: 20,
74
+    fixedOverflowWidgets: true,
75
+    acceptSuggestionOnEnter: "on",
76
+    };
69
 
77
 
70
   placeholders: Array<string> = [
78
   placeholders: Array<string> = [
71
     this.java_placeholder, 
79
     this.java_placeholder, 
80
     value: this.placeholders[0],
88
     value: this.placeholders[0],
81
     language: this.languages[0],
89
     language: this.languages[0],
82
   }
90
   }
83
-
84
 }
91
 }

+ 15
- 15
src/monaco-editor/monaco-editor-config.ts View File

1
 
1
 
2
-declare var monaco: any;
3
 
2
 
4
 async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp', 'python', 'html', 'json', 'css']) {
3
 async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp', 'python', 'html', 'json', 'css']) {
5
-  const allLangs = await monaco.languages.getLanguages();
4
+  const allLangs =  (<any>window).monaco.languages.getLanguages();
6
   console.log('all supported languages:', allLangs);
5
   console.log('all supported languages:', allLangs);
7
-  console.log(monaco);
8
-  monaco.languages.register({ id: languages[0] });
9
-  monaco.languages.registerCompletionItemProvider(languages[0], {
6
+  console.log( (<any>window).monaco);
7
+  (<any>window).monaco.languages.register({ id: languages[0] });
8
+  (<any>window).monaco.languages.registerCompletionItemProvider(languages[0], {
10
     triggerCharacters: ['.'],
9
     triggerCharacters: ['.'],
11
     provideCompletionItems: function (model: any, position: any) {
10
     provideCompletionItems: function (model: any, position: any) {
12
-      var textUntilPosition = model.getValueInRange(
11
+      const textUntilPosition = model.getValueInRange(
13
         {
12
         {
14
-          startLineNumber: 1, startColumn: 1,
13
+          startLineNumber: position.lineNumber, 
14
+          startColumn: 1,
15
           endLineNumber: position.lineNumber,
15
           endLineNumber: position.lineNumber,
16
           endColumn: position.column
16
           endColumn: position.column
17
         }
17
         }
18
       );
18
       );
19
-      console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', textUntilPosition);
20
-      var match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/);
19
+      console.log(textUntilPosition);
20
+      const match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/);
21
       if (!match) {
21
       if (!match) {
22
         return { suggestions: [] };
22
         return { suggestions: [] };
23
       }
23
       }
29
         endColumn: word.endColumn
29
         endColumn: word.endColumn
30
       };
30
       };
31
 
31
 
32
-      var suggestions = [
32
+      const suggestions = [
33
         {
33
         {
34
           label: '"lodash"',
34
           label: '"lodash"',
35
-          kind: monaco.languages.CompletionItemKind.Function,
35
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
36
           documentation: "The Lodash library exported as Node.js modules.",
36
           documentation: "The Lodash library exported as Node.js modules.",
37
           insertText: '"lodash": "*"',
37
           insertText: '"lodash": "*"',
38
           range: range
38
           range: range
39
         },
39
         },
40
         {
40
         {
41
           label: '"express"',
41
           label: '"express"',
42
-          kind: monaco.languages.CompletionItemKind.Function,
42
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
43
           documentation: "Fast, unopinionated, minimalist web framework",
43
           documentation: "Fast, unopinionated, minimalist web framework",
44
           insertText: '"express": "*"',
44
           insertText: '"express": "*"',
45
           range: range
45
           range: range
46
         },
46
         },
47
         {
47
         {
48
           label: '"mkdirp"',
48
           label: '"mkdirp"',
49
-          kind: monaco.languages.CompletionItemKind.Function,
49
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
50
           documentation: "Recursively mkdir, like <code>mkdir -p</code>",
50
           documentation: "Recursively mkdir, like <code>mkdir -p</code>",
51
           insertText: '"mkdirp": "*"',
51
           insertText: '"mkdirp": "*"',
52
           range: range
52
           range: range
53
         },
53
         },
54
         {
54
         {
55
           label: '"my-third-party-library"',
55
           label: '"my-third-party-library"',
56
-          kind: monaco.languages.CompletionItemKind.Function,
56
+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function,
57
           documentation: "Describe your library here",
57
           documentation: "Describe your library here",
58
           insertText: '"${1:my-third-party-library}": "${2:1.2.3}"',
58
           insertText: '"${1:my-third-party-library}": "${2:1.2.3}"',
59
-          insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
59
+          insertTextRules:  (<any>window).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
60
           range: range
60
           range: range
61
         }
61
         }
62
       ];
62
       ];

Powered by TurnKey Linux.