From f0a8c49074031308fa89d59e7635f2fe179633d0 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Mon, 5 May 2025 19:55:44 +0800 Subject: [PATCH] =?UTF-8?q?nvim:=20=E6=B7=BB=E5=8A=A0=E6=89=80=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E7=A8=8B=E5=BC=8F=E8=AA=9E=E8=A8=80=EF=BC=8C?= =?UTF-8?q?=E4=B8=A6=E6=8A=8A=E5=AE=98=E6=96=B9=E8=A8=AD=E5=AE=9A=E7=AF=84?= =?UTF-8?q?=E4=BE=8B=E6=8A=84=E9=81=8E=E4=BE=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exact_lua/lsp/exact_config/lspconfig.lua | 12 ++++++------ .../exact_lua/lsp/exact_servers/cssls.lua | 19 +++++++++++++++++++ .../nvim/exact_lua/lsp/exact_servers/html.lua | 14 ++++++++++++++ .../exact_lua/lsp/exact_servers/phpactor.lua | 7 +++++-- .../exact_lua/lsp/exact_servers/pyright.lua | 14 ++++++++++++++ 5 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 dot_config/nvim/exact_lua/lsp/exact_servers/cssls.lua create mode 100644 dot_config/nvim/exact_lua/lsp/exact_servers/html.lua create mode 100644 dot_config/nvim/exact_lua/lsp/exact_servers/pyright.lua diff --git a/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua b/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua index 88dcaff..b4b263e 100644 --- a/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua +++ b/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua @@ -10,12 +10,12 @@ local on_attach = function(_, bufnr) end local servers = { - "phpactor", - "pyright", - "gopls", - "html", - "cssls", - -- "tsserver", -- TODO: tsserver is deprecated, use ts_ls instead. + "phpactor", -- PHP + "pyright", -- Python + "gopls", -- Go + "html", -- HTML + "cssls", -- CSS + -- "ts_ls", -- TypeScript,目前暫時不需要,先註解掉 } -- 載入所有的對應的 LSP server 設定 diff --git a/dot_config/nvim/exact_lua/lsp/exact_servers/cssls.lua b/dot_config/nvim/exact_lua/lsp/exact_servers/cssls.lua new file mode 100644 index 0000000..8486a16 --- /dev/null +++ b/dot_config/nvim/exact_lua/lsp/exact_servers/cssls.lua @@ -0,0 +1,19 @@ +return { + cmd = { "vscode-css-language-server", "--stdio" }, + filetypes = { "css", "scss", "less" }, + init_options = { + provideFormatter = true + }, + root_markers = { "package.json", ".git" }, + settings = { + css = { + validate = true + }, + less = { + validate = true + }, + scss = { + validate = true + } + }, +} diff --git a/dot_config/nvim/exact_lua/lsp/exact_servers/html.lua b/dot_config/nvim/exact_lua/lsp/exact_servers/html.lua new file mode 100644 index 0000000..c83eea3 --- /dev/null +++ b/dot_config/nvim/exact_lua/lsp/exact_servers/html.lua @@ -0,0 +1,14 @@ +return { + cmd = { "vscode-html-language-server", "--stdio" }, + filetypes = { "html", "templ" }, + init_options = { + configurationSection = { "html", "css", "javascript" }, + embeddedLanguages = { + css = true, + javascript = true + }, + provideFormatter = true + }, + root_markers = { "package.json", ".git" }, + settings = {}, +} diff --git a/dot_config/nvim/exact_lua/lsp/exact_servers/phpactor.lua b/dot_config/nvim/exact_lua/lsp/exact_servers/phpactor.lua index c015f5f..192e36f 100644 --- a/dot_config/nvim/exact_lua/lsp/exact_servers/phpactor.lua +++ b/dot_config/nvim/exact_lua/lsp/exact_servers/phpactor.lua @@ -1,10 +1,13 @@ return { + cmd = { "phpactor", "language-server" }, + filetypes = { "php" }, init_options = { ["language_server_phpstan.enabled"] = true, ["language_server_psalm.enabled"] = false, - } + }, + -- 可選:如有額外設定 -- settings = { - -- -- 自訂 PHPactor 設定(如果有的話) + -- -- 這裡可以填寫 phpactor 的其他設定 -- }, } diff --git a/dot_config/nvim/exact_lua/lsp/exact_servers/pyright.lua b/dot_config/nvim/exact_lua/lsp/exact_servers/pyright.lua new file mode 100644 index 0000000..85ae946 --- /dev/null +++ b/dot_config/nvim/exact_lua/lsp/exact_servers/pyright.lua @@ -0,0 +1,14 @@ +return { + cmd = { "pyright-langserver", "--stdio" }, + filetypes = { "python" }, + root_markers = { "pyproject.toml", "setup.py", "setup.cfg", "requirements.txt", "Pipfile", "pyrightconfig.json", ".git" }, + settings = { + python = { + analysis = { + autoSearchPaths = true, + diagnosticMode = "openFilesOnly", + useLibraryCodeForTypes = true, + }, + }, + }, +}