tianxincode 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +57 -0
- package/dist/api/api.types.d.ts +350 -0
- package/dist/api/api.types.d.ts.map +1 -0
- package/dist/api/api.types.js +12 -0
- package/dist/api/api.types.js.map +1 -0
- package/dist/api/chat.routes.d.ts +26 -0
- package/dist/api/chat.routes.d.ts.map +1 -0
- package/dist/api/chat.routes.js +275 -0
- package/dist/api/chat.routes.js.map +1 -0
- package/dist/api/config.routes.d.ts +10 -0
- package/dist/api/config.routes.d.ts.map +1 -0
- package/dist/api/config.routes.js +150 -0
- package/dist/api/config.routes.js.map +1 -0
- package/dist/api/db.routes.d.ts +12 -0
- package/dist/api/db.routes.d.ts.map +1 -0
- package/dist/api/db.routes.js +108 -0
- package/dist/api/db.routes.js.map +1 -0
- package/dist/api/files.routes.d.ts +14 -0
- package/dist/api/files.routes.d.ts.map +1 -0
- package/dist/api/files.routes.js +220 -0
- package/dist/api/files.routes.js.map +1 -0
- package/dist/api/filesystem.routes.d.ts +10 -0
- package/dist/api/filesystem.routes.d.ts.map +1 -0
- package/dist/api/filesystem.routes.js +181 -0
- package/dist/api/filesystem.routes.js.map +1 -0
- package/dist/api/index.d.ts +6 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +25 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/lsp.d.ts +5 -0
- package/dist/api/lsp.d.ts.map +1 -0
- package/dist/api/lsp.js +103 -0
- package/dist/api/lsp.js.map +1 -0
- package/dist/api/projects.routes.d.ts +18 -0
- package/dist/api/projects.routes.d.ts.map +1 -0
- package/dist/api/projects.routes.js +306 -0
- package/dist/api/projects.routes.js.map +1 -0
- package/dist/api/session.routes.d.ts +18 -0
- package/dist/api/session.routes.d.ts.map +1 -0
- package/dist/api/session.routes.js +186 -0
- package/dist/api/session.routes.js.map +1 -0
- package/dist/api/skills.routes.d.ts +6 -0
- package/dist/api/skills.routes.d.ts.map +1 -0
- package/dist/api/skills.routes.js +54 -0
- package/dist/api/skills.routes.js.map +1 -0
- package/dist/cli/args.d.ts +49 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +77 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/cli.types.d.ts +22 -0
- package/dist/cli/cli.types.d.ts.map +1 -0
- package/dist/cli/cli.types.js +5 -0
- package/dist/cli/cli.types.js.map +1 -0
- package/dist/cli/commands.d.ts +30 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +263 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/components/App.d.ts +34 -0
- package/dist/components/App.d.ts.map +1 -0
- package/dist/components/App.js +639 -0
- package/dist/components/App.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/tx.config.d.ts +31 -0
- package/dist/config/tx.config.d.ts.map +1 -0
- package/dist/config/tx.config.js +29 -0
- package/dist/config/tx.config.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/lsp/client.d.ts +55 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +252 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/downloader.d.ts +17 -0
- package/dist/lsp/downloader.d.ts.map +1 -0
- package/dist/lsp/downloader.js +302 -0
- package/dist/lsp/downloader.js.map +1 -0
- package/dist/lsp/index.d.ts +13 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +30 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/launch.d.ts +17 -0
- package/dist/lsp/launch.d.ts.map +1 -0
- package/dist/lsp/launch.js +69 -0
- package/dist/lsp/launch.js.map +1 -0
- package/dist/lsp/manager.d.ts +19 -0
- package/dist/lsp/manager.d.ts.map +1 -0
- package/dist/lsp/manager.js +251 -0
- package/dist/lsp/manager.js.map +1 -0
- package/dist/lsp/server.d.ts +11 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +302 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/sql.d.ts +11 -0
- package/dist/lsp/sql.d.ts.map +1 -0
- package/dist/lsp/sql.js +23 -0
- package/dist/lsp/sql.js.map +1 -0
- package/dist/lsp/types.d.ts +58 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +13 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/modules/ai/ai.service.d.ts +182 -0
- package/dist/modules/ai/ai.service.d.ts.map +1 -0
- package/dist/modules/ai/ai.service.js +280 -0
- package/dist/modules/ai/ai.service.js.map +1 -0
- package/dist/modules/ai/ai.types.d.ts +54 -0
- package/dist/modules/ai/ai.types.d.ts.map +1 -0
- package/dist/modules/ai/ai.types.js +2 -0
- package/dist/modules/ai/ai.types.js.map +1 -0
- package/dist/modules/ai/index.d.ts +6 -0
- package/dist/modules/ai/index.d.ts.map +1 -0
- package/dist/modules/ai/index.js +5 -0
- package/dist/modules/ai/index.js.map +1 -0
- package/dist/modules/ai/openai.provider.d.ts +138 -0
- package/dist/modules/ai/openai.provider.d.ts.map +1 -0
- package/dist/modules/ai/openai.provider.js +279 -0
- package/dist/modules/ai/openai.provider.js.map +1 -0
- package/dist/modules/ai/react/index.d.ts +5 -0
- package/dist/modules/ai/react/index.d.ts.map +1 -0
- package/dist/modules/ai/react/index.js +4 -0
- package/dist/modules/ai/react/index.js.map +1 -0
- package/dist/modules/ai/react/prompt/role.txt +51 -0
- package/dist/modules/ai/react/react.parser.d.ts +75 -0
- package/dist/modules/ai/react/react.parser.d.ts.map +1 -0
- package/dist/modules/ai/react/react.parser.js +278 -0
- package/dist/modules/ai/react/react.parser.js.map +1 -0
- package/dist/modules/ai/react/react.prompts.d.ts +26 -0
- package/dist/modules/ai/react/react.prompts.d.ts.map +1 -0
- package/dist/modules/ai/react/react.prompts.js +180 -0
- package/dist/modules/ai/react/react.prompts.js.map +1 -0
- package/dist/modules/ai/react/react.types.d.ts +47 -0
- package/dist/modules/ai/react/react.types.d.ts.map +1 -0
- package/dist/modules/ai/react/react.types.js +2 -0
- package/dist/modules/ai/react/react.types.js.map +1 -0
- package/dist/modules/ai/react.agent.d.ts +40 -0
- package/dist/modules/ai/react.agent.d.ts.map +1 -0
- package/dist/modules/ai/react.agent.js +136 -0
- package/dist/modules/ai/react.agent.js.map +1 -0
- package/dist/modules/ai/summarizer/index.d.ts +4 -0
- package/dist/modules/ai/summarizer/index.d.ts.map +1 -0
- package/dist/modules/ai/summarizer/index.js +3 -0
- package/dist/modules/ai/summarizer/index.js.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.prompts.d.ts +15 -0
- package/dist/modules/ai/summarizer/summarizer.prompts.d.ts.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.prompts.js +47 -0
- package/dist/modules/ai/summarizer/summarizer.prompts.js.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.service.d.ts +24 -0
- package/dist/modules/ai/summarizer/summarizer.service.d.ts.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.service.js +153 -0
- package/dist/modules/ai/summarizer/summarizer.service.js.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.types.d.ts +21 -0
- package/dist/modules/ai/summarizer/summarizer.types.d.ts.map +1 -0
- package/dist/modules/ai/summarizer/summarizer.types.js +5 -0
- package/dist/modules/ai/summarizer/summarizer.types.js.map +1 -0
- package/dist/modules/config/config.service.d.ts +32 -0
- package/dist/modules/config/config.service.d.ts.map +1 -0
- package/dist/modules/config/config.service.js +163 -0
- package/dist/modules/config/config.service.js.map +1 -0
- package/dist/modules/config/config.types.d.ts +44 -0
- package/dist/modules/config/config.types.d.ts.map +1 -0
- package/dist/modules/config/config.types.js +21 -0
- package/dist/modules/config/config.types.js.map +1 -0
- package/dist/modules/config/index.d.ts +10 -0
- package/dist/modules/config/index.d.ts.map +1 -0
- package/dist/modules/config/index.js +10 -0
- package/dist/modules/config/index.js.map +1 -0
- package/dist/modules/context/context.service.d.ts +46 -0
- package/dist/modules/context/context.service.d.ts.map +1 -0
- package/dist/modules/context/context.service.js +216 -0
- package/dist/modules/context/context.service.js.map +1 -0
- package/dist/modules/context/context.types.d.ts +30 -0
- package/dist/modules/context/context.types.d.ts.map +1 -0
- package/dist/modules/context/context.types.js +5 -0
- package/dist/modules/context/context.types.js.map +1 -0
- package/dist/modules/context/index.d.ts +10 -0
- package/dist/modules/context/index.d.ts.map +1 -0
- package/dist/modules/context/index.js +10 -0
- package/dist/modules/context/index.js.map +1 -0
- package/dist/modules/db/db.service.d.ts +97 -0
- package/dist/modules/db/db.service.d.ts.map +1 -0
- package/dist/modules/db/db.service.js +387 -0
- package/dist/modules/db/db.service.js.map +1 -0
- package/dist/modules/db/db.types.d.ts +8 -0
- package/dist/modules/db/db.types.d.ts.map +1 -0
- package/dist/modules/db/db.types.js +7 -0
- package/dist/modules/db/db.types.js.map +1 -0
- package/dist/modules/db/index.d.ts +10 -0
- package/dist/modules/db/index.d.ts.map +1 -0
- package/dist/modules/db/index.js +9 -0
- package/dist/modules/db/index.js.map +1 -0
- package/dist/modules/logger/index.d.ts +2 -0
- package/dist/modules/logger/index.d.ts.map +1 -0
- package/dist/modules/logger/index.js +2 -0
- package/dist/modules/logger/index.js.map +1 -0
- package/dist/modules/logger/logger.d.ts +26 -0
- package/dist/modules/logger/logger.d.ts.map +1 -0
- package/dist/modules/logger/logger.js +57 -0
- package/dist/modules/logger/logger.js.map +1 -0
- package/dist/modules/memory/index.d.ts +9 -0
- package/dist/modules/memory/index.d.ts.map +1 -0
- package/dist/modules/memory/index.js +9 -0
- package/dist/modules/memory/index.js.map +1 -0
- package/dist/modules/memory/memory.service.d.ts +191 -0
- package/dist/modules/memory/memory.service.d.ts.map +1 -0
- package/dist/modules/memory/memory.service.js +282 -0
- package/dist/modules/memory/memory.service.js.map +1 -0
- package/dist/modules/memory/memory.types.d.ts +13 -0
- package/dist/modules/memory/memory.types.d.ts.map +1 -0
- package/dist/modules/memory/memory.types.js +5 -0
- package/dist/modules/memory/memory.types.js.map +1 -0
- package/dist/modules/session/index.d.ts +9 -0
- package/dist/modules/session/index.d.ts.map +1 -0
- package/dist/modules/session/index.js +9 -0
- package/dist/modules/session/index.js.map +1 -0
- package/dist/modules/session/session.service.d.ts +252 -0
- package/dist/modules/session/session.service.d.ts.map +1 -0
- package/dist/modules/session/session.service.js +406 -0
- package/dist/modules/session/session.service.js.map +1 -0
- package/dist/modules/session/session.types.d.ts +34 -0
- package/dist/modules/session/session.types.d.ts.map +1 -0
- package/dist/modules/session/session.types.js +5 -0
- package/dist/modules/session/session.types.js.map +1 -0
- package/dist/modules/skill/index.d.ts +8 -0
- package/dist/modules/skill/index.d.ts.map +1 -0
- package/dist/modules/skill/index.js +7 -0
- package/dist/modules/skill/index.js.map +1 -0
- package/dist/modules/skill/skill.service.d.ts +72 -0
- package/dist/modules/skill/skill.service.d.ts.map +1 -0
- package/dist/modules/skill/skill.service.js +283 -0
- package/dist/modules/skill/skill.service.js.map +1 -0
- package/dist/modules/skill/skill.tool.d.ts +19 -0
- package/dist/modules/skill/skill.tool.d.ts.map +1 -0
- package/dist/modules/skill/skill.tool.js +92 -0
- package/dist/modules/skill/skill.tool.js.map +1 -0
- package/dist/modules/skill/skill.txt +18 -0
- package/dist/modules/skill/skill.types.d.ts +40 -0
- package/dist/modules/skill/skill.types.d.ts.map +1 -0
- package/dist/modules/skill/skill.types.js +6 -0
- package/dist/modules/skill/skill.types.js.map +1 -0
- package/dist/modules/skill/skills.manager.d.ts +30 -0
- package/dist/modules/skill/skills.manager.d.ts.map +1 -0
- package/dist/modules/skill/skills.manager.js +182 -0
- package/dist/modules/skill/skills.manager.js.map +1 -0
- package/dist/modules/tools/builtin/bash.d.ts +3 -0
- package/dist/modules/tools/builtin/bash.d.ts.map +1 -0
- package/dist/modules/tools/builtin/bash.js +124 -0
- package/dist/modules/tools/builtin/bash.js.map +1 -0
- package/dist/modules/tools/builtin/bash.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/bash.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/bash.tool.js +52 -0
- package/dist/modules/tools/builtin/bash.tool.js.map +1 -0
- package/dist/modules/tools/builtin/bash.txt +81 -0
- package/dist/modules/tools/builtin/code_search.d.ts +3 -0
- package/dist/modules/tools/builtin/code_search.d.ts.map +1 -0
- package/dist/modules/tools/builtin/code_search.js +85 -0
- package/dist/modules/tools/builtin/code_search.js.map +1 -0
- package/dist/modules/tools/builtin/code_search.txt +18 -0
- package/dist/modules/tools/builtin/edit-file.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/edit-file.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/edit-file.tool.js +58 -0
- package/dist/modules/tools/builtin/edit-file.tool.js.map +1 -0
- package/dist/modules/tools/builtin/edit_file.d.ts +3 -0
- package/dist/modules/tools/builtin/edit_file.d.ts.map +1 -0
- package/dist/modules/tools/builtin/edit_file.js +69 -0
- package/dist/modules/tools/builtin/edit_file.js.map +1 -0
- package/dist/modules/tools/builtin/edit_file.txt +10 -0
- package/dist/modules/tools/builtin/glob.d.ts +3 -0
- package/dist/modules/tools/builtin/glob.d.ts.map +1 -0
- package/dist/modules/tools/builtin/glob.js +84 -0
- package/dist/modules/tools/builtin/glob.js.map +1 -0
- package/dist/modules/tools/builtin/glob.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/glob.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/glob.tool.js +81 -0
- package/dist/modules/tools/builtin/glob.tool.js.map +1 -0
- package/dist/modules/tools/builtin/glob.txt +10 -0
- package/dist/modules/tools/builtin/grep.d.ts +3 -0
- package/dist/modules/tools/builtin/grep.d.ts.map +1 -0
- package/dist/modules/tools/builtin/grep.js +93 -0
- package/dist/modules/tools/builtin/grep.js.map +1 -0
- package/dist/modules/tools/builtin/grep.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/grep.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/grep.tool.js +96 -0
- package/dist/modules/tools/builtin/grep.tool.js.map +1 -0
- package/dist/modules/tools/builtin/grep.txt +12 -0
- package/dist/modules/tools/builtin/index.d.ts +8 -0
- package/dist/modules/tools/builtin/index.d.ts.map +1 -0
- package/dist/modules/tools/builtin/index.js +88 -0
- package/dist/modules/tools/builtin/index.js.map +1 -0
- package/dist/modules/tools/builtin/lsp.d.ts +7 -0
- package/dist/modules/tools/builtin/lsp.d.ts.map +1 -0
- package/dist/modules/tools/builtin/lsp.js +125 -0
- package/dist/modules/tools/builtin/lsp.js.map +1 -0
- package/dist/modules/tools/builtin/lsp.txt +19 -0
- package/dist/modules/tools/builtin/memory.d.ts +3 -0
- package/dist/modules/tools/builtin/memory.d.ts.map +1 -0
- package/dist/modules/tools/builtin/memory.js +76 -0
- package/dist/modules/tools/builtin/memory.js.map +1 -0
- package/dist/modules/tools/builtin/memory.txt +36 -0
- package/dist/modules/tools/builtin/read-file.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/read-file.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/read-file.tool.js +46 -0
- package/dist/modules/tools/builtin/read-file.tool.js.map +1 -0
- package/dist/modules/tools/builtin/read_file.d.ts +3 -0
- package/dist/modules/tools/builtin/read_file.d.ts.map +1 -0
- package/dist/modules/tools/builtin/read_file.js +99 -0
- package/dist/modules/tools/builtin/read_file.js.map +1 -0
- package/dist/modules/tools/builtin/read_file.txt +15 -0
- package/dist/modules/tools/builtin/todo_read.d.ts +6 -0
- package/dist/modules/tools/builtin/todo_read.d.ts.map +1 -0
- package/dist/modules/tools/builtin/todo_read.js +24 -0
- package/dist/modules/tools/builtin/todo_read.js.map +1 -0
- package/dist/modules/tools/builtin/todo_read.txt +14 -0
- package/dist/modules/tools/builtin/todo_write.d.ts +6 -0
- package/dist/modules/tools/builtin/todo_write.d.ts.map +1 -0
- package/dist/modules/tools/builtin/todo_write.js +45 -0
- package/dist/modules/tools/builtin/todo_write.js.map +1 -0
- package/dist/modules/tools/builtin/todo_write.txt +46 -0
- package/dist/modules/tools/builtin/web_fetch.d.ts +3 -0
- package/dist/modules/tools/builtin/web_fetch.d.ts.map +1 -0
- package/dist/modules/tools/builtin/web_fetch.js +51 -0
- package/dist/modules/tools/builtin/web_fetch.js.map +1 -0
- package/dist/modules/tools/builtin/web_fetch.txt +15 -0
- package/dist/modules/tools/builtin/web_search.d.ts +3 -0
- package/dist/modules/tools/builtin/web_search.d.ts.map +1 -0
- package/dist/modules/tools/builtin/web_search.js +99 -0
- package/dist/modules/tools/builtin/web_search.js.map +1 -0
- package/dist/modules/tools/builtin/web_search.txt +16 -0
- package/dist/modules/tools/builtin/write-file.tool.d.ts +6 -0
- package/dist/modules/tools/builtin/write-file.tool.d.ts.map +1 -0
- package/dist/modules/tools/builtin/write-file.tool.js +38 -0
- package/dist/modules/tools/builtin/write-file.tool.js.map +1 -0
- package/dist/modules/tools/builtin/write_file.d.ts +3 -0
- package/dist/modules/tools/builtin/write_file.d.ts.map +1 -0
- package/dist/modules/tools/builtin/write_file.js +46 -0
- package/dist/modules/tools/builtin/write_file.js.map +1 -0
- package/dist/modules/tools/builtin/write_file.txt +9 -0
- package/dist/modules/tools/index.d.ts +11 -0
- package/dist/modules/tools/index.d.ts.map +1 -0
- package/dist/modules/tools/index.js +10 -0
- package/dist/modules/tools/index.js.map +1 -0
- package/dist/modules/tools/tool.service.d.ts +207 -0
- package/dist/modules/tools/tool.service.d.ts.map +1 -0
- package/dist/modules/tools/tool.service.js +331 -0
- package/dist/modules/tools/tool.service.js.map +1 -0
- package/dist/modules/tools/tool.types.d.ts +39 -0
- package/dist/modules/tools/tool.types.d.ts.map +1 -0
- package/dist/modules/tools/tool.types.js +5 -0
- package/dist/modules/tools/tool.types.js.map +1 -0
- package/dist/web/index.d.ts +10 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +20 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/web.service.d.ts +95 -0
- package/dist/web/web.service.d.ts.map +1 -0
- package/dist/web/web.service.js +396 -0
- package/dist/web/web.service.js.map +1 -0
- package/package.json +57 -0
- package/web/dist/assets/Layout-Bb76CGAL.js +1 -0
- package/web/dist/assets/element-icons-B-tDfklg.woff +0 -0
- package/web/dist/assets/element-icons-_lZGOqcG.ttf +0 -0
- package/web/dist/assets/index-DQRR0ggU.js +199 -0
- package/web/dist/assets/index-KTH-myBB.css +1 -0
- package/web/dist/index.html +14 -0
- package/web/index.html +13 -0
- package/web/package.json +24 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 管理器
|
|
3
|
+
*/
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import * as fs from "fs";
|
|
6
|
+
import { execSync } from "child_process";
|
|
7
|
+
import { dbService } from "../modules/db/index.js";
|
|
8
|
+
import { getServer } from "./server.js";
|
|
9
|
+
import { LSPClient } from "./client.js";
|
|
10
|
+
import { LSPDownloader } from "./downloader.js";
|
|
11
|
+
import { LSPServerStatus } from "./types.js";
|
|
12
|
+
import { lspServerTable, insertLSPServerSQL, defaultLSPServers } from "./sql.js";
|
|
13
|
+
const TXCODE_BIN_DIR = path.join(process.env.HOME || process.env.USERPROFILE || ".", ".txcode", "bin");
|
|
14
|
+
export var LSPManager;
|
|
15
|
+
(function (LSPManager) {
|
|
16
|
+
const serverStates = new Map();
|
|
17
|
+
const configCache = new Map();
|
|
18
|
+
async function initDatabase() {
|
|
19
|
+
dbService.run(lspServerTable);
|
|
20
|
+
const now = Date.now();
|
|
21
|
+
for (const server of defaultLSPServers) {
|
|
22
|
+
dbService.run(insertLSPServerSQL, [server.id, server.enabled, server.auto_start, now, now]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
LSPManager.initDatabase = initDatabase;
|
|
26
|
+
async function loadConfig() {
|
|
27
|
+
const rows = dbService.all("SELECT id, enabled, auto_start FROM lsp_server");
|
|
28
|
+
configCache.clear();
|
|
29
|
+
for (const row of rows) {
|
|
30
|
+
configCache.set(row.id, {
|
|
31
|
+
enabled: row.enabled === 1,
|
|
32
|
+
autoStart: row.auto_start === 1,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return configCache;
|
|
36
|
+
}
|
|
37
|
+
LSPManager.loadConfig = loadConfig;
|
|
38
|
+
async function saveConfig(config) {
|
|
39
|
+
const now = Date.now();
|
|
40
|
+
for (const [id, cfg] of config.entries()) {
|
|
41
|
+
dbService.run("UPDATE lsp_server SET enabled = ?, auto_start = ?, updated_at = ? WHERE id = ?", [cfg.enabled ? 1 : 0, cfg.autoStart ? 1 : 0, now, id]);
|
|
42
|
+
}
|
|
43
|
+
configCache.clear();
|
|
44
|
+
for (const [id, cfg] of config.entries()) {
|
|
45
|
+
configCache.set(id, cfg);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
LSPManager.saveConfig = saveConfig;
|
|
49
|
+
async function updateServer(id, config) {
|
|
50
|
+
const current = configCache.get(id) || { enabled: false, autoStart: false };
|
|
51
|
+
const updated = { ...current, ...config };
|
|
52
|
+
const now = Date.now();
|
|
53
|
+
dbService.run("UPDATE lsp_server SET enabled = ?, auto_start = ?, updated_at = ? WHERE id = ?", [updated.enabled ? 1 : 0, updated.autoStart ? 1 : 0, now, id]);
|
|
54
|
+
configCache.set(id, updated);
|
|
55
|
+
if (!updated.enabled) {
|
|
56
|
+
await stopServer(id);
|
|
57
|
+
}
|
|
58
|
+
else if (updated.autoStart && updated.enabled) {
|
|
59
|
+
await startServer(id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
LSPManager.updateServer = updateServer;
|
|
63
|
+
async function checkServerExists(serverId) {
|
|
64
|
+
const server = getServer(serverId);
|
|
65
|
+
if (!server)
|
|
66
|
+
return false;
|
|
67
|
+
if (server.requiresSystemBinary)
|
|
68
|
+
return true;
|
|
69
|
+
const binaryPath = getBinaryPath(serverId);
|
|
70
|
+
return fs.existsSync(binaryPath);
|
|
71
|
+
}
|
|
72
|
+
LSPManager.checkServerExists = checkServerExists;
|
|
73
|
+
function getServerPath(serverId) {
|
|
74
|
+
return getBinaryPath(serverId);
|
|
75
|
+
}
|
|
76
|
+
LSPManager.getServerPath = getServerPath;
|
|
77
|
+
async function startServer(serverId) {
|
|
78
|
+
const server = getServer(serverId);
|
|
79
|
+
if (!server) {
|
|
80
|
+
updateServerStatus(serverId, LSPServerStatus.NotFound, "Server not found");
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const state = serverStates.get(serverId) || { client: null, status: LSPServerStatus.Stopped };
|
|
84
|
+
if (state.status === LSPServerStatus.Running) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
if (server.requiresJava) {
|
|
88
|
+
const javaCheck = await checkJavaVersion();
|
|
89
|
+
if (!javaCheck.valid) {
|
|
90
|
+
updateServerStatus(serverId, LSPServerStatus.VersionError, javaCheck.error, javaCheck.version);
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (server.requiresSystemBinary) {
|
|
95
|
+
const binaryPath = findSystemBinary(server.binaryName);
|
|
96
|
+
if (!binaryPath) {
|
|
97
|
+
updateServerStatus(serverId, LSPServerStatus.NotFound, `System binary not found: ${server.binaryName}`);
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const needsDl = await LSPDownloader.needsDownload(serverId);
|
|
103
|
+
if (needsDl) {
|
|
104
|
+
updateServerStatus(serverId, LSPServerStatus.Downloading);
|
|
105
|
+
const success = await LSPDownloader.download(serverId);
|
|
106
|
+
if (!success) {
|
|
107
|
+
updateServerStatus(serverId, LSPServerStatus.DownloadFailed, "Download failed");
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const client = new LSPClient(serverId);
|
|
113
|
+
const rootPath = process.cwd();
|
|
114
|
+
const binaryPath = getBinaryPath(serverId);
|
|
115
|
+
const ext = process.platform === "win32" ? ".exe" : "";
|
|
116
|
+
try {
|
|
117
|
+
const command = server.requiresSystemBinary
|
|
118
|
+
? findSystemBinary(server.binaryName) || server.binaryName
|
|
119
|
+
: binaryPath + ext;
|
|
120
|
+
const args = server.defaultArgs || (server.id === "java" ? ["-data", rootPath] : []);
|
|
121
|
+
const connected = await client.connect(server, rootPath, command, args);
|
|
122
|
+
if (connected) {
|
|
123
|
+
state.client = client;
|
|
124
|
+
updateServerStatus(serverId, LSPServerStatus.Running);
|
|
125
|
+
client.on("close", () => {
|
|
126
|
+
updateServerStatus(serverId, LSPServerStatus.Stopped);
|
|
127
|
+
});
|
|
128
|
+
client.on("error", (error) => {
|
|
129
|
+
updateServerStatus(serverId, LSPServerStatus.Stopped, String(error));
|
|
130
|
+
});
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
updateServerStatus(serverId, LSPServerStatus.NotFound, "Failed to connect");
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
updateServerStatus(serverId, LSPServerStatus.NotFound, String(error));
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
LSPManager.startServer = startServer;
|
|
144
|
+
async function stopServer(serverId) {
|
|
145
|
+
const state = serverStates.get(serverId);
|
|
146
|
+
if (state?.client) {
|
|
147
|
+
try {
|
|
148
|
+
await state.client.shutdown();
|
|
149
|
+
}
|
|
150
|
+
catch (e) {
|
|
151
|
+
// Ignore shutdown errors
|
|
152
|
+
}
|
|
153
|
+
state.client = null;
|
|
154
|
+
}
|
|
155
|
+
updateServerStatus(serverId, LSPServerStatus.Stopped);
|
|
156
|
+
}
|
|
157
|
+
LSPManager.stopServer = stopServer;
|
|
158
|
+
async function getServerStatus(serverId) {
|
|
159
|
+
const state = serverStates.get(serverId);
|
|
160
|
+
return {
|
|
161
|
+
status: state?.status || LSPServerStatus.Stopped,
|
|
162
|
+
error: state?.error,
|
|
163
|
+
version: state?.version,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
LSPManager.getServerStatus = getServerStatus;
|
|
167
|
+
async function initDefaultConfig() {
|
|
168
|
+
await loadConfig();
|
|
169
|
+
}
|
|
170
|
+
LSPManager.initDefaultConfig = initDefaultConfig;
|
|
171
|
+
async function checkJavaVersion() {
|
|
172
|
+
try {
|
|
173
|
+
const javaPath = which("java");
|
|
174
|
+
if (!javaPath) {
|
|
175
|
+
return {
|
|
176
|
+
valid: false,
|
|
177
|
+
error: "Java 未安装,请安装 Java 21 或更高版本",
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const output = execSync("java -version 2>&1").toString();
|
|
181
|
+
const match = output.match(/"(\d+)\.\d+\.\d+"/);
|
|
182
|
+
if (!match) {
|
|
183
|
+
return {
|
|
184
|
+
valid: false,
|
|
185
|
+
error: "无法解析 Java 版本",
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
const version = parseInt(match[1]);
|
|
189
|
+
if (version < 21) {
|
|
190
|
+
return {
|
|
191
|
+
valid: false,
|
|
192
|
+
version,
|
|
193
|
+
error: `Java 版本过低:${version},JDTLS 需要 Java 21 或更高版本`,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return { valid: true, version };
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
return {
|
|
200
|
+
valid: false,
|
|
201
|
+
error: `检查 Java 版本失败: ${error.message}`,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
LSPManager.checkJavaVersion = checkJavaVersion;
|
|
206
|
+
async function stopAll() {
|
|
207
|
+
for (const serverId of serverStates.keys()) {
|
|
208
|
+
await stopServer(serverId);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
LSPManager.stopAll = stopAll;
|
|
212
|
+
function updateServerStatus(serverId, status, error, version) {
|
|
213
|
+
const state = serverStates.get(serverId) || { client: null, status: LSPServerStatus.Stopped };
|
|
214
|
+
state.status = status;
|
|
215
|
+
state.error = error;
|
|
216
|
+
state.version = version;
|
|
217
|
+
serverStates.set(serverId, state);
|
|
218
|
+
}
|
|
219
|
+
function getBinaryPath(serverId) {
|
|
220
|
+
return path.join(TXCODE_BIN_DIR, serverId);
|
|
221
|
+
}
|
|
222
|
+
function which(binary) {
|
|
223
|
+
const PATH = process.env.PATH || process.env.Path || "";
|
|
224
|
+
const pathSeparator = process.platform === "win32" ? ";" : ":";
|
|
225
|
+
for (const dir of PATH.split(pathSeparator)) {
|
|
226
|
+
if (process.platform === "win32") {
|
|
227
|
+
const fullPathCmd = path.join(dir, binary + ".cmd");
|
|
228
|
+
if (fs.existsSync(fullPathCmd)) {
|
|
229
|
+
return fullPathCmd;
|
|
230
|
+
}
|
|
231
|
+
const fullPathBat = path.join(dir, binary + ".bat");
|
|
232
|
+
if (fs.existsSync(fullPathBat)) {
|
|
233
|
+
return fullPathBat;
|
|
234
|
+
}
|
|
235
|
+
const fullPathExe = path.join(dir, binary + ".exe");
|
|
236
|
+
if (fs.existsSync(fullPathExe)) {
|
|
237
|
+
return fullPathExe;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
const fullPath = path.join(dir, binary);
|
|
241
|
+
if (fs.existsSync(fullPath)) {
|
|
242
|
+
return fullPath;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
function findSystemBinary(binaryName) {
|
|
248
|
+
return which(binaryName);
|
|
249
|
+
}
|
|
250
|
+
})(LSPManager || (LSPManager = {}));
|
|
251
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/lsp/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 服务器定义
|
|
3
|
+
*
|
|
4
|
+
* 支持 30+ 语言服务器
|
|
5
|
+
*/
|
|
6
|
+
import { LSPServerInfo } from "./types.js";
|
|
7
|
+
export declare const servers: Record<string, LSPServerInfo>;
|
|
8
|
+
export declare function getServer(id: string): LSPServerInfo | undefined;
|
|
9
|
+
export declare function getAllServers(): LSPServerInfo[];
|
|
10
|
+
export declare function getServersByExtension(ext: string): LSPServerInfo[];
|
|
11
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA+RjD,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE/D;AAED,wBAAgB,aAAa,IAAI,aAAa,EAAE,CAE/C;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAIlE"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 服务器定义
|
|
3
|
+
*
|
|
4
|
+
* 支持 30+ 语言服务器
|
|
5
|
+
*/
|
|
6
|
+
export const servers = {
|
|
7
|
+
typescript: {
|
|
8
|
+
id: "typescript",
|
|
9
|
+
name: "TypeScript",
|
|
10
|
+
extensions: [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],
|
|
11
|
+
downloadType: "npm",
|
|
12
|
+
binaryName: "typescript-language-server",
|
|
13
|
+
rootMarkers: ["package.json", "tsconfig.json"],
|
|
14
|
+
requiresSystemBinary: true,
|
|
15
|
+
defaultArgs: ["--stdio"],
|
|
16
|
+
},
|
|
17
|
+
python: {
|
|
18
|
+
id: "python",
|
|
19
|
+
name: "Python",
|
|
20
|
+
extensions: [".py", ".pyi", ".pyw"],
|
|
21
|
+
downloadType: "npm",
|
|
22
|
+
binaryName: "pyright-langserver",
|
|
23
|
+
rootMarkers: ["pyproject.toml", "requirements.txt", "setup.py", "Pipfile"],
|
|
24
|
+
},
|
|
25
|
+
java: {
|
|
26
|
+
id: "java",
|
|
27
|
+
name: "Java",
|
|
28
|
+
extensions: [".java"],
|
|
29
|
+
downloadUrl: "https://www.eclipse.org/downloads/download.php?file=/jdtls/snapshots/jdt-language-server-latest.tar.gz",
|
|
30
|
+
downloadType: "github",
|
|
31
|
+
binaryName: "jdtls",
|
|
32
|
+
rootMarkers: ["pom.xml", "build.gradle", "build.gradle.kts", ".project"],
|
|
33
|
+
requiresJava: true,
|
|
34
|
+
minJavaVersion: 21,
|
|
35
|
+
},
|
|
36
|
+
cpp: {
|
|
37
|
+
id: "cpp",
|
|
38
|
+
name: "C++",
|
|
39
|
+
extensions: [".c", ".cpp", ".cc", ".cxx", ".h", ".hpp", ".hh", ".hxx"],
|
|
40
|
+
downloadUrl: "https://github.com/clangd/clangd/releases/latest",
|
|
41
|
+
downloadType: "github",
|
|
42
|
+
binaryName: "clangd",
|
|
43
|
+
rootMarkers: ["compile_commands.json", "CMakeLists.txt", ".clangd"],
|
|
44
|
+
},
|
|
45
|
+
rust: {
|
|
46
|
+
id: "rust",
|
|
47
|
+
name: "Rust",
|
|
48
|
+
extensions: [".rs"],
|
|
49
|
+
binaryName: "rust-analyzer",
|
|
50
|
+
rootMarkers: ["Cargo.toml", "Cargo.lock"],
|
|
51
|
+
requiresSystemBinary: true,
|
|
52
|
+
},
|
|
53
|
+
go: {
|
|
54
|
+
id: "go",
|
|
55
|
+
name: "Go",
|
|
56
|
+
extensions: [".go"],
|
|
57
|
+
downloadType: "go",
|
|
58
|
+
binaryName: "gopls",
|
|
59
|
+
rootMarkers: ["go.mod", "go.sum"],
|
|
60
|
+
},
|
|
61
|
+
html: {
|
|
62
|
+
id: "html",
|
|
63
|
+
name: "HTML",
|
|
64
|
+
extensions: [".html", ".htm"],
|
|
65
|
+
downloadType: "npm",
|
|
66
|
+
binaryName: "vscode-html-languageserver",
|
|
67
|
+
rootMarkers: ["package.json"],
|
|
68
|
+
},
|
|
69
|
+
css: {
|
|
70
|
+
id: "css",
|
|
71
|
+
name: "CSS",
|
|
72
|
+
extensions: [".css", ".scss", ".sass", ".less"],
|
|
73
|
+
downloadType: "npm",
|
|
74
|
+
binaryName: "vscode-css-languageserver",
|
|
75
|
+
rootMarkers: ["package.json"],
|
|
76
|
+
},
|
|
77
|
+
json: {
|
|
78
|
+
id: "json",
|
|
79
|
+
name: "JSON",
|
|
80
|
+
extensions: [".json", ".jsonc", ".arcconfig"],
|
|
81
|
+
downloadType: "npm",
|
|
82
|
+
binaryName: "vscode-json-languageserver",
|
|
83
|
+
rootMarkers: ["package.json"],
|
|
84
|
+
},
|
|
85
|
+
yaml: {
|
|
86
|
+
id: "yaml",
|
|
87
|
+
name: "YAML",
|
|
88
|
+
extensions: [".yaml", ".yml"],
|
|
89
|
+
downloadType: "npm",
|
|
90
|
+
binaryName: "yaml-language-server",
|
|
91
|
+
rootMarkers: ["package.json"],
|
|
92
|
+
},
|
|
93
|
+
markdown: {
|
|
94
|
+
id: "markdown",
|
|
95
|
+
name: "Markdown",
|
|
96
|
+
extensions: [".md", ".markdown", ".mdown", ".mkd"],
|
|
97
|
+
downloadType: "npm",
|
|
98
|
+
binaryName: "remark-language-server",
|
|
99
|
+
rootMarkers: ["package.json"],
|
|
100
|
+
},
|
|
101
|
+
php: {
|
|
102
|
+
id: "php",
|
|
103
|
+
name: "PHP",
|
|
104
|
+
extensions: [".php", ".phtml"],
|
|
105
|
+
downloadUrl: "https://github.com/felixfbecker/php-language-server/releases/latest",
|
|
106
|
+
downloadType: "github",
|
|
107
|
+
binaryName: "php-language-server",
|
|
108
|
+
rootMarkers: ["composer.json"],
|
|
109
|
+
},
|
|
110
|
+
ruby: {
|
|
111
|
+
id: "ruby",
|
|
112
|
+
name: "Ruby",
|
|
113
|
+
extensions: [".rb", ".rake", ".gemspec", ".ru"],
|
|
114
|
+
downloadType: "gem",
|
|
115
|
+
binaryName: "solargraph",
|
|
116
|
+
rootMarkers: ["Gemfile", ".ruby-version"],
|
|
117
|
+
},
|
|
118
|
+
csharp: {
|
|
119
|
+
id: "csharp",
|
|
120
|
+
name: "C#",
|
|
121
|
+
extensions: [".cs", ".csx"],
|
|
122
|
+
downloadType: "dotnet",
|
|
123
|
+
binaryName: "OmniSharp",
|
|
124
|
+
rootMarkers: ["*.sln", "*.csproj"],
|
|
125
|
+
},
|
|
126
|
+
vb: {
|
|
127
|
+
id: "vb",
|
|
128
|
+
name: "Visual Basic",
|
|
129
|
+
extensions: [".vb", ".vbs"],
|
|
130
|
+
downloadType: "dotnet",
|
|
131
|
+
binaryName: "OmniSharp",
|
|
132
|
+
rootMarkers: ["*.sln", "*.vbproj"],
|
|
133
|
+
},
|
|
134
|
+
lua: {
|
|
135
|
+
id: "lua",
|
|
136
|
+
name: "Lua",
|
|
137
|
+
extensions: [".lua"],
|
|
138
|
+
downloadType: "npm",
|
|
139
|
+
binaryName: "lua-language-server",
|
|
140
|
+
rootMarkers: [".lua-version"],
|
|
141
|
+
},
|
|
142
|
+
swift: {
|
|
143
|
+
id: "swift",
|
|
144
|
+
name: "Swift",
|
|
145
|
+
extensions: [".swift"],
|
|
146
|
+
downloadUrl: "https://github.com/sourcekit-lsp/sourcekit-lsp/releases/latest",
|
|
147
|
+
downloadType: "github",
|
|
148
|
+
binaryName: "sourcekit-lsp",
|
|
149
|
+
rootMarkers: ["Package.swift"],
|
|
150
|
+
},
|
|
151
|
+
kotlin: {
|
|
152
|
+
id: "kotlin",
|
|
153
|
+
name: "Kotlin",
|
|
154
|
+
extensions: [".kt", ".kts"],
|
|
155
|
+
downloadUrl: "https://github.com/fwcd/kotlin-language-server/releases/latest",
|
|
156
|
+
downloadType: "github",
|
|
157
|
+
binaryName: "kotlin-language-server",
|
|
158
|
+
rootMarkers: ["build.gradle.kts", "settings.gradle.kts"],
|
|
159
|
+
},
|
|
160
|
+
scala: {
|
|
161
|
+
id: "scala",
|
|
162
|
+
name: "Scala",
|
|
163
|
+
extensions: [".scala", ".sc"],
|
|
164
|
+
downloadUrl: "https://github.com/scalameta/metals/releases/latest",
|
|
165
|
+
downloadType: "github",
|
|
166
|
+
binaryName: "metals",
|
|
167
|
+
rootMarkers: ["build.sbt", "build.sc"],
|
|
168
|
+
},
|
|
169
|
+
haskell: {
|
|
170
|
+
id: "haskell",
|
|
171
|
+
name: "Haskell",
|
|
172
|
+
extensions: [".hs", ".lhs", ".hsig"],
|
|
173
|
+
downloadType: "npm",
|
|
174
|
+
binaryName: "haskell-language-server",
|
|
175
|
+
rootMarkers: ["*.cabal", "stack.yaml", "package.yaml"],
|
|
176
|
+
},
|
|
177
|
+
elixir: {
|
|
178
|
+
id: "elixir",
|
|
179
|
+
name: "Elixir",
|
|
180
|
+
extensions: [".ex", ".exs"],
|
|
181
|
+
downloadType: "npm",
|
|
182
|
+
binaryName: "elixir-ls",
|
|
183
|
+
rootMarkers: ["mix.exs", "mix.lock"],
|
|
184
|
+
},
|
|
185
|
+
erlang: {
|
|
186
|
+
id: "erlang",
|
|
187
|
+
name: "Erlang",
|
|
188
|
+
extensions: [".erl", ".hrl"],
|
|
189
|
+
downloadUrl: "https://github.com/erlang-ls/erlang_ls/releases/latest",
|
|
190
|
+
downloadType: "github",
|
|
191
|
+
binaryName: "erlang_ls",
|
|
192
|
+
rootMarkers: ["rebar.config", "erlang.mk"],
|
|
193
|
+
},
|
|
194
|
+
ocaml: {
|
|
195
|
+
id: "ocaml",
|
|
196
|
+
name: "OCaml",
|
|
197
|
+
extensions: [".ml", ".mli", ".mll", ".mly"],
|
|
198
|
+
downloadUrl: "https://github.com/ocaml/ocaml-lsp/releases/latest",
|
|
199
|
+
downloadType: "github",
|
|
200
|
+
binaryName: "ocamllsp",
|
|
201
|
+
rootMarkers: ["*.opam", "dune-project"],
|
|
202
|
+
},
|
|
203
|
+
vue: {
|
|
204
|
+
id: "vue",
|
|
205
|
+
name: "Vue",
|
|
206
|
+
extensions: [".vue"],
|
|
207
|
+
downloadType: "npm",
|
|
208
|
+
binaryName: "vue-language-server",
|
|
209
|
+
rootMarkers: ["package.json"],
|
|
210
|
+
},
|
|
211
|
+
svelte: {
|
|
212
|
+
id: "svelte",
|
|
213
|
+
name: "Svelte",
|
|
214
|
+
extensions: [".svelte"],
|
|
215
|
+
downloadType: "npm",
|
|
216
|
+
binaryName: "svelte-language-server",
|
|
217
|
+
rootMarkers: ["package.json"],
|
|
218
|
+
},
|
|
219
|
+
angular: {
|
|
220
|
+
id: "angular",
|
|
221
|
+
name: "Angular",
|
|
222
|
+
extensions: [".ts", ".html"],
|
|
223
|
+
downloadType: "npm",
|
|
224
|
+
binaryName: "@angular/language-server",
|
|
225
|
+
rootMarkers: ["angular.json"],
|
|
226
|
+
},
|
|
227
|
+
powershell: {
|
|
228
|
+
id: "powershell",
|
|
229
|
+
name: "PowerShell",
|
|
230
|
+
extensions: [".ps1", ".psm1", ".psd1", ".ps1xml"],
|
|
231
|
+
downloadType: "npm",
|
|
232
|
+
binaryName: "powershell-language-server",
|
|
233
|
+
rootMarkers: ["*.psd1"],
|
|
234
|
+
},
|
|
235
|
+
dockerfile: {
|
|
236
|
+
id: "dockerfile",
|
|
237
|
+
name: "Dockerfile",
|
|
238
|
+
extensions: ["Dockerfile", ".dockerfile"],
|
|
239
|
+
downloadType: "npm",
|
|
240
|
+
binaryName: "dockerfile-language-server",
|
|
241
|
+
rootMarkers: ["Dockerfile", ".dockerignore"],
|
|
242
|
+
},
|
|
243
|
+
terraform: {
|
|
244
|
+
id: "terraform",
|
|
245
|
+
name: "Terraform",
|
|
246
|
+
extensions: [".tf", ".tfvars", ".hcl"],
|
|
247
|
+
downloadType: "npm",
|
|
248
|
+
binaryName: "terraform-ls",
|
|
249
|
+
rootMarkers: ["*.tf", ".terraform"],
|
|
250
|
+
},
|
|
251
|
+
graphql: {
|
|
252
|
+
id: "graphql",
|
|
253
|
+
name: "GraphQL",
|
|
254
|
+
extensions: [".graphql", ".gql"],
|
|
255
|
+
downloadType: "npm",
|
|
256
|
+
binaryName: "graphql-language-service-cli",
|
|
257
|
+
rootMarkers: ["graphql.config.js", ".graphqlrc*"],
|
|
258
|
+
},
|
|
259
|
+
vim: {
|
|
260
|
+
id: "vim",
|
|
261
|
+
name: "Vim",
|
|
262
|
+
extensions: [".vim", ".nvim"],
|
|
263
|
+
downloadType: "npm",
|
|
264
|
+
binaryName: "vim-language-server",
|
|
265
|
+
rootMarkers: [],
|
|
266
|
+
},
|
|
267
|
+
latex: {
|
|
268
|
+
id: "latex",
|
|
269
|
+
name: "LaTeX",
|
|
270
|
+
extensions: [".tex", ".bib", ".cls", ".sty"],
|
|
271
|
+
downloadType: "npm",
|
|
272
|
+
binaryName: "texlab",
|
|
273
|
+
rootMarkers: ["*.tex"],
|
|
274
|
+
},
|
|
275
|
+
julia: {
|
|
276
|
+
id: "julia",
|
|
277
|
+
name: "Julia",
|
|
278
|
+
extensions: [".jl"],
|
|
279
|
+
downloadUrl: "https://github.com/julia-vscode/LanguageServer.jl/releases/latest",
|
|
280
|
+
downloadType: "github",
|
|
281
|
+
binaryName: "julia-language-server",
|
|
282
|
+
rootMarkers: ["Project.toml"],
|
|
283
|
+
},
|
|
284
|
+
r: {
|
|
285
|
+
id: "r",
|
|
286
|
+
name: "R",
|
|
287
|
+
extensions: [".r", ".R", ".rda", ".rds"],
|
|
288
|
+
downloadType: "npm",
|
|
289
|
+
binaryName: "r-languageserver",
|
|
290
|
+
rootMarkers: [".Rprofile"],
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
export function getServer(id) {
|
|
294
|
+
return servers[id];
|
|
295
|
+
}
|
|
296
|
+
export function getAllServers() {
|
|
297
|
+
return Object.values(servers);
|
|
298
|
+
}
|
|
299
|
+
export function getServersByExtension(ext) {
|
|
300
|
+
return Object.values(servers).filter((s) => s.extensions.includes(ext));
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lsp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 数据库 Schema
|
|
3
|
+
*/
|
|
4
|
+
export declare const lspServerTable = "\nCREATE TABLE IF NOT EXISTS lsp_server (\n id TEXT PRIMARY KEY,\n enabled INTEGER NOT NULL DEFAULT 0,\n auto_start INTEGER NOT NULL DEFAULT 1,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n)\n";
|
|
5
|
+
export declare const defaultLSPServers: {
|
|
6
|
+
id: string;
|
|
7
|
+
enabled: number;
|
|
8
|
+
auto_start: number;
|
|
9
|
+
}[];
|
|
10
|
+
export declare const insertLSPServerSQL = "\nINSERT OR IGNORE INTO lsp_server (id, enabled, auto_start, created_at, updated_at)\nVALUES (?, ?, ?, ?, ?)\n";
|
|
11
|
+
//# sourceMappingURL=sql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lsp/sql.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc,2NAQ1B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;GAK7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,mHAG9B,CAAC"}
|
package/dist/lsp/sql.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 数据库 Schema
|
|
3
|
+
*/
|
|
4
|
+
export const lspServerTable = `
|
|
5
|
+
CREATE TABLE IF NOT EXISTS lsp_server (
|
|
6
|
+
id TEXT PRIMARY KEY,
|
|
7
|
+
enabled INTEGER NOT NULL DEFAULT 0,
|
|
8
|
+
auto_start INTEGER NOT NULL DEFAULT 1,
|
|
9
|
+
created_at INTEGER NOT NULL,
|
|
10
|
+
updated_at INTEGER NOT NULL
|
|
11
|
+
)
|
|
12
|
+
`;
|
|
13
|
+
export const defaultLSPServers = [
|
|
14
|
+
{ id: "typescript", enabled: 1, auto_start: 1 },
|
|
15
|
+
{ id: "python", enabled: 1, auto_start: 1 },
|
|
16
|
+
{ id: "java", enabled: 1, auto_start: 1 },
|
|
17
|
+
{ id: "cpp", enabled: 0, auto_start: 0 },
|
|
18
|
+
];
|
|
19
|
+
export const insertLSPServerSQL = `
|
|
20
|
+
INSERT OR IGNORE INTO lsp_server (id, enabled, auto_start, created_at, updated_at)
|
|
21
|
+
VALUES (?, ?, ?, ?, ?)
|
|
22
|
+
`;
|
|
23
|
+
//# sourceMappingURL=sql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/lsp/sql.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;CAQ7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IAC/C,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IAC3C,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;IACzC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;CAGjC,CAAC"}
|