From 52dc3f82db6c03b3a011b9f8aa69f312d69fd70d Mon Sep 17 00:00:00 2001 From: MasterGordon Date: Wed, 19 Jun 2024 09:19:12 +0200 Subject: [PATCH] improved tslsp, added zigtest, added swift support --- lazy-lock.json | 4 +++- lua/keys.lua | 12 +++++++--- lua/plugins.lua | 17 ++++++++++---- lua/plugins/formatter.lua | 10 +++++++- lua/plugins/lsp.lua | 49 +++++++++++++++++++++++++-------------- lua/plugins/neotest.lua | 3 ++- setup.sh | 3 ++- 7 files changed, 70 insertions(+), 28 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 0b8bfc4..63a0a8b 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -8,7 +8,6 @@ "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "copilot.vim": { "branch": "release", "commit": "9484e35cf222e9360e05450622a884f95c662c4c" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, "editorconfig-vim": { "branch": "master", "commit": "0956bc257ca4eaa3e087e0ba2253a3e980805820" }, "fidget.nvim": { "branch": "main", "commit": "ebb8e44d6c37337e3b4f9bce31842573fa96bf8d" }, @@ -25,6 +24,7 @@ "neo-tree.nvim": { "branch": "main", "commit": "403a9c5014624dc517b850a360f345340139307c" }, "neotest": { "branch": "master", "commit": "8026caa9f9afd092a517b3a8ffeb2876cef937b1" }, "neotest-jest": { "branch": "main", "commit": "959d45b133de938c79e3f064db188680eaf69055" }, + "neotest-zig": { "branch": "main", "commit": "3b94c749e26e2c02e5f07aaea6149a7e417db1e7" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "nvim-autopairs": { "branch": "master", "commit": "c6139ca0d5ad7af129ea6c89cb4c56093f2c034a" }, @@ -37,6 +37,7 @@ "nvim-treesitter": { "branch": "master", "commit": "2014f8285e306f4c8a896c7d3af53fdd599e5a4f" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, + "nvim-vtsls": { "branch": "main", "commit": "4cd2a08da1e83c28fba8908ee4a295b3a130b506" }, "nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" }, "nvim-window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" }, "omnisharp-vim": { "branch": "master", "commit": "f9c5d3e3375e8b5688a4506e813cb21bdc7329b1" }, @@ -49,6 +50,7 @@ "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "statuscol.nvim": { "branch": "main", "commit": "d954893262a57a92e46edd87de67e2b3fe72305e" }, + "supermaven-nvim": { "branch": "main", "commit": "0cf61116f9538432b2056d3cb1905b0ce2bef650" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "master", "commit": "c816406bd50ade6ec754474f08974154487d417c" }, "template-string.nvim": { "branch": "main", "commit": "419bfb2e4d5f0e6ddd0d4435f85b69da0d88d524" }, diff --git a/lua/keys.lua b/lua/keys.lua index 022180e..020f7ea 100644 --- a/lua/keys.lua +++ b/lua/keys.lua @@ -1,16 +1,22 @@ -vim.api.nvim_set_keymap("n", "ff", "lua require('telescope.builtin').find_files()", {silent = true}) +vim.api.nvim_set_keymap( + "n", + "ff", + "lua require('telescope.builtin').find_files({hidden = true})", + {silent = true} +) vim.api.nvim_set_keymap( "n", "fF", - "lua require('telescope.builtin').find_files({no_ignore=true, no_ignore_parent = true})", + "lua require('telescope.builtin').find_files({no_ignore=true, no_ignore_parent = true, hidden = true})", {silent = true} ) vim.api.nvim_set_keymap("n", "fg", "lua require('telescope.builtin').live_grep()", {silent = true}) -- vim.api.nvim_set_keymap("n", "fb", "lua require('telescope.builtin').buffers()", {silent = true}) vim.api.nvim_set_keymap("n", "fh", "lua require('telescope.builtin').help_tags()", {silent = true}) -vim.api.nvim_set_keymap("n", "fb", "lua require('telescope.builtin').git_branches()", {silent = true}) +vim.api.nvim_set_keymap("n", "fB", "lua require('telescope.builtin').git_branches()", {silent = true}) vim.api.nvim_set_keymap("n", "ft", "TodoTelescope", {silent = true}) vim.api.nvim_set_keymap("n", "fj", "Telescope jsonfly", {silent = true}) +vim.api.nvim_set_keymap("n", "fb", "Telescope buffers", {silent = true}) vim.api.nvim_set_keymap("n", "gr", "lua require('telescope.builtin').lsp_references()", {silent = true}) vim.api.nvim_set_keymap("n", "gd", "lua require('telescope.builtin').lsp_definitions()", {silent = true}) local opts = {noremap = true, silent = true} diff --git a/lua/plugins.lua b/lua/plugins.lua index a9de6e5..aa56fa6 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -21,6 +21,7 @@ require("lazy").setup( "wbthomason/packer.nvim", { "MasterGordon/monokai.nvim", + -- dir = "$HOME/git/monokai.nvim", config = function() require("monokai").setup() end @@ -76,7 +77,8 @@ require("lazy").setup( "ray-x/lsp_signature.nvim", "jose-elias-alvarez/typescript.nvim", "hood/popui.nvim", - "OmniSharp/omnisharp-vim" + "OmniSharp/omnisharp-vim", + "yioneko/nvim-vtsls" } }, { @@ -157,10 +159,16 @@ require("lazy").setup( end }, "aklt/plantuml-syntax", + -- { + -- "github/copilot.vim", + -- config = function() + -- require("plugins/copilot") + -- end + -- }, { - "github/copilot.vim", + "supermaven-inc/supermaven-nvim", config = function() - require("plugins/copilot") + require("supermaven-nvim").setup({}) end }, { @@ -193,8 +201,9 @@ require("lazy").setup( config = function() require("plugins/neotest") end, - event = {"BufRead *.test.*,*.spec.*,*Test.*"}, + event = {"BufRead *.test.*,*.spec.*,*Test.*,*.zig"}, dependencies = { + "lawrence-laz/neotest-zig", "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", "antoinemadec/FixCursorHold.nvim", diff --git a/lua/plugins/formatter.lua b/lua/plugins/formatter.lua index cbe4370..d00b550 100644 --- a/lua/plugins/formatter.lua +++ b/lua/plugins/formatter.lua @@ -55,6 +55,14 @@ require("formatter").setup( stdin = false } end + }, + swift = { + function() + return { + exe = "swift-format", + stdin = true + } + end } -- cs = { -- function() @@ -73,7 +81,7 @@ vim.api.nvim_exec( [[ augroup FormatAutogroup autocmd! - autocmd BufWritePost *.h,*.cpp,*.rs,*.lua,*.tsx,*.ts,*.js,*.jsx,*.json,*.jsonc FormatWrite + autocmd BufWritePost *.h,*.cpp,*.rs,*.lua,*.tsx,*.ts,*.js,*.jsx,*.json,*.jsonc,*.swift FormatWrite augroup END ]], true diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index a0e1bd6..f738b05 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -24,8 +24,8 @@ require("null-ls").setup( diagnostic.severity = vim.diagnostic.severity["WARN"] end } - ), - require("typescript.extensions.null-ls.code-actions") + ) + -- require("typescript.extensions.null-ls.code-actions") } } ) @@ -79,6 +79,7 @@ vim.api.nvim_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.bu vim.api.nvim_set_keymap("n", "", "lua vim.lsp.buf.rename()", opts) -- vim.api.nvim_set_keymap("n", "a", "CodeActionMenu", opts) vim.keymap.set("n", "a", codeAction, opts) +vim.keymap.set("v", "a", codeAction, opts) vim.api.nvim_set_keymap("n", "d", "lua vim.diagnostic.open_float()", opts) vim.api.nvim_set_keymap("n", "[d", "lua vim.diagnostic.goto_prev()", opts) vim.api.nvim_set_keymap("n", "]d", "lua vim.diagnostic.goto_next()", opts) @@ -121,20 +122,21 @@ require "lspconfig".jsonls.setup { -- capabilities = capabilities -- } -require("typescript").setup( - { - disable_commands = false, -- prevent the plugin from creating Vim commands - debug = false, -- enable debug logging for commands - go_to_source_definition = { - fallback = true -- fall back to standard LSP definition on failure - }, - server = { - -- pass options to lspconfig's setup method - on_attach = on_attach, - capabilities = capabilities - } - } -) +require("lspconfig.configs").vtsls = require("vtsls").lspconfig +-- require("typescript").setup( +-- { +-- disable_commands = false, -- prevent the plugin from creating Vim commands +-- debug = false, -- enable debug logging for commands +-- go_to_source_definition = { +-- fallback = true -- fall back to standard LSP definition on failure +-- }, +-- server = { +-- -- pass options to lspconfig's setup method +-- on_attach = on_attach, +-- capabilities = capabilities +-- } +-- } +-- ) require "lspconfig".eslint.setup { on_attach = on_attach, @@ -162,7 +164,20 @@ require "lspconfig".eslint.setup { on_attach = on_attach, cmd = {"java-language-server"} } ]] -local servers = {"pyright", "bashls", "clangd", "cssls", "texlab", "prismals", "solidity", "zls", "gleam", "intelephense"} +local servers = { + "pyright", + "bashls", + "clangd", + "cssls", + "texlab", + "prismals", + "solidity", + "zls", + "gleam", + "intelephense", + "sourcekit", + "vtsls" +} for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach, diff --git a/lua/plugins/neotest.lua b/lua/plugins/neotest.lua index 333cb15..0472386 100644 --- a/lua/plugins/neotest.lua +++ b/lua/plugins/neotest.lua @@ -5,7 +5,8 @@ require("neotest").setup( { jestCommand = "npx jest" } - ) + ), + require("neotest-zig") }, icons = { passed = "🌈", diff --git a/setup.sh b/setup.sh index 26b1c0d..382d559 100755 --- a/setup.sh +++ b/setup.sh @@ -15,7 +15,8 @@ bash-language-server@latest \ cspell@latest \ @cspell/dict-de-de@latest \ tsx@latest \ -intelephense +intelephense \ +@vtsls/language-server cspell link add @cspell/dict-de-de dotnet tool install --global csharp-ls