Compare commits
No commits in common. "aee71d51e315fcf49f892ed6709d2311249aa25e" and "ba93f37b1e39825a6a0d6350b64e16453dc18662" have entirely different histories.
aee71d51e3
...
ba93f37b1e
7 changed files with 172 additions and 150 deletions
|
@ -1,42 +1,43 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "eda5be8f0ce9816278671f0b578cdbb8b762c701" },
|
||||
"blame.nvim": { "branch": "main", "commit": "b87b8c820e4cec06fbbd2f946b7b35c45906ee0c" },
|
||||
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
|
||||
"blame.nvim": { "branch": "main", "commit": "39bb4cda9e658d053a43919b10ca52c0a4d738e1" },
|
||||
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"dial.nvim": { "branch": "master", "commit": "2c7e2750372918f072a20f3cf754d845e143d7c9" },
|
||||
"dial.nvim": { "branch": "master", "commit": "34bbd9c387c358190e61ce71017faad3dffa7a74" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"fidget.nvim": { "branch": "legacy", "commit": "2f7c08f45639a64a5c0abcf67321d52c3f499ae6" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "b9d7f853da1197b83b8edb4cc4952f7ad3a42e41" },
|
||||
"git-messenger.vim": { "branch": "master", "commit": "fd124457378a295a5d1036af4954b35d6b807385" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "eb89a1f3e079f1b9680bc7293b75fffccb5e1598" },
|
||||
"git-messenger.vim": { "branch": "master", "commit": "edc603d4cda7894a743e383e16c638e206d03148" },
|
||||
"gitlinker.nvim": { "branch": "master", "commit": "cc59f732f3d043b626c8702cb725c82e54d35c25" },
|
||||
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "709018d5af92d2e5780bfb8a6d36e9cad01a6402" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lspkind-nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b8b60c7f1d0d95ad74ee215b2291280b30482476" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||
"neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
|
||||
"neogit": { "branch": "master", "commit": "e3c148905c334c886453df1490360ebb1a2ba2ed" },
|
||||
"nerdy.nvim": { "branch": "main", "commit": "826a74b0e2d86548190ac4575cccd8d5b159c0a1" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"neogen": { "branch": "main", "commit": "05d754004da8c89115b291f2a23ca530a8cac8fd" },
|
||||
"neogit": { "branch": "master", "commit": "333968f8222fda475d3e4545a9b15fe9912ca26a" },
|
||||
"nerdy.nvim": { "branch": "main", "commit": "14bdcd13265dfc80e6ca6cee0598c5880729e24f" },
|
||||
"nginx.vim": { "branch": "master", "commit": "cffaec54f0c7f9518de053634413a20e90eac825" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "6bba673aa8993eceec233be17b42ddfb9540794b" },
|
||||
"nvim-lint": { "branch": "master", "commit": "936197073214c26a347fb933c9459c8766376b23" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "185b2af444b27d6541c02d662b5b68190e5cf0c4" },
|
||||
"nvim-luaref": { "branch": "main", "commit": "9cd3ed50d5752ffd56d88dd9e395ddd3dc2c7127" },
|
||||
"nvim-notify": { "branch": "master", "commit": "a22f5d7ac511c2df2fd3290a9f04c48d5a822e2e" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "b0b49552c9462900a882fe772993b01d780445fe" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "835f5c11b8d4e1ded3576c69a019f717d3754c5a" },
|
||||
"nvim-treesitter-refactor": { "branch": "master", "commit": "d8b74fa87afc6a1e97b18da23e762efb032dc270" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "19d6211c78169e78bab372b585b6fb17ad974e82" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9937e5e356e5b227ec56d83d0a9d0a0f6bc9cad4" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
|
||||
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "ec1a2431f8872f650a85ed71c24f0715df2e49c2" },
|
||||
"open-browser.vim": { "branch": "master", "commit": "7d4c1d8198e889d513a030b5a83faa07606bac27" },
|
||||
"plantuml-previewer.vim": { "branch": "master", "commit": "368a1f331c1ff29f6a3ee76facfca39a7f374b13" },
|
||||
|
@ -45,16 +46,17 @@
|
|||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"swift.vim": { "branch": "master", "commit": "c76b52c68b633ad397ddab761c47efc7b5c1a6b9" },
|
||||
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "7bf55ed0ff5be182ad3301cff266581fc1c56cce" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a17d611a0e111836a1db5295f04945df407c5135" },
|
||||
"text-case.nvim": { "branch": "main", "commit": "e898cfd46fa6cde0e83abb624a16e67d2ffc6457" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
|
||||
"vim-applescript": { "branch": "master", "commit": "a39af8fc7e4caf581366e2917d558f6232e4db36" },
|
||||
"vim-better-whitespace": { "branch": "master", "commit": "de99b55a6fe8c96a69f9376f16b1d5d627a56e81" },
|
||||
"vim-better-whitespace": { "branch": "master", "commit": "86a0579b330b133b8181b8e088943e81c26a809e" },
|
||||
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "593f831d6f6d779cbabb70a4d1e6b1b1936a88af" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
|
||||
"virt-column.nvim": { "branch": "master", "commit": "b87e3e0864211a32724a2ebf3be37e24e9e2fa99" }
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
return {
|
||||
cmd = { "clangd", "--header-insertion=never" },
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
return {
|
||||
settings = {
|
||||
Lua = {
|
||||
-- I'm using lua only inside neovim, so the runtime is LuaJIT.
|
||||
runtime = { version = "LuaJIT" },
|
||||
|
||||
-- Get the language server to recognize the `vim` global.
|
||||
diagnostics = { globals = { "vim" } },
|
||||
|
||||
-- Make the server aware of Neovim runtime files.
|
||||
workspace = {
|
||||
library = { vim.env.VIMRUNTIME },
|
||||
|
||||
-- Alternatively, pull in all of 'runtimepath'.
|
||||
-- But see: https://github.com/neovim/nvim-lspconfig/issues/3189
|
||||
-- library = { vim.api.nvim_get_runtime_file("", true) }
|
||||
},
|
||||
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
},
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
return {
|
||||
-- Use .editoconfig for code style, naming convention and analyzer settings.
|
||||
enable_editorconfig_support = true,
|
||||
|
||||
-- Show unimported types and add`using` directives.
|
||||
enable_import_completion = true,
|
||||
|
||||
-- Enable roslyn analyzers, code fixes, and rulesets.
|
||||
enable_roslyn_analyzers = true,
|
||||
|
||||
-- Don't include preview versions of the .NET SDK.
|
||||
sdk_include_prereleases = false,
|
||||
|
||||
handlers = {
|
||||
["textDocument/definition"] = require("omnisharp_extended").handler,
|
||||
},
|
||||
}
|
141
config/nvim/lua/fschauen/plugins/lsp.lua
Normal file
141
config/nvim/lua/fschauen/plugins/lsp.lua
Normal file
|
@ -0,0 +1,141 @@
|
|||
local border = { border = "rounded" }
|
||||
|
||||
local lsp_capabilities = function()
|
||||
local basic = vim.lsp.protocol.make_client_capabilities()
|
||||
local completion = vim.F.npcall(require, "cmp_nvim_lsp")
|
||||
if completion then
|
||||
return vim.tbl_deep_extend("force", basic, completion.default_capabilities())
|
||||
end
|
||||
return basic
|
||||
end
|
||||
|
||||
local lsp_handlers = function()
|
||||
return {
|
||||
["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, border),
|
||||
["textDocument/signatureHelp"] = vim.lsp.with(
|
||||
vim.lsp.handlers.signature_help,
|
||||
border
|
||||
),
|
||||
}
|
||||
end
|
||||
|
||||
local lsp_on_attach = function(--[[client]]_, buffer)
|
||||
local map, opts = vim.keymap.set, { buffer = buffer }
|
||||
-- stylua: ignore start
|
||||
map("n", "<localleader>c", vim.lsp.buf.code_action, opts)
|
||||
map("n", "<localleader>f", vim.lsp.buf.format, opts)
|
||||
map("n", "gd", vim.lsp.buf.definition, opts)
|
||||
map("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
map("n", "gi", vim.lsp.buf.implementation, opts)
|
||||
map("n", "grr", vim.lsp.buf.rename, opts)
|
||||
map("n", "gt", vim.lsp.buf.type_definition, opts)
|
||||
map("n", "K", vim.lsp.buf.hover, opts)
|
||||
map("i", "<c-,>", vim.lsp.buf.signature_help, opts)
|
||||
-- stylua: ignore end
|
||||
end
|
||||
|
||||
local lsp_on_init = function(client)
|
||||
-- Opt out of semantic highlighting because it has been causing the issues
|
||||
-- https://github.com/neovim/nvim-lspconfig/issues/2542#issuecomment-1547019213
|
||||
if client.server_capabilities then
|
||||
client.server_capabilities.semanticTokensProvider = false
|
||||
end
|
||||
end
|
||||
|
||||
local server_opts = setmetatable({
|
||||
clangd = function(opts)
|
||||
return vim.tbl_deep_extend("force", opts, {
|
||||
cmd = { "clangd", "--header-insertion=never" },
|
||||
})
|
||||
end,
|
||||
lua_ls = function(opts)
|
||||
return vim.tbl_deep_extend("force", opts, {
|
||||
settings = {
|
||||
Lua = {
|
||||
-- I'm using lua only inside neovim, so the runtime is LuaJIT.
|
||||
runtime = { version = "LuaJIT" },
|
||||
|
||||
-- Get the language server to recognize the `vim` global.
|
||||
diagnostics = { globals = { "vim" } },
|
||||
|
||||
-- Make the server aware of Neovim runtime files.
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
omnisharp = function(opts)
|
||||
return vim.tbl_deep_extend("force", opts, {
|
||||
-- Use .editoconfig for code style, naming convention and analyzer settings.
|
||||
enable_editorconfig_support = true,
|
||||
|
||||
-- Show unimported types and add`using` directives.
|
||||
enable_import_completion = true,
|
||||
|
||||
-- Enable roslyn analyzers, code fixes, and rulesets.
|
||||
enable_roslyn_analyzers = true,
|
||||
|
||||
-- Don't include preview versions of the .NET SDK.
|
||||
sdk_include_prereleases = false,
|
||||
|
||||
handlers = {
|
||||
["textDocument/definition"] = require("omnisharp_extended").handler,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}, {
|
||||
-- The default is a just a passthrough of the options.
|
||||
__index = function()
|
||||
return function(opts) return opts end
|
||||
end,
|
||||
})
|
||||
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"Hoffs/omnisharp-extended-lsp.nvim",
|
||||
},
|
||||
|
||||
cmd = "Mason",
|
||||
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
config = function()
|
||||
local icons = require("fschauen.util.icons")
|
||||
|
||||
require("lspconfig.ui.windows").default_options = border
|
||||
|
||||
require("mason").setup {
|
||||
ui = {
|
||||
border = border.border,
|
||||
icons = {
|
||||
package_installed = icons.git.file.Staged,
|
||||
package_pending = icons.git.file.Unstaged,
|
||||
package_uninstalled = icons.git.file.Deleted,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
require("mason-lspconfig").setup {
|
||||
ensure_installed = {},
|
||||
handlers = {
|
||||
function(server_name)
|
||||
require("lspconfig")[server_name].setup(server_opts[server_name] {
|
||||
capabilities = lsp_capabilities(),
|
||||
handlers = lsp_handlers(),
|
||||
on_attach = lsp_on_attach,
|
||||
lsp_on_init = lsp_on_init,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
|
||||
dependencies = {
|
||||
"Hoffs/omnisharp-extended-lsp.nvim",
|
||||
},
|
||||
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
config = function()
|
||||
local capabilities = (function()
|
||||
local cmp_nvim_lsp = vim.F.npcall(require, "cmp_nvim_lsp")
|
||||
if cmp_nvim_lsp then
|
||||
return cmp_nvim_lsp.default_capabilities()
|
||||
else
|
||||
return vim.lsp.protocol.make_client_capabilities()
|
||||
end
|
||||
end)()
|
||||
|
||||
vim.lsp.config("*", { capabilities = capabilities })
|
||||
|
||||
vim.lsp.enable("clangd")
|
||||
vim.lsp.enable("cmake")
|
||||
vim.lsp.enable("lua_ls")
|
||||
vim.lsp.enable("omnisharp")
|
||||
vim.lsp.enable("pyright")
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
callback = function(args)
|
||||
local rounded = function(action)
|
||||
return function() action { border = "rounded" } end
|
||||
end
|
||||
|
||||
-- stylua: ignore start
|
||||
vim.keymap.set("n", "<localleader>c", vim.lsp.buf.code_action, { buffer = 0 } )
|
||||
vim.keymap.set("n", "<localleader>f", vim.lsp.buf.format, { buffer = 0 } )
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = 0 } )
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 } )
|
||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { buffer = 0 } )
|
||||
vim.keymap.set("n", "grr", vim.lsp.buf.rename, { buffer = 0 } )
|
||||
vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, { buffer = 0 } )
|
||||
vim.keymap.set("n", "gs", rounded(vim.lsp.buf.signature_help), { buffer = 0 } )
|
||||
vim.keymap.set("i", "<c-s>", rounded(vim.lsp.buf.signature_help), { buffer = 0 } )
|
||||
vim.keymap.set("n", "K", rounded(vim.lsp.buf.hover), { buffer = 0 } )
|
||||
-- stylua: ignore end
|
||||
|
||||
-- Opt out of semantic highlighting because it has been causing issues
|
||||
-- https://github.com/neovim/nvim-lspconfig/issues/2542#issuecomment-1547019213
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
if client and client.server_capabilities then
|
||||
client.server_capabilities.semanticTokensProvider = nil
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
return {
|
||||
"williamboman/mason.nvim",
|
||||
|
||||
cmd = "Mason",
|
||||
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
config = function()
|
||||
local icons = require("fschauen.util.icons")
|
||||
|
||||
require("mason").setup {
|
||||
ui = {
|
||||
border = "rounded",
|
||||
icons = {
|
||||
package_installed = icons.git.file.Staged,
|
||||
package_pending = icons.git.file.Unstaged,
|
||||
package_uninstalled = icons.git.file.Deleted,
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
Loading…
Add table
Reference in a new issue