monaco.languages.registerDocumentSymbolProvider('json', { provideDocumentSymbols: function (model, token) { return [ { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'File', kind: 0, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Module', kind: 1, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Namespace', kind: 2, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Package', kind: 3, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Class', kind: 4, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Method', kind: 5, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Property', kind: 6, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Field', kind: 7, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Constructor', kind: 8, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Enum', kind: 9, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Interface', kind: 10, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Function', kind: 11, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Variable', kind: 12, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Constant', kind: 13, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'String', kind: 14, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Number', kind: 15, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Boolean', kind: 16, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Array', kind: 17, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Object', kind: 18, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Key', kind: 19, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Null', kind: 20, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'EnumMember', kind: 21, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Struct', kind: 22, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Event', kind: 23, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'Operator', kind: 24, detail: "", tags: [], selectionRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 } }, { range: { startLineNumber: 1, startColumn: 1, endLineNumber: 2, endColumn: 1 }, name: 'TypeParameter', 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" });