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, + }, + }, + }, +}