Browse Source

Merge pull request #1616 from larshp/symbols

playground: update symbols-provider-example
Alexandru Dima 5 years ago
parent
commit
7e5825c355

+ 235 - 26
website/playground/new-samples/extending-language-services/symbols-provider-example/sample.js

@@ -9,7 +9,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'File',
-                kind: 0
+                kind: 0,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -19,7 +27,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Module',
-                kind: 1
+                kind: 1,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -29,7 +45,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Namespace',
-                kind: 2
+                kind: 2,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -39,7 +63,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Package',
-                kind: 3
+                kind: 3,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -49,7 +81,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Class',
-                kind: 4
+                kind: 4,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -59,7 +99,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Method',
-                kind: 5
+                kind: 5,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -69,7 +117,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Property',
-                kind: 6
+                kind: 6,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -79,7 +135,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Field',
-                kind: 7
+                kind: 7,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -89,7 +153,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Constructor',
-                kind: 8
+                kind: 8,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -99,7 +171,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Enum',
-                kind: 9
+                kind: 9,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -109,7 +189,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Interface',
-                kind: 10
+                kind: 10,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -119,7 +207,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Function',
-                kind: 11
+                kind: 11,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -129,7 +225,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Variable',
-                kind: 12
+                kind: 12,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -139,7 +243,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Constant',
-                kind: 13
+                kind: 13,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -149,7 +261,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'String',
-                kind: 14
+                kind: 14,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -159,7 +279,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Number',
-                kind: 15
+                kind: 15,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -169,7 +297,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Boolean',
-                kind: 16
+                kind: 16,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -179,7 +315,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Array',
-                kind: 17
+                kind: 17,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -189,7 +333,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Object',
-                kind: 18
+                kind: 18,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -199,7 +351,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Key',
-                kind: 19
+                kind: 19,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -209,7 +369,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Null',
-                kind: 20
+                kind: 20,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -219,7 +387,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'EnumMember',
-                kind: 21
+                kind: 21,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -229,7 +405,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Struct',
-                kind: 22
+                kind: 22,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -239,7 +423,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Event',
-                kind: 23
+                kind: 23,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -249,7 +441,15 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'Operator',
-                kind: 24
+                kind: 24,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
             {
                 range: {
@@ -259,12 +459,21 @@ monaco.languages.registerDocumentSymbolProvider('json', {
                     endColumn: 1
                 },
                 name: 'TypeParameter',
-                kind: 25
+                kind: 25,
+                detail: "",
+                tags: [],
+                selectionRange: {
+                  startLineNumber: 1,
+                  startColumn: 1,
+                  endLineNumber: 2,
+                  endColumn: 1
+                }
             },
         ];
     }
 });
 
+// press Ctrl+Shift+O to show the symbols in the editor
 monaco.editor.create(document.getElementById("container"), {
     value: "{\n\t\"dependencies\": {\n\t\t\n\t}\n}\n",
     language: "json"