diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-03 10:36:10 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-14 23:40:14 +0100 |
| commit | 79f1a457511017c9ad68e4b0aa206f58b6b3a47f (patch) | |
| tree | b6d057a49ff0933be685731f7ea3e51aad46d26e /config | |
| parent | f1478b23dc185f8fe091c61044eefe3aacbe6ff2 (diff) | |
Add wmap syntax parser. Add swift LSP rules. Improve tranquil light
colors in neovim.
Diffstat (limited to 'config')
| -rw-r--r-- | config/nvim/colors/tranquil-light.vim | 4 | ||||
| -rw-r--r-- | config/nvim/lazy-lock.json | 3 | ||||
| -rw-r--r-- | config/nvim/lua/lsp.lua | 47 | ||||
| -rw-r--r-- | config/nvim/lua/plugins.lua | 1 | ||||
| -rw-r--r-- | config/nvim/lua/treesitter_config.lua | 1 |
5 files changed, 54 insertions, 2 deletions
diff --git a/config/nvim/colors/tranquil-light.vim b/config/nvim/colors/tranquil-light.vim index 449ea74..b05ec40 100644 --- a/config/nvim/colors/tranquil-light.vim +++ b/config/nvim/colors/tranquil-light.vim @@ -157,7 +157,9 @@ hi DiagnosticHint guifg=#0F261F guibg=#FFB4F0 hi DiagnosticUnderlineError guifg=#0F261F guisp=#FA2B00 gui=undercurl,italic cterm=undercurl,italic " Documentation -hi @comment.documentation guibg=#FAED8F +hi @comment.documentation guibg=#FAED12 +hi link @lsp.mod.documentation.rust @comment.documentation +hi link @lsp.mod.documentation.swift @comment.documentation " FZF hi @fzf.hlplus guifg=#FFFFFF diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 7d2145d..f474544 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -3,6 +3,7 @@ "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "fzf-lua": { "branch": "main", "commit": "ed140c90465a18f893bb2f5fcfbc23c661e583cd" }, "gemini.vim": { "branch": "master", "commit": "c9efb59c97b71c28d4678c79fd21fbdd3a69d196" }, + "jannotate.nvim": { "branch": "main", "commit": "7da4eb7a504ffc612c333d9337c36e142df55dc6" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, "neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" }, @@ -10,7 +11,6 @@ "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, "nvim-dap": { "branch": "master", "commit": "5860c7c501eb428d3137ee22c522828d20cca0b3" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, - "nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" }, "nvim-lspconfig": { "branch": "master", "commit": "effe4bf2e1afb881ea67291c648b68dd3dfc927a" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, @@ -19,6 +19,7 @@ "oleoboard.nvim": { "branch": "main", "commit": "3652b39db3a8faca3fb767ace799479124bc79f3" }, "snes-syntax-vim": { "branch": "master", "commit": "a6a699c8905f7b6119bf91e44f960667d9f03d59" }, "tree-sitter-api-notation": { "branch": "main", "commit": "3113c6077d9ed1e662a891714ac00e1ee3bb7657" }, + "tree-sitter-wmap": { "branch": "main", "commit": "c01881ae8910f11653e69d7bbded07e4413991bc" }, "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" }, "vim-indent-object": { "branch": "master", "commit": "8ab36d5ec2a3a60468437a95e142ce994df598c6" }, "vim-togglelist": { "branch": "master", "commit": "48f0d30292efdf20edc883e61b121e6123e03df7" }, diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua index 3482564..2c2cbf2 100644 --- a/config/nvim/lua/lsp.lua +++ b/config/nvim/lua/lsp.lua @@ -1,3 +1,7 @@ +local util = require 'lspconfig.util' + +-- JAVASCRIPT FAMILY ----------------------------------------------------------- + vim.lsp.config('ts_ls', { cmd = { 'typescript-language-server', '--stdio' }, filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact' }, @@ -19,6 +23,8 @@ vim.lsp.config('svelte', { }) vim.lsp.enable('svelte') +-- PYTHON ---------------------------------------------------------------------- + vim.lsp.config('pyright', { cmd = { 'pyright-langserver', '--stdio' }, filetypes = { 'python' }, @@ -26,6 +32,8 @@ vim.lsp.config('pyright', { }) vim.lsp.enable('pyright') +-- RUST ------------------------------------------------------------------------ + vim.lsp.config('rust_analyzer', { cmd = { 'rust-analyzer' }, filetypes = { 'rust' }, @@ -55,6 +63,8 @@ vim.lsp.config('rust_analyzer', { }) vim.lsp.enable('rust_analyzer') +-- LUA ------------------------------------------------------------------------- + vim.lsp.config('lua_ls', { cmd = { 'lua-language-server' }, filetypes = { 'lua' }, @@ -62,6 +72,8 @@ vim.lsp.config('lua_ls', { }) vim.lsp.enable('lua_ls') +-- GLEAM------------------------------------------------------------------------ + vim.lsp.config('gleam', { cmd = { 'gleam', 'lsp' }, filetypes = { 'gleam' }, @@ -69,6 +81,41 @@ vim.lsp.config('gleam', { }) vim.lsp.enable('gleam') +-- SWIFT AND THE Cs ------------------------------------------------------------ + +vim.lsp.config('sourcekit', { + cmd = { 'sourcekit-lsp' }, + filetypes = { 'swift', 'objc', 'objcpp', 'c', 'cpp' }, + root_dir = function(bufnr, on_dir) + local filename = vim.api.nvim_buf_get_name(bufnr) + on_dir( + util.root_pattern('buildServer.json', '.bsp')(filename) + or util.root_pattern('*.xcodeproj', '*.xcworkspace')(filename) + -- better to keep it at the end, because some modularized apps contain multiple Package.swift files + or util.root_pattern('compile_commands.json', 'Package.swift')(filename) + or vim.fs.dirname(vim.fs.find('.git', { path = filename, upward = true })[1]) + ) + end, + get_language_id = function(_, ftype) + local t = { objc = 'objective-c', objcpp = 'objective-cpp' } + return t[ftype] or ftype + end, + capabilities = { + workspace = { + didChangeWatchedFiles = { + dynamicRegistration = true, + }, + }, + textDocument = { + diagnostic = { + dynamicRegistration = true, + relatedDocumentSupport = true, + }, + }, + }, +}) +vim.lsp.enable('sourcekit') + -- Enable inlay hints for Rust when LSP attaches vim.api.nvim_create_autocmd('LspAttach', { callback = function(args) diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 758c5fe..5ace9d1 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -82,6 +82,7 @@ require('lazy').setup({ -- Treesitter 'nvim-treesitter/nvim-treesitter', 'https://git.sr.ht/~rbdr/tree-sitter-api-notation', + 'https://git.sr.ht/~rbdr/tree-sitter-wmap', -- LSP { diff --git a/config/nvim/lua/treesitter_config.lua b/config/nvim/lua/treesitter_config.lua index 16986d6..2502859 100644 --- a/config/nvim/lua/treesitter_config.lua +++ b/config/nvim/lua/treesitter_config.lua @@ -28,6 +28,7 @@ require'nvim-treesitter.configs'.setup { 'toml', 'tsx', 'typescript', + 'wmap', 'yaml' }, |