Skip to content

Instantly share code, notes, and snippets.

@Soontao
Created July 2, 2019 01:47
Show Gist options
  • Save Soontao/1b5b896e9b165c14f0bbd46ccaa848dd to your computer and use it in GitHub Desktop.
Save Soontao/1b5b896e9b165c14f0bbd46ccaa848dd to your computer and use it in GitHub Desktop.
// Add additonal d.ts files to the JavaScript language service and change.
// Also change the default compilation options.
// The sample below shows how a class Facts is declared and introduced
// to the system and how the compiler is told to use ES6 (target=2).
// validation settings
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
noSyntaxValidation: false
});
// compiler options
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES6,
allowNonTsExtensions: true
});
// extra libraries
monaco.languages.typescript.javascriptDefaults.addExtraLib([
'declare class Facts {',
' /**',
' * Returns the next fact',
' */',
' static next():string',
'}',
].join('\n'), 'filename/facts.d.ts');
var jsCode = [
'"use strict";',
'',
"class Chuck {",
" greet() {",
" return Facts.next();",
" }",
"}"
].join('\n');
var e = monaco.editor.create(document.getElementById("container"), {
value: jsCode,
language: "javascript"
});
monaco.editor.setModelMarkers(e.getModel(), "test", [
{
startLineNumber: 0,
startColumn: 0,
endLineNumber: 3,
endColumn: 5,
message: "a message",
severity: monaco.MarkerSeverity.Error
}
])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment