I am trying to use the Monaco Editor by Microsoft in a project I am currently developing. I have looked through the documentation and see that you can setup a custom language with custom code completion and syntax highlighting, but I cannot find any information on how we can add custom formatting to the custom language as well.
Is this a possibility?
monaco-editor - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers.
The Monaco Editor is the code editor that powers VS Code. A good page describing the code editor's features is here. It is licensed under the MIT License and supports Edge, Chrome, Firefox, Safari and Opera. The Monaco editor is not supported in mobile browsers or mobile web frameworks.
Read the docs: registerDocumentFormattingEditProvider
You must create a new DocumentFormattingEditProvider
and then pass it to monaco.languages.registerDocumentFormattingEditProvider
. For example:
const cssFormatProvider = {
provideDocumentFormattingEdits(model, options, token) {
return [{
text: YourFormatter(model.getValue()) // put formatted text here
range: model.getFullModelRange()
}];
}
};
const languageId = 'css';
monaco.languages.registerDocumentFormattingEditProvider(languageId, cssFormatProvider);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With