ソースを参照

Symbols provider sample

Peng Lyu 6 年 前
コミット
02fb6bfd43

+ 315 - 0
test/playground.generated/extending-language-services-symbols-provider-example.html

@@ -0,0 +1,315 @@
+<!DOCTYPE html>
+<!-- THIS IS A GENERATED FILE VIA gulp generate-test-samples -->
+<html>
+<head>
+	<base href="..">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<style>
+/*----------------------------------------SAMPLE CSS START*/
+
+
+
+/*----------------------------------------SAMPLE CSS END*/
+</style>
+<a class="loading-opts" href="playground.generated/index.html">[&lt;&lt; BACK]</a> <br/>
+THIS IS A GENERATED FILE VIA gulp generate-test-samples
+
+<div id="bar" style="margin-bottom: 6px;"></div>
+
+<div style="clear:both"></div>
+<div id="outer-container" style="width:800px;height:450px;border: 1px solid grey">
+<!-- ----------------------------------------SAMPLE HTML START-->
+
+<div id="container" style="height:100%;"></div>
+
+
+<!-- ----------------------------------------SAMPLE HTML END-->
+</div>
+<div style="clear:both"></div>
+
+<script src="../metadata.js"></script>
+<script src="dev-setup.js"></script>
+<script>
+loadEditor(function() {
+/*----------------------------------------SAMPLE JS START*/
+
+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"
+});
+
+/*----------------------------------------SAMPLE CSS END*/
+});
+</script>
+</body>
+</html>

+ 1 - 0
test/playground.generated/index.html

@@ -30,6 +30,7 @@ THIS IS A GENERATED FILE VIA gulp generate-test-samples<br/><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-completion-provider-example.html">Extending Language Services &gt; Completion provider example</a><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-codelens-provider-example.html">Extending Language Services &gt; Codelens provider example</a><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-color-provider-example.html">Extending Language Services &gt; Color provider example</a><br/>
+<a class="loading-opts" href="playground.generated/extending-language-services-symbols-provider-example.html">Extending Language Services &gt; Symbols provider example</a><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-folding-provider-example.html">Extending Language Services &gt; Folding provider example</a><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-hover-provider-example.html">Extending Language Services &gt; Hover provider example</a><br/>
 <a class="loading-opts" href="playground.generated/extending-language-services-configure-javascript-defaults.html">Extending Language Services &gt; Configure JavaScript defaults</a><br/>

+ 6 - 0
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",

+ 0 - 0
website/playground/new-samples/extending-language-services/symbols-provider-example/sample.css


+ 1 - 0
website/playground/new-samples/extending-language-services/symbols-provider-example/sample.html

@@ -0,0 +1 @@
+<div id="container" style="height:100%;"></div>

+ 271 - 0
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"
+});