@nlighten/monaco-json-transform
Version:
JSON Transform language tokenizer (and syntax highlight), hover provider and more
54 lines (38 loc) • 1.42 kB
Markdown
[](https://github.com/microsoft/monaco-editor) JSON Transform language tokenizer (and syntax highlight), hover provider and more.
- `npm i -S @nlighten/monaco-json-transform`
With a helper function to register straight to monaco
```js
// `monaco` should be global or local in the loading module
import {
registerJsonTransformItemCompletionProvider,
registerJsonTransformDSTProvider,
registerJsonTransformHoverProvider,
defineThemeVsDarkCustom,
} from "@nlighten/monaco-json-transform";
...
registerJsonTransformDSTProvider(monaco);
registerJsonTransformItemCompletionProvider(monaco, {
getTypeMap: model => { // example
const path = model.uri.path;
const [, paths] = getSuggestions(path);
return paths;
},
getSuggestions: model => { // example
const path = model.uri.path;
return getSuggestions(path)[0];
},
});
registerJsonTransformHoverProvider(monaco, {
getTypeMap: model => { // example
const path = model.uri.path;
return getSuggestions(path, true)[1];
},
});
defineThemeVsDarkCustom(monaco);
```
For syntax highlighting, in monaco editor, use `"vs-dark-custom"` (or your value if changed) as `theme`.
monaco-json-transform is [MIT Licensed](https://github.com/elisherer/monaco-languages-json-transform/blob/master/LICENSE)