diff options
Diffstat (limited to 'config')
| -rw-r--r-- | config/nvim/lazy-lock.json | 11 | ||||
| -rw-r--r-- | config/nvim/lua/lsp.lua | 133 | ||||
| -rw-r--r-- | config/nvim/lua/plugins.lua | 15 | ||||
| -rw-r--r-- | config/nvim/lua/treesitter_config.lua | 4 |
4 files changed, 30 insertions, 133 deletions
diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 450230f..96a45e3 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,22 +1,23 @@ { "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, + "R.nvim": { "branch": "main", "commit": "72032fbe3732c6c1e0b8b21dd348408e392a543e" }, "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "fzf-lua": { "branch": "main", "commit": "ffa44ee9470743a7697d28df3a1a216fdfe2b09d" }, + "fzf-lua": { "branch": "main", "commit": "10c19a5f08bfeed34b930a1efddda3a9a983e6e2" }, "gemini.vim": { "branch": "master", "commit": "c9efb59c97b71c28d4678c79fd21fbdd3a69d196" }, "image.nvim": { "branch": "master", "commit": "da2be65c153ba15a14a342b05591652a6df70d58" }, "jannotate.nvim": { "branch": "main", "commit": "6bb5fb17d7da5437ea27a6079216cc5663d5e717" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" }, + "lean.nvim": { "branch": "main", "commit": "e979471bdc6817da901e38a581b670ed88081af2" }, "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, "marginalie.nvim": { "branch": "main", "commit": "0f7fa3e0b558eae20dd56d6ff62d08595a1b88d5" }, "marks.nvim": { "branch": "master", "commit": "f353e8c08c50f39e99a9ed474172df7eddd89b72" }, - "mini.ai": { "branch": "main", "commit": "43eb2074843950a3a25aae56a5f41362ec043bfa" }, "mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" }, "neogen": { "branch": "main", "commit": "23e7e9f883d01289ebd90e98025acc860ea26366" }, "neorg": { "branch": "main", "commit": "a09e0bb9b32e2d0406d4503ae8c1a7ad2ca83eae" }, "neorg-interim-ls": { "branch": "main", "commit": "898898f48fe7a2364d99d32f0dfd95dab5f8591f" }, - "neotest": { "branch": "master", "commit": "fd0b7986dd0ae04e38ec7dc0c78a432e3820839c" }, + "neotest": { "branch": "master", "commit": "ad991822b7076b1d940b33a9d6d0d30416d5df81" }, "neotest-rspec": { "branch": "main", "commit": "e7dc67c1167a9e593c804a6be6808ba9a5920d43" }, "neotest-rust": { "branch": "main", "commit": "2c9941d4a358839918fac21d20fc8fef0e1ad05f" }, "nota.nvim": { "branch": "main", "commit": "4f22d307fb9fd0f44f6e6767b97869a238f18160" }, @@ -25,9 +26,9 @@ "nvim-biscuits": { "branch": "main", "commit": "d93dcdee3a3dfd5101785447658e744f153957db" }, "nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" }, "nvim-dap-ui": { "branch": "master", "commit": "1a66cabaa4a4da0be107d5eda6d57242f0fe7e49" }, - "nvim-lspconfig": { "branch": "master", "commit": "8fde495949782bb61c2605174e231d145a048d8c" }, + "nvim-lspconfig": { "branch": "master", "commit": "31026a13eefb20681124706a79fc1df6bf11ab27" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-surround": { "branch": "main", "commit": "9291040de8cd8a4439eb64c441e8d5d2bf884a5a" }, + "nvim-surround": { "branch": "main", "commit": "2e93e154de9ff326def6480a4358bfc149d5da2c" }, "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, "nvim-treesitter-endwise": { "branch": "master", "commit": "8fe8a95630f4f2c72a87ba1927af649e0bfaa244" }, "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua index 9838887..f5718c4 100644 --- a/config/nvim/lua/lsp.lua +++ b/config/nvim/lua/lsp.lua @@ -1,141 +1,18 @@ local util = require 'lspconfig.util' --- JAVASCRIPT FAMILY ----------------------------------------------------------- - -vim.lsp.config('ts_ls', { - cmd = { 'typescript-language-server', '--stdio' }, - filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact' }, - root_markers = { 'package.json', 'tsconfig.json', 'jsconfig.json' } -}) vim.lsp.enable('ts_ls') - -vim.lsp.config('eslint', { - cmd = { 'vscode-eslint-language-server', '--stdio' }, - filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact' }, - root_markers = { '.eslintrc', '.eslintrc.js', '.eslintrc.json', 'package.json' } -}) vim.lsp.enable('eslint') - -vim.lsp.config('svelte', { - cmd = { 'svelteserver', '--stdio' }, - filetypes = { 'svelte' }, - root_markers = { 'package.json', 'svelte.config.js' } -}) vim.lsp.enable('svelte') - --- PYTHON ---------------------------------------------------------------------- - -vim.lsp.config('pyright', { - cmd = { 'pyright-langserver', '--stdio' }, - filetypes = { 'python' }, - root_markers = { 'pyproject.toml', 'setup.py', 'requirements.txt' } -}) vim.lsp.enable('pyright') - --- RUST ------------------------------------------------------------------------ - -vim.lsp.config('rust_analyzer', { - cmd = { 'rust-analyzer' }, - filetypes = { 'rust' }, - root_markers = { 'Cargo.toml', 'rust-project.json' }, - settings = { - ['rust-analyzer'] = { - imports = { - granularity = { - group = "module", - }, - prefix = "self", - }, - cargo = { - buildScripts = { - enable = true, - }, - }, - procMacro = { - enable = true - }, - checkOnSave = { - enable = true, - command = "clippy" - } - }, - }, -}) vim.lsp.enable('rust_analyzer') - --- LUA ------------------------------------------------------------------------- - -vim.lsp.config('lua_ls', { - cmd = { 'lua-language-server' }, - filetypes = { 'lua' }, - root_markers = { '.luarc.json', '.luarc.jsonc', '.luacheckrc', 'stylua.toml', 'selene.toml' }, -}) vim.lsp.enable('lua_ls') - --- GLEAM------------------------------------------------------------------------ - -vim.lsp.config('gleam', { - cmd = { 'gleam', 'lsp' }, - filetypes = { 'gleam' }, - root_markers = { 'gleam.toml' }, -}) 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') - --- RUBY ------------------------------------------------------------------------ -vim.lsp.config('ruby', { - cmd = function(dispatchers, config) - return vim.lsp.rpc.start( - { 'mise x -- ruby-lsp' }, - dispatchers, - config and config.root_dir and { cwd = config.cmd_cwd or config.root_dir } - ) - end, - filetypes = { 'ruby', 'eruby' }, - root_markers = { 'Gemfile', '.git' }, - init_options = { - formatter = 'auto', - }, - reuse_client = function(client, config) - config.cmd_cwd = config.root_dir - return client.config.cmd_cwd == config.cmd_cwd - end, -}) -vim.lsp.enable('ruby') +vim.lsp.enable('ruby_lsp') +vim.lsp.enable('hls') +vim.lsp.enable('julials') +vim.lsp.enable('r_language_server') +vim.lsp.enable('leanls') -- Enable inlay hints for Rust when LSP attaches vim.api.nvim_create_autocmd('LspAttach', { diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 7958eab..2feda55 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -56,6 +56,21 @@ require('lazy').setup({ -- Syntaxes 'ARM9/snes-syntax-vim', 'https://git.sr.ht/~torresjrjr/gemini.vim', + { + 'Julian/lean.nvim', + event = { 'BufReadPre *.lean', 'BufNewFile *.lean' }, + + dependencies = {}, + + ---@type lean.Config + opts = { + mappings = true, + } + }, + { + "R-nvim/R.nvim", + lazy = false + }, -- Debugging & Testing { diff --git a/config/nvim/lua/treesitter_config.lua b/config/nvim/lua/treesitter_config.lua index 70f251f..15b9327 100644 --- a/config/nvim/lua/treesitter_config.lua +++ b/config/nvim/lua/treesitter_config.lua @@ -7,16 +7,20 @@ require('nvim-treesitter').install { 'gitcommit', 'gleam', 'graphql', + 'haskell', 'html', 'htmldjango', 'javascript', 'jsdoc', 'json', + 'julia', 'kotlin', + 'lean', 'lua', 'make', 'markdown', 'python', + 'r', 'ruby', 'rust', 'sql', |