Skip to content

Commit

Permalink
Merge pull request #11 from mkslanc/update-sample
Browse files Browse the repository at this point in the history
fix examples for new ace linters
  • Loading branch information
anijanyan authored Mar 9, 2023
2 parents f21b385 + c6568db commit 8324758
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 74 deletions.
40 changes: 4 additions & 36 deletions samples/typescript-language-service/sample.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ ace.require("ace/ext/language_tools");
let editor = ace.edit("example", {
theme: "ace/theme/textmate",
mode: "ace/mode/typescript",
value: "console.log('Hello world' ;",
useWorker: false
value: "console.log('Hello world' ;"
});
// enable autocompletion and snippets
editor.setOptions({
Expand All @@ -13,40 +12,9 @@ editor.setOptions({
enableLiveAutocompletion: true
});

function $workerBlob(script) {
return new Blob([script.toString()], {"type": "application/javascript"});
}
//create Language Provider for json doc from ace linters

function createWorker(script) {
if (typeof Worker == "undefined") return {
postMessage: function () {
},
terminate: function () {
}
};

var blob = $workerBlob(script);
var URL = window.URL || window.webkitURL;
var blobURL = URL.createObjectURL(blob);
// calling URL.revokeObjectURL before worker is terminated breaks it on IE Edge
return new Worker(blobURL);
}

let worker = createWorker("!" + function () {
importScripts("https://cdn.jsdelivr.net/npm/ace-linters/build/service-manager.js");
let manager = new ServiceManager(self);
manager.registerService("typescript", {
module: () => {
importScripts("https://cdn.jsdelivr.net/npm/ace-linters/build/typescript-service.js");
return {TypescriptService};
},
className: "TypescriptService",
modes: "typescript|javascript|tsx|jsx"
});

} + "();");

let languageProvider = LanguageProvider.create(worker);
let provider = LanguageProvider.fromCdn("https://cdn.jsdelivr.net/npm/ace-linters/build");

// Register the editor with the language provider
languageProvider.registerEditor(editor);
provider.registerEditor(editor);
37 changes: 1 addition & 36 deletions samples/validation-against-json-schema/sample.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ editor.setTheme("ace/theme/tomorrow");
editor.setOptions({
enableBasicAutocompletion: true,
enableLiveAutocompletion: true,
useWorker: false,
value: "{\n \"name\": \"Jo\"\n}"
});

Expand Down Expand Up @@ -41,43 +40,9 @@ var jsonSchema = `{
}
`;

function $workerBlob(script) {
return new Blob([script.toString()], {"type": "application/javascript"});
}

function createWorker(script) {
if (typeof Worker == "undefined") return {
postMessage: function () {
},
terminate: function () {
}
};

var blob = $workerBlob(script);
var URL = window.URL || window.webkitURL;
var blobURL = URL.createObjectURL(blob);
// calling URL.revokeObjectURL before worker is terminated breaks it on IE Edge
return new Worker(blobURL);
}

let worker = createWorker("!" + function () {
importScripts("https://cdn.jsdelivr.net/npm/ace-linters/build/service-manager.js");
let manager = new ServiceManager(self);
manager.registerService("json", {
module: () => {
importScripts("https://cdn.jsdelivr.net/npm/ace-linters/build/json-service.js");
return {JsonService};
},
className: "JsonService",
modes: "json|json5"
});

} + "();");


//create Language Provider for json doc from ace linters

let provider = LanguageProvider.create(worker);
let provider = LanguageProvider.fromCdn("https://cdn.jsdelivr.net/npm/ace-linters/build");

//link schema to json service
provider.setGlobalOptions("json", {
Expand Down
17 changes: 15 additions & 2 deletions src/playground.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,20 @@ request('ace.d.ts').then(function (response: XMLHttpRequest) {

function correctDeclaration(declaration) {
return declaration.replace(/export\s+namespace\s+Ace/, "declare namespace Ace")
.replace(/export\s+const\s+version/, "declare namespace ace {\nexport const version") + "}";
.replace(/export\s+const\s+version/, "declare namespace ace {\nexport const version") + "}" +
`\ndeclare class LanguageProvider {
private $activeEditor;
private $descriptionTooltip;
private readonly $markdownConverter;
private readonly $messageController;
private $sessionLanguageProviders;
private $editors;
static fromCdn(cdnUrl: string): LanguageProvider;
registerEditor(editor: Ace.Editor)
setOptions(session: Ace.EditSession, options);
setGlobalOptions(serviceName, options, merge?:boolean)
}
`;
}

editorBox.on("editorAdded", (editor: LayoutEditor) => {
Expand Down Expand Up @@ -265,4 +278,4 @@ function displayError(errorMessage) {
}, "console");
terminal.session.setValue(errorMessage);
tabManager.loadFile(terminal);
}
}

0 comments on commit 8324758

Please sign in to comment.