refactoring LSP to its own service
This commit is contained in:
165
src/app/common/services/webworker.ts
Normal file
165
src/app/common/services/webworker.ts
Normal file
@@ -0,0 +1,165 @@
|
||||
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",
|
||||
});
|
||||
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user