diff --git a/test/playground.generated/extending-language-services-symbols-provider-example.html b/test/playground.generated/extending-language-services-symbols-provider-example.html new file mode 100644 index 00000000..06614d80 --- /dev/null +++ b/test/playground.generated/extending-language-services-symbols-provider-example.html @@ -0,0 +1,315 @@ + + + + + + + + + + +[<< BACK]
+THIS IS A GENERATED FILE VIA gulp generate-test-samples + +
+ +
+
+ + +
+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/test/playground.generated/index.html b/test/playground.generated/index.html index e2733186..77a2dc93 100644 --- a/test/playground.generated/index.html +++ b/test/playground.generated/index.html @@ -30,6 +30,7 @@ THIS IS A GENERATED FILE VIA gulp generate-test-samples

Extending Language Services > Completion provider example
Extending Language Services > Codelens provider example
Extending Language Services > Color provider example
+Extending Language Services > Symbols provider example
Extending Language Services > Folding provider example
Extending Language Services > Hover provider example
Extending Language Services > Configure JavaScript defaults
diff --git a/website/playground/new-samples/all.js b/website/playground/new-samples/all.js index f7f41d7a..ec1190e3 100644 --- a/website/playground/new-samples/all.js +++ b/website/playground/new-samples/all.js @@ -139,6 +139,12 @@ var PLAY_SAMPLES = [ id: "extending-language-services-color-provider-example", path: "extending-language-services/color-provider-example" }, + { + chapter: "Extending Language Services", + name: "Symbols provider example", + id: "extending-language-services-symbols-provider-example", + path: "extending-language-services/symbols-provider-example" + }, { chapter: "Extending Language Services", name: "Folding provider example", diff --git a/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.css b/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.css new file mode 100644 index 00000000..e69de29b diff --git a/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.html b/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.html new file mode 100644 index 00000000..b2e43e28 --- /dev/null +++ b/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.html @@ -0,0 +1 @@ +
diff --git a/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.js b/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.js new file mode 100644 index 00000000..c2c25cda --- /dev/null +++ b/website/playground/new-samples/extending-language-services/symbols-provider-example/sample.js @@ -0,0 +1,271 @@ +monaco.languages.registerDocumentSymbolProvider('json', { + provideDocumentSymbols: function (model, token) { + return [ + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'File', + kind: 0 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Module', + kind: 1 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Namespace', + kind: 2 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Package', + kind: 3 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Class', + kind: 4 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Method', + kind: 5 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Property', + kind: 6 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Field', + kind: 7 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Constructor', + kind: 8 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Enum', + kind: 9 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Interface', + kind: 10 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Function', + kind: 11 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Variable', + kind: 12 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Constant', + kind: 13 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'String', + kind: 14 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Number', + kind: 15 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Boolean', + kind: 16 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Array', + kind: 17 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Object', + kind: 18 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Key', + kind: 19 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Null', + kind: 20 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'EnumMember', + kind: 21 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Struct', + kind: 22 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Event', + kind: 23 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'Operator', + kind: 24 + }, + { + range: { + startLineNumber: 1, + startColumn: 1, + endLineNumber: 2, + endColumn: 1 + }, + name: 'TypeParameter', + kind: 25 + }, + ]; + } +}); + +monaco.editor.create(document.getElementById("container"), { + value: "{\n\t\"dependencies\": {\n\t\t\n\t}\n}\n", + language: "json" +}); \ No newline at end of file