aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/nvim/lazy-lock.json11
-rw-r--r--config/nvim/lua/lsp.lua133
-rw-r--r--config/nvim/lua/plugins.lua15
-rw-r--r--config/nvim/lua/treesitter_config.lua4
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',