Newton-Editor/src/app/common/services/webworker.ts

165 lines
4.8 KiB
TypeScript

import { ServiceManager } from "ace-linters/build/service-manager";
let manager = new ServiceManager(self);
manager.registerService("html", {
features: {signatureHelp: false},
module: () => import("ace-linters/build/html-service"),
className: "HtmlService",
modes: "html"
});
manager.registerService("css", {
features: {signatureHelp: false},
module: () => import("ace-linters/build/css-service"),
className: "CssService",
modes: "css"
});
manager.registerService("less", {
features: {signatureHelp: false},
module: () => import("ace-linters/build/css-service"),
className: "CssService",
modes: "less"
});
manager.registerService("scss", {
features: {signatureHelp: false},
module: () => import("ace-linters/build/css-service"),
className: "CssService",
modes: "scss"
});
manager.registerService("json", {
features: {signatureHelp: false, documentHighlight: false},
module: () => import("ace-linters/build/json-service"),
className: "JsonService",
modes: "json",
});
manager.registerService("json5", {
features: {signatureHelp: false, documentHighlight: false},
module: () => import("ace-linters/build/json-service"),
className: "JsonService",
modes: "json5",
});
manager.registerService("typescript", {
module: () => import("ace-linters/build/typescript-service"),
className: "TypescriptService",
modes: "typescript|tsx|javascript|jsx",
});
manager.registerService("yaml", {
features: {signatureHelp: false, documentHighlight: false},
module: () => import("ace-linters/build/yaml-service"),
className: "YamlService",
modes: "yaml",
});
manager.registerService("xml", {
features: {completion: false, completionResolve: false, diagnostics: true, format: false, hover: false, documentHighlight: false, signatureHelp: false},
module: () => import("ace-linters/build/xml-service"),
className: "XmlService",
modes: "xml",
});
manager.registerService("php", {
features: {completion: false, completionResolve: false, diagnostics: true, format: false, hover: false, documentHighlight: false, signatureHelp: false},
module: () => import("ace-linters/build/php-service"),
className: "PhpService",
modes: "php"
});
manager.registerService("javascript", {
features: {completion: false, completionResolve: false, diagnostics: true, format: false, hover: false, documentHighlight: false, signatureHelp: false},
module: () => import("ace-linters/build/javascript-service"),
className: "JavascriptService",
modes: "javascript",
});
manager.registerServer("pythonls", {
module: () => import("ace-linters/build/language-client"),
modes: "python",
type: "socket",
socket: new WebSocket("ws://127.0.0.1:9999/?name=pylsp")
});
/*
manager.registerService("clang", {
module: () => import("ace-clang-linter/build/ace-clang-linter"),
className: "AceClangLinter",
modes: "c_cpp",
});
manager.registerService("lua", {
features: {completion: false, completionResolve: false, diagnostics: true, format: true, hover: false, documentHighlight: false, signatureHelp: false},
module: () => import("ace-lua-linter/build/ace-lua-linter"),
className: "AceLuaLinter",
modes: "lua",
});
manager.registerService("mysql", {
module: () => import("ace-sql-linter/build/mysql-service"),
className: "MySQLService",
modes: "mysql",
});
manager.registerService("zig", {
module: () => import("ace-zig-linter/build/ace-zig-linter"),
className: "AceZigLinter",
modes: "zig",
});
manager.registerService("python", {
features: {completion: false, completionResolve: false, diagnostics: true, format: true, hover: false, documentHighlight: false, signatureHelp: false},
module: () => import("ace-python-ruff-linter/build/python-service"),
className: "PythonService",
modes: "python",
});
manager.registerServer("svelte", {
module: () => import("ace-linters/build/language-client"),
modes: "html",
type: "socket",
socket: new WebSocket("ws://127.0.0.1:3030/svelte")
});
manager.registerServer("astro", {
module: () => import("ace-linters/build/language-client"),
modes: "astro",
type: "socket",
socket: new WebSocket("ws://127.0.0.1:3030/astro"),
initializationOptions: {
typescript: {
tsdk: "node_modules/typescript/lib", //path to typescript server
}
}
});
manager.registerServer("go", {
module: () => import("ace-linters/build/language-client"),
modes: "golang",
type: "socket",
socket: new WebSocket("ws://127.0.0.1:3030/go")
});
manager.registerService("dart", {
module: () => import("ace-dart-linter/build/ace-dart-linter"),
className: "AceDartLinter",
modes: "dart",
});
manager.registerService("golang", {
module: () => import("ace-go-linter/build/ace-go-linter"),
className: "AceGoLinter",
modes: "go",
});
*/