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' });