mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-10-21 20:10:41 +00:00
feat(cmp): update to blink.cmp
This commit is contained in:
parent
5c88edfa70
commit
f8a4240bf6
5
ftdetect/rasi.lua
Normal file
5
ftdetect/rasi.lua
Normal file
@ -0,0 +1,5 @@
|
||||
vim.filetype.add({
|
||||
extension = {
|
||||
rasi = "rasi",
|
||||
},
|
||||
})
|
||||
@ -3,38 +3,31 @@
|
||||
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
|
||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
||||
"bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" },
|
||||
"catppuccin.nvim": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
||||
"blink-ripgrep.nvim": { "branch": "main", "commit": "8a47d404a359c70c796cb0979ddde4c788fd44e5" },
|
||||
"blink.cmp": { "branch": "main", "commit": "5f442681df24fe705d1ee7ce5b4d435aa4b4dee4" },
|
||||
"blink.compat": { "branch": "main", "commit": "78f3f7187ff4a1444e952548c556d936da8f72fc" },
|
||||
"catppuccin.nvim": { "branch": "main", "commit": "5d9582dbbe37e465f7f93ca6e3dd60cd20eea44f" },
|
||||
"ccc.nvim": { "branch": "main", "commit": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "11aea08aa084f9d523b0142c2cd9441b8ede09ed" },
|
||||
"cheatsheet.nvim": { "branch": "master", "commit": "8ee4d76b6f902c4017dc28eddd79d925dfc55066" },
|
||||
"cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "53bc5261e1e0b0d28be465d2b2b07a6f0646e1eb" },
|
||||
"cmp-async-path": { "branch": "main", "commit": "9d581eec5acf812316913565c135b0d1ee2c9a71" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "4e134ed5532e5fc3c0331d1b38b7acaa4bb31894" },
|
||||
"cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" },
|
||||
"cmp-dbee": { "branch": "main", "commit": "1650f67b9bf43c029fc37570665ca895a33cdf5a" },
|
||||
"cmp-dotenv": { "branch": "main", "commit": "4dd53aab60982f1f75848aec5e6214986263325e" },
|
||||
"cmp-git": { "branch": "main", "commit": "ec049036e354ed8ed0215f2427112882e1ea7051" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-pypi": { "branch": "main", "commit": "a73411e5935caa23c6feab34980bb435deadd482" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"code-playground.nvim": { "branch": "main", "commit": "7b257911268ecf7ee11d6fe806193bda2c889e86" },
|
||||
"codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" },
|
||||
"conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" },
|
||||
"conform.nvim": { "branch": "master", "commit": "339b3e4519ec49312d34fcfa275aa15bfaa67025" },
|
||||
"crates.nvim": { "branch": "main", "commit": "1c924d5a9ea3496c4e1a02d0d51388ba809f8468" },
|
||||
"cratesearch.nvim": { "branch": "master", "commit": "9d09625d017f6b2e116503f935bc6862961313fa" },
|
||||
"curl.nvim": { "branch": "main", "commit": "6b64f67cf033b12b4e8249afe03def55ffc9b6cb" },
|
||||
"curl.nvim": { "branch": "main", "commit": "fe07677a2a24bc8793b90fa2c0da626ea6c9e47d" },
|
||||
"darkplus.nvim": { "branch": "master", "commit": "c7fff5ce62406121fc6c9e4746f118b2b2499c4c" },
|
||||
"darkvoid.nvim": { "branch": "master", "commit": "45be993a5617e05811b6b293c05e6aded7003cc9" },
|
||||
"decisive.nvim": { "branch": "main", "commit": "a7251adebccbc9c899cff39a524b20d06e2b78b5" },
|
||||
"demicolon.nvim": { "branch": "main", "commit": "ee6e3008c7e70abe3f58103dde49145699700fc5" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "515acae4fd294fcefa5b15237a333c2606e958d1" },
|
||||
"flow.nvim": { "branch": "main", "commit": "9005b613fc31d8334db2f1687c594f0b7e29823d" },
|
||||
"flow.nvim": { "branch": "main", "commit": "e1791cf20969e07e52e44d1f3e40bcfda2521e6a" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"garbage-day.nvim": { "branch": "main", "commit": "750ef08ae6031ee3683014c5349144340c08ead6" },
|
||||
"git-worktree.nvim": { "branch": "master", "commit": "f247308e68dab9f1133759b05d944569ad054546" },
|
||||
@ -52,11 +45,12 @@
|
||||
"in-and-out.nvim": { "branch": "master", "commit": "ab24cafadc3418dffb0c7e9b0621cff60b9ac551" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||
"inlay-hint.nvim": { "branch": "main", "commit": "eb5f0579537db271dfedd7f38460cdacb238176f" },
|
||||
"inlay-hints.nvim": { "branch": "master", "commit": "af84dee42cd118af6d592b06c1c0e45d6432a6c0" },
|
||||
"inlay-hints.nvim": { "branch": "master", "commit": "3259b54f3b954b4d8260f3ee49ceabe978ea5636" },
|
||||
"jq.nvim": { "branch": "main", "commit": "3a736044a9ff4d2b39919c43e66c8148ce85b6a5" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "ad3dddecd606746374ba4807324a08331dfca23c" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "2d54b56242a6f03c74864d118d61afa1acb5918e" },
|
||||
"lackluster.nvim": { "branch": "main", "commit": "6d206a3af7dd2e8389eecebab858e7d97813fc0c" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
||||
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
|
||||
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
||||
"lualine-lsp-status": { "branch": "main", "commit": "1218d51d4d0b8881a598a77e5d9f334ac31c6cc7" },
|
||||
@ -69,9 +63,9 @@
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"melange.nvim": { "branch": "master", "commit": "9252c78c7bffd3126b0c9e47e51e0b5211acffb1" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "a9562ad062a1611a10cc81815b220a4450fb2cad" },
|
||||
"mini.icons": { "branch": "main", "commit": "44c0160526f7ae17ca8e8eab9ab235d047fcf7a6" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "427d64540ef2a3f4d758106a49a6aadfe2bd50b2" },
|
||||
"neocord": { "branch": "main", "commit": "4d55d8dab2d5f2f272192add7a2c21982039c699" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
|
||||
"neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" },
|
||||
"neogit": { "branch": "master", "commit": "43fa47fb61773b0d90a78ebc2521ea8faaeebd86" },
|
||||
"neorg": { "branch": "main", "commit": "81ee90cb2d72ac43bfadb7dd276646f34c8f85be" },
|
||||
@ -86,27 +80,26 @@
|
||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
||||
"nvim-cmp-lsp-rs": { "branch": "main", "commit": "57f29333e6d2b655d5b0edb999b0006d49fde0ca" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "4acf88d31b3a7a1a7f31e9c30bf2b23c6313abdb" },
|
||||
"nvim-dap": { "branch": "master", "commit": "04ce47fc5a6ef2b717f33c320fc003091cebac40" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "b8ed35bf2c5c350ee84699adb2f797a453d60c5f" },
|
||||
"nvim-dap": { "branch": "master", "commit": "665d3569a86395fe0dab85efbdb26d7d2ee57e49" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "34282820bb713b9a5fdb120ae8dd85c2b3f49b51" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
|
||||
"nvim-dbee": { "branch": "master", "commit": "21d2cc0844a16262bb6ea93ab3d0a0f20bd87853" },
|
||||
"nvim-lint": { "branch": "master", "commit": "1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "040001d85e9190a904d0e35ef5774633e14d8475" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "c580f34bc5fdca8aaf737a9ab8a5d775cb940e57" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-silicon": { "branch": "main", "commit": "9fe6001dc8cad4d9c53bcfc8649e3dc76ffa169c" },
|
||||
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "2405274937718d520a40e03df92030dca6b4f0fd" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "8fd989b6b457a448606b4a2e51f9161700f609a7" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "50947387c20ec3fb8c30b8c1c1a1c39f68deb970" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "270ca542dae992ffe40274718c63645217ebc8bf" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "15c7d0f616ebf88960ce5c4221828f62789d36d9" },
|
||||
"ohne-accidents": { "branch": "main", "commit": "832b942a928e74b537a2526eacc6285e26af9589" },
|
||||
"oil.nvim": { "branch": "master", "commit": "dba037598843973b8c54bc5ce0318db4a0da439d" },
|
||||
"oil.nvim": { "branch": "master", "commit": "ba858b662599eab8ef1cba9ab745afded99cb180" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6" },
|
||||
"otter.nvim": { "branch": "main", "commit": "7edd39c920f7a28ac711a7c658a7cfdfb804bc82" },
|
||||
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
|
||||
@ -127,17 +120,18 @@
|
||||
"tagbar": { "branch": "master", "commit": "5e090da54bf999c657608b6c8ec841ef968d923d" },
|
||||
"tailwind-fold.nvim": { "branch": "main", "commit": "30b8c04eec28628fbe554fb4f3a26984c4455176" },
|
||||
"telescope-bibtex.nvim": { "branch": "master", "commit": "289a6f86ebec06e8ae1590533b732b9981d84900" },
|
||||
"telescope-frecency.nvim": { "branch": "master", "commit": "a358728043a429d69ecfb317937df66f7cec40d5" },
|
||||
"telescope-frecency.nvim": { "branch": "master", "commit": "77829eda3451ef81200b9c61696af0d64372ea85" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||
"telescope-git-diffs.nvim": { "branch": "main", "commit": "b8e5c9e13b9e27f8ccfd14430d04739b9996ae76" },
|
||||
"telescope-heading.nvim": { "branch": "main", "commit": "e85c0f69cb64048f56e76548dcb2f10277576df9" },
|
||||
"telescope-import.nvim": { "branch": "main", "commit": "6ccc0ad05b2906e04c5ba415a7f973229efc6dbc" },
|
||||
"telescope-import.nvim": { "branch": "main", "commit": "6fd69447679a99b463025e7f2f787e8b185dd740" },
|
||||
"telescope-lazy.nvim": { "branch": "main", "commit": "810f7859c98e88b9c4e45de16cb5317207c9b3e8" },
|
||||
"telescope-luasnip.nvim": { "branch": "master", "commit": "07a2a2936a7557404c782dba021ac0a03165b343" },
|
||||
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
|
||||
"telescope-software-licenses.nvim": { "branch": "master", "commit": "fb5fc33b6afc994756e2f372423c365bf66f2256" },
|
||||
"telescope-symbols.nvim": { "branch": "master", "commit": "a6d0127a53d39b9fc2af75bd169d288166118aec" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"tmux-compile.nvim": { "branch": "main", "commit": "7513d0c8780d1c92afa79a4f8370adeb7aba56cb" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "45d22cf0e1b93476d3b6d362d720412b3d34465c" },
|
||||
"tree-sitter-bruno": { "branch": "main", "commit": "5f35d5970be9e583eabdd1c22911953180729f84" },
|
||||
|
||||
140
lua/plugins/blink.lua
Normal file
140
lua/plugins/blink.lua
Normal file
@ -0,0 +1,140 @@
|
||||
return {
|
||||
{
|
||||
|
||||
"saghen/blink.cmp",
|
||||
dependencies = {
|
||||
"folke/lazydev.nvim",
|
||||
"echasnovski/mini.icons",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"Saecki/crates.nvim",
|
||||
"davidsierradz/cmp-conventionalcommits",
|
||||
"petertriho/cmp-git", -- TODO: make this work
|
||||
"mikavilpas/blink-ripgrep.nvim",
|
||||
{
|
||||
"MattiasMTS/cmp-dbee",
|
||||
dependencies = {
|
||||
{ "kndndrj/nvim-dbee" },
|
||||
},
|
||||
ft = { "sql", "mysql", "plsql" },
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
version = "*",
|
||||
-- build = "cargo build --release", -- build from source
|
||||
|
||||
opts = {
|
||||
-- 'default' for mappings similar to built-in completion
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
|
||||
-- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
|
||||
-- See the full "keymap" documentation for information on defining your own keymap.
|
||||
keymap = {
|
||||
preset = "default",
|
||||
["<C-e>"] = { "hide", "show", "fallback" },
|
||||
["<cr>"] = { "select_and_accept", "fallback" },
|
||||
["<C-u>"] = { "scroll_documentation_up", "fallback" },
|
||||
["<C-d>"] = { "scroll_documentation_down", "fallback" },
|
||||
["<C-g>"] = {
|
||||
function()
|
||||
require("blink-cmp").show({ sources = { "ripgrep" } })
|
||||
end,
|
||||
},
|
||||
["<Tab>"] = {},
|
||||
["<S-Tab>"] = {},
|
||||
},
|
||||
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = "mono",
|
||||
},
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { "lazydev", "crates", "lsp", "path", "luasnip", "buffer", "dbee" },
|
||||
providers = {
|
||||
lazydev = {
|
||||
name = "LazyDev",
|
||||
module = "lazydev.integrations.blink",
|
||||
score_offset = 100,
|
||||
},
|
||||
crates = {
|
||||
name = "crates",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 10,
|
||||
},
|
||||
git = {
|
||||
name = "git",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 10,
|
||||
},
|
||||
dbee = {
|
||||
name = "cmp-dbee",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 50,
|
||||
},
|
||||
ripgrep = {
|
||||
module = "blink-ripgrep",
|
||||
name = "Ripgrep",
|
||||
opts = {
|
||||
prefix_min_len = 3,
|
||||
context_size = 5,
|
||||
max_filesize = "1M",
|
||||
project_root_marker = { ".git", "package.json", ".root" },
|
||||
search_casing = "--smart-case",
|
||||
additional_rg_options = {},
|
||||
fallback_to_regex_highlighting = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
completion = {
|
||||
documentation = { window = { border = "single" }, auto_show = true },
|
||||
ghost_text = { enabled = true },
|
||||
menu = {
|
||||
border = "single",
|
||||
auto_show = function(ctx)
|
||||
return ctx.mode ~= "cmdline"
|
||||
end,
|
||||
draw = {
|
||||
components = {
|
||||
kind_icon = {
|
||||
ellipsis = false,
|
||||
text = function(ctx)
|
||||
local kind_icon, _, _ = require("mini.icons").get("lsp", ctx.kind)
|
||||
return kind_icon
|
||||
end,
|
||||
-- Optionally, you may also use the highlights from mini.icons
|
||||
highlight = function(ctx)
|
||||
local _, hl, _ = require("mini.icons").get("lsp", ctx.kind)
|
||||
return hl
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
signature = { enabled = true, window = { border = "single" } },
|
||||
snippets = {
|
||||
expand = function(snippet)
|
||||
require("luasnip").lsp_expand(snippet)
|
||||
end,
|
||||
active = function(filter)
|
||||
if filter and filter.direction then
|
||||
return require("luasnip").jumpable(filter.direction)
|
||||
end
|
||||
return require("luasnip").in_snippet()
|
||||
end,
|
||||
jump = function(direction)
|
||||
require("luasnip").jump(direction)
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
},
|
||||
{
|
||||
"saghen/blink.compat",
|
||||
version = "*",
|
||||
lazy = true,
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
@ -7,7 +7,7 @@ return {
|
||||
|
||||
require("cmp_git").setup({
|
||||
-- defaults
|
||||
filetypes = { "gitcommit", "octo", "NeogitCommitMessage" },
|
||||
filetypes = { "gitcommit", "octo" },
|
||||
remotes = { "upstream", "origin" }, -- in order of most to least prioritized
|
||||
enableRemoteUrlRewrites = false, -- enable git url rewrites, see https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtinsteadOf
|
||||
git = {
|
||||
@ -41,7 +41,9 @@ return {
|
||||
},
|
||||
},
|
||||
gitlab = {
|
||||
hosts = {}, -- list of private instances of gitlab
|
||||
hosts = {
|
||||
"git.modulation.lv",
|
||||
}, -- list of private instances of gitlab
|
||||
issues = {
|
||||
limit = 100,
|
||||
state = "opened", -- opened, closed, all
|
||||
|
||||
@ -1,164 +0,0 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = { "InsertEnter", "CmdlineEnter" },
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer", -- buffer completions
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"FelipeLema/cmp-async-path", -- path completions
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
{ "Saecki/crates.nvim", event = { "BufRead Cargo.toml" } },
|
||||
{
|
||||
"vrslev/cmp-pypi",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
event = { "BufRead pyproject.toml" },
|
||||
},
|
||||
"SergioRibera/cmp-dotenv",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"hrsh7th/cmp-calc",
|
||||
"Exafunction/codeium.nvim",
|
||||
"zbirenbaum/copilot-cmp",
|
||||
"petertriho/cmp-git",
|
||||
"davidsierradz/cmp-conventionalcommits",
|
||||
"supermaven-inc/supermaven-nvim",
|
||||
"zjp-CN/nvim-cmp-lsp-rs",
|
||||
{
|
||||
"MattiasMTS/cmp-dbee",
|
||||
dependencies = {
|
||||
{ "kndndrj/nvim-dbee" },
|
||||
},
|
||||
ft = { "sql", "mysql", "plsql" },
|
||||
opts = {},
|
||||
},
|
||||
},
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
local luasnip = require("luasnip")
|
||||
local cmp_lsp_rs = require("cmp_lsp_rs")
|
||||
local comparators = cmp_lsp_rs.comparators
|
||||
local compare = require("cmp").config.compare
|
||||
local kind_icons = {
|
||||
Text = "",
|
||||
Method = "",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "",
|
||||
Variable = "",
|
||||
Class = "",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = "",
|
||||
Copilot = "",
|
||||
Codeium = "",
|
||||
Supermaven = "",
|
||||
}
|
||||
opts = {
|
||||
mapping = {
|
||||
["<C-p>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
-- Accept currently selected item. If none selected, `select` first item.
|
||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lua" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "crates" },
|
||||
{ name = "async_path" },
|
||||
{ name = "cmp-dbee" },
|
||||
{ name = "buffer", keyword_length = 4 },
|
||||
{ name = "luasnip" },
|
||||
{ name = "neorg" },
|
||||
{ name = "pypi" },
|
||||
{ name = "dotenv" },
|
||||
{ name = "calc" },
|
||||
{ name = "git" },
|
||||
{ name = "conventionalcommits" },
|
||||
{ name = "supermaven" },
|
||||
-- { name = "copilot" },
|
||||
-- { name = "codeium" },
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
formatting = {
|
||||
fields = { "abbr", "kind", "menu" },
|
||||
format = function(entry, vim_item)
|
||||
vim_item.kind = kind_icons[vim_item.kind]
|
||||
vim_item.menu = ({
|
||||
git = "[git]",
|
||||
conventionalcommits = "[CC]",
|
||||
calc = "[calc]",
|
||||
nvim_lsp = "[LSP]",
|
||||
nvim_lua = "[lua]",
|
||||
async_path = "[path]",
|
||||
codeium = "[codeium]",
|
||||
copilot = "[copilot]",
|
||||
luasnip = "[snip]",
|
||||
neorg = "[neorg]",
|
||||
crates = "[crates]",
|
||||
pypi = "[pypi]",
|
||||
dotenv = "[env]",
|
||||
buffer = "[buf]",
|
||||
supermaven = "[AI]",
|
||||
["cmp-dbee"] = "[DB]",
|
||||
})[entry.source.name]
|
||||
return vim_item
|
||||
end,
|
||||
expandable_indicator = true,
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = true,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
confirm_opts = {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
},
|
||||
sorting = {
|
||||
comparators = {
|
||||
compare.exact,
|
||||
compare.score,
|
||||
-- comparators.inherent_import_inscope,
|
||||
comparators.inscope_inherent_import,
|
||||
comparators.sort_by_label_but_underscore_last,
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, source in ipairs(opts.sources) do
|
||||
cmp_lsp_rs.filter_out.entry_filter(source)
|
||||
end
|
||||
return opts
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("cmp").setup(opts)
|
||||
end,
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
--[[ lazy = false,
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
style = "night",
|
||||
@ -15,8 +15,8 @@ return {
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("tokyonight").setup(opts)
|
||||
vim.cmd.colorscheme("tokyonight")
|
||||
end, ]]
|
||||
-- vim.cmd.colorscheme("tokyonight")
|
||||
end,
|
||||
},
|
||||
{ "lunarvim/darkplus.nvim" },
|
||||
{ "catppuccin/nvim", name = "catppuccin.nvim" },
|
||||
|
||||
@ -13,6 +13,11 @@ return {
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
completion = {
|
||||
cmp = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
smart_insert = true,
|
||||
insert_closing_quote = true,
|
||||
autoload = true,
|
||||
|
||||
@ -5,7 +5,6 @@ return {
|
||||
"williamboman/mason.nvim",
|
||||
"rcarriga/nvim-dap-ui",
|
||||
"mfussenegger/nvim-dap",
|
||||
-- { "simrat39/rust-tools.nvim", ft = "rust" },
|
||||
"nvim-neotest/nvim-nio",
|
||||
{ "mfussenegger/nvim-dap-python", ft = "python" },
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
|
||||
@ -5,17 +5,13 @@ return {
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
|
||||
"<leader>od",
|
||||
function()
|
||||
require("dbee").toggle()
|
||||
end,
|
||||
require("dbee").toggle,
|
||||
desc = "Toggle Dbee",
|
||||
},
|
||||
},
|
||||
cmd = "Dbee",
|
||||
cmd = { "Dbee" },
|
||||
build = function()
|
||||
-- go install github.com/kndndrj/nvim-dbee/dbee@latest
|
||||
require("dbee").install("go")
|
||||
end,
|
||||
opts = {
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
return {
|
||||
"zeioth/garbage-day.nvim",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
aggressive_mode = false,
|
||||
excluded_lsp_clients = { "rust_analyzer" },
|
||||
grace_period = 60 * 15,
|
||||
wakeup_delay = 0,
|
||||
},
|
||||
}
|
||||
11
lua/plugins/lazydev.lua
Normal file
11
lua/plugins/lazydev.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
"folke/lazydev.nvim",
|
||||
ft = "lua", -- only load on lua files
|
||||
opts = {
|
||||
library = {
|
||||
-- See the configuration section for more details
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.basedpyright.setup({
|
||||
capabilities = capabilities,
|
||||
basedpyright = {
|
||||
analysis = {
|
||||
autoSearchPaths = true,
|
||||
diagnosticMode = "openFilesOnly",
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,14 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.bashls.setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = {
|
||||
"sh",
|
||||
"bash",
|
||||
"zsh",
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,21 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
capabilities = capabilities
|
||||
lsp.clangd.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
clangd = {
|
||||
InlayHints = {
|
||||
Designators = true,
|
||||
Enabled = true,
|
||||
ParameterNames = true,
|
||||
DeducedTypes = true,
|
||||
},
|
||||
fallbackFlags = { "-std=c++20" },
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,20 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.emmet_ls.setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"typescriptreact",
|
||||
"javascriptreact",
|
||||
"css",
|
||||
"sass",
|
||||
"scss",
|
||||
"less",
|
||||
"eruby",
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,20 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.gopls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
hints = {
|
||||
rangeVariableTypes = true,
|
||||
parameterNames = true,
|
||||
constantValues = true,
|
||||
assignVariableTypes = true,
|
||||
compositeLiteralFields = true,
|
||||
compositeLiteralTypes = true,
|
||||
functionTypeParameters = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,17 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.html.setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"templ",
|
||||
},
|
||||
init_options = {
|
||||
provideFormatter = false,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,45 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim", "awesome", "client" },
|
||||
},
|
||||
-- workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
-- library = vim.api.nvim_get_runtime_file("", true),
|
||||
-- },
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
root_pattern = {
|
||||
".stylua.toml",
|
||||
".luarc.json",
|
||||
".luarc.jsonc",
|
||||
".luacheckrc",
|
||||
"stylua.toml",
|
||||
"selene.toml",
|
||||
"selene.yml",
|
||||
".git",
|
||||
},
|
||||
format = {
|
||||
enable = false,
|
||||
},
|
||||
hint = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,29 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.pylsp.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
autopep8 = { enabled = false },
|
||||
flake8 = { enabled = false },
|
||||
pylint = { enabled = false },
|
||||
yapf = { enabled = false },
|
||||
pydocstyle = { enabled = false },
|
||||
mccabe = { enabled = false },
|
||||
rope_autoimport = { enabled = true },
|
||||
rope_completion = {
|
||||
enabled = true,
|
||||
eager = true,
|
||||
},
|
||||
pycodestyle = {
|
||||
maxLineLength = nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,17 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.pylyzer.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
python = {
|
||||
diagnostics = true,
|
||||
inlayHints = true,
|
||||
smartCompletion = true,
|
||||
checkOnType = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,32 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.texlab.setup({
|
||||
capabilities = capabilities,
|
||||
texlab = {
|
||||
auxDirectory = ".",
|
||||
bibtexFormatter = "texlab",
|
||||
build = {
|
||||
args = { "-pdf", "-interaction=nonstopmode", "-synctex=1", "%f" },
|
||||
executable = "xelatex",
|
||||
forwardSearchAfter = false,
|
||||
onSave = false,
|
||||
},
|
||||
chktex = {
|
||||
onEdit = false,
|
||||
onOpenAndSave = false,
|
||||
},
|
||||
diagnosticsDelay = 0,
|
||||
formatterLineLength = 120,
|
||||
forwardSearch = {
|
||||
args = {},
|
||||
},
|
||||
latexFormatter = "latexindent",
|
||||
latexindent = {
|
||||
modifyLineBreaks = false,
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -1,14 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
M.setup = function(lsp, capabilities)
|
||||
lsp.tinymist.setup({
|
||||
capabilities = capabilities,
|
||||
offset_encoding = "utf-8",
|
||||
settings = {
|
||||
exportPdf = "onType",
|
||||
outputPath = "$root/target/$dir/$name",
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@ -3,34 +3,43 @@ return {
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"folke/neodev.nvim",
|
||||
"saghen/blink.cmp",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"folke/trouble.nvim",
|
||||
"folke/neoconf.nvim",
|
||||
"piersolenski/telescope-import.nvim",
|
||||
"mrcjkb/rustaceanvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
opts = function()
|
||||
return require("solo.lspconfig-opts")
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("mason").setup()
|
||||
local lsp = require("lspconfig")
|
||||
local lsp_capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
lsp_capabilities = vim.tbl_deep_extend("keep", lsp_capabilities, {
|
||||
textDocument = {
|
||||
foldingRange = {
|
||||
dynamicRegistration = false,
|
||||
lineFoldingOnly = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
local default_setup = function(server)
|
||||
lsp[server].setup({
|
||||
capabilities = lsp_capabilities,
|
||||
local function extend_capabilities(capabilities)
|
||||
return vim.tbl_deep_extend("keep", capabilities, {
|
||||
textDocument = {
|
||||
foldingRange = {
|
||||
dynamicRegistration = false,
|
||||
lineFoldingOnly = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
for server, config in pairs(opts.servers) do
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities(config.capabilities)
|
||||
config.capabilities = extend_capabilities(capabilities)
|
||||
lspconfig[server].setup(config)
|
||||
end
|
||||
|
||||
local default_setup = function(server)
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
lspconfig[server].setup({
|
||||
capabilities = extend_capabilities(capabilities),
|
||||
})
|
||||
end
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
desc = "LSP actions",
|
||||
callback = function(event)
|
||||
@ -43,6 +52,7 @@ return {
|
||||
end
|
||||
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = desc })
|
||||
end
|
||||
local trouble = require("trouble")
|
||||
|
||||
nmap("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
||||
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
||||
@ -66,11 +76,9 @@ return {
|
||||
nmap("<leader>lj", vim.diagnostic.goto_next, "Diagnostic Next")
|
||||
nmap("<leader>lk", vim.diagnostic.goto_prev, "Diagnostic Prev")
|
||||
nmap("]d", function()
|
||||
local trouble = require("trouble")
|
||||
trouble.next({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "LSP: Trouble Next")
|
||||
nmap("[d", function()
|
||||
local trouble = require("trouble")
|
||||
trouble.prev({ mode = "diagnostics", skip_groups = true, jump = true })
|
||||
end, "Trouble Prev")
|
||||
vim.keymap.set(
|
||||
@ -120,9 +128,6 @@ return {
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
border = "rounded",
|
||||
})
|
||||
local html_opts = {
|
||||
filetypes = { "html", "htmldjango", "templ" },
|
||||
}
|
||||
|
||||
require("mason-lspconfig").setup({
|
||||
automatic_installation = true,
|
||||
@ -139,46 +144,11 @@ return {
|
||||
"lua_ls",
|
||||
"tailwindcss",
|
||||
"texlab",
|
||||
-- "tinymist",
|
||||
"tinymist",
|
||||
"ts_ls",
|
||||
},
|
||||
handlers = {
|
||||
default_setup,
|
||||
clangd = function()
|
||||
lsp_capabilities.offsetEncoding = { "utf-16" }
|
||||
require("plugins.lsp.clangd").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
bashls = function()
|
||||
require("plugins.lsp.bash").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
emmet_ls = function()
|
||||
require("plugins.lsp.emmet").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
texlab = function()
|
||||
require("plugins.lsp.tex").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
lua_ls = function()
|
||||
require("plugins.lsp.lua").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
htmx = function()
|
||||
lsp.htmx.setup(html_opts)
|
||||
end,
|
||||
pylyzer = function()
|
||||
require("plugins.lsp.pylyzer").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
basedpyright = function()
|
||||
require("plugins.lsp.basedpyright").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
jinja_lsp = function()
|
||||
lsp.jinja_lsp.setup(html_opts)
|
||||
end,
|
||||
html = function()
|
||||
require("plugins.lsp.html").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
tinymist = function()
|
||||
require("plugins.lsp.tinymist").setup(lsp, lsp_capabilities)
|
||||
end,
|
||||
ts_ls = function() end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
||||
@ -5,7 +5,7 @@ return {
|
||||
version = "*",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
-- "saadparwaiz1/cmp_luasnip",
|
||||
},
|
||||
opts = {},
|
||||
config = function(_, opts)
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
return {
|
||||
"folke/neodev.nvim",
|
||||
dependencies = { "rcarriga/nvim-dap-ui" },
|
||||
opts = {
|
||||
library = {
|
||||
enabled = true, -- when not enabled, neodev will not change any settings to the LSP server
|
||||
-- these settings will be used for your Neovim config directory
|
||||
runtime = true, -- runtime path
|
||||
types = true, -- full signature, docs and completion of vim.api, vim.treesitter, vim.lsp and others
|
||||
-- plugins = true, -- installed opt or start plugins in packpath
|
||||
-- you can also specify the list of plugins to make available as a workspace library
|
||||
plugins = { "nvim-treesitter", "plenary.nvim", "telescope.nvim", "nvim-dap-ui" },
|
||||
},
|
||||
setup_jsonls = true, -- configures jsonls to provide completion for project specific .luarc.json files
|
||||
-- for your Neovim config directory, the config.library settings will be used as is
|
||||
-- for plugin directories (root_dirs having a /lua directory), config.library.plugins will be disabled
|
||||
-- for any other directory, config.library.enabled will be set to false
|
||||
override = function(root_dir, options) end,
|
||||
-- With lspconfig, Neodev will automatically setup your lua-language-server
|
||||
-- If you disable this, then you have to set {before_init=require("neodev.lsp").before_init}
|
||||
-- in your lsp start options
|
||||
lspconfig = true,
|
||||
-- much faster, but needs a recent built of lua-language-server
|
||||
-- needs lua-language-server >= 3.6.0
|
||||
pathStrict = true,
|
||||
},
|
||||
}
|
||||
@ -23,6 +23,7 @@ return {
|
||||
fg = "NONE", -- The gui style to use for the fg highlight group.
|
||||
bg = "BOLD", -- The gui style to use for the bg highlight group.
|
||||
},
|
||||
|
||||
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||
-- highlighting of the line containing the todo comment
|
||||
-- * before: highlights before the keyword (typically comment characters)
|
||||
|
||||
@ -112,12 +112,12 @@ return {
|
||||
["[M"] = "@function.outer",
|
||||
["[]"] = "@class.outer",
|
||||
},
|
||||
-- goto_next = {
|
||||
-- [']i'] = "@conditional.inner",
|
||||
-- },
|
||||
-- goto_previous = {
|
||||
-- ['[i'] = "@conditional.inner",
|
||||
-- }
|
||||
goto_next = {
|
||||
["]i"] = "@conditional.inner",
|
||||
},
|
||||
goto_previous = {
|
||||
["[i"] = "@conditional.inner",
|
||||
},
|
||||
},
|
||||
swap = {
|
||||
enable = true,
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
-- version = "*",
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
|
||||
181
lua/solo/lspconfig-opts.lua
Normal file
181
lua/solo/lspconfig-opts.lua
Normal file
@ -0,0 +1,181 @@
|
||||
return {
|
||||
servers = {
|
||||
gopls = {
|
||||
settings = {
|
||||
hints = {
|
||||
rangeVariableTypes = true,
|
||||
parameterNames = true,
|
||||
constantValues = true,
|
||||
assignVariableTypes = true,
|
||||
compositeLiteralFields = true,
|
||||
compositeLiteralTypes = true,
|
||||
functionTypeParameters = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim", "awesome", "client" },
|
||||
},
|
||||
-- workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
-- library = vim.api.nvim_get_runtime_file("", true),
|
||||
-- },
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
root_pattern = {
|
||||
".stylua.toml",
|
||||
".luarc.json",
|
||||
".luarc.jsonc",
|
||||
".luacheckrc",
|
||||
"stylua.toml",
|
||||
"selene.toml",
|
||||
"selene.yml",
|
||||
".git",
|
||||
},
|
||||
format = {
|
||||
enable = false,
|
||||
},
|
||||
hint = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
clangd = {
|
||||
capabilities = {
|
||||
offsetEncoding = { "utf-16" },
|
||||
},
|
||||
settings = {
|
||||
clangd = {
|
||||
InlayHints = {
|
||||
Designators = true,
|
||||
Enabled = true,
|
||||
ParameterNames = true,
|
||||
DeducedTypes = true,
|
||||
},
|
||||
fallbackFlags = { "-std=c++20" },
|
||||
},
|
||||
},
|
||||
},
|
||||
bashls = {
|
||||
filetypes = {
|
||||
"sh",
|
||||
"bash",
|
||||
"zsh",
|
||||
},
|
||||
},
|
||||
emmet_ls = {
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"typescriptreact",
|
||||
"javascriptreact",
|
||||
"css",
|
||||
"sass",
|
||||
"scss",
|
||||
"less",
|
||||
"eruby",
|
||||
},
|
||||
},
|
||||
texlab = {
|
||||
texlab = {
|
||||
auxDirectory = ".",
|
||||
bibtexFormatter = "texlab",
|
||||
build = {
|
||||
args = { "-pdf", "-interaction=nonstopmode", "-synctex=1", "%f" },
|
||||
executable = "xelatex",
|
||||
forwardSearchAfter = false,
|
||||
onSave = false,
|
||||
},
|
||||
chktex = {
|
||||
onEdit = false,
|
||||
onOpenAndSave = false,
|
||||
},
|
||||
diagnosticsDelay = 0,
|
||||
formatterLineLength = 120,
|
||||
forwardSearch = {
|
||||
args = {},
|
||||
},
|
||||
latexFormatter = "latexindent",
|
||||
latexindent = {
|
||||
modifyLineBreaks = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
htmx = {
|
||||
filetypes = { "html", "htmldjango", "templ" },
|
||||
},
|
||||
--[[ pylyzer = {
|
||||
settings = {
|
||||
python = {
|
||||
diagnostics = true,
|
||||
inlayHints = true,
|
||||
smartCompletion = true,
|
||||
checkOnType = true,
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
--[[ basedpyright = {
|
||||
basedpyright = {
|
||||
analysis = {
|
||||
autoSearchPaths = true,
|
||||
diagnosticMode = "openFilesOnly",
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
--[[ pylsp = {
|
||||
settings = {
|
||||
pylsp = {
|
||||
plugins = {
|
||||
autopep8 = { enabled = false },
|
||||
flake8 = { enabled = false },
|
||||
pylint = { enabled = false },
|
||||
yapf = { enabled = false },
|
||||
pydocstyle = { enabled = false },
|
||||
mccabe = { enabled = false },
|
||||
rope_autoimport = { enabled = true },
|
||||
rope_completion = {
|
||||
enabled = true,
|
||||
eager = true,
|
||||
},
|
||||
pycodestyle = {
|
||||
maxLineLength = nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}, ]]
|
||||
jinja_lsp = {
|
||||
filetypes = { "html", "htmldjango", "templ" },
|
||||
},
|
||||
html = {
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"templ",
|
||||
},
|
||||
init_options = {
|
||||
provideFormatter = false,
|
||||
},
|
||||
},
|
||||
tinymist = {
|
||||
offset_encoding = "utf-8",
|
||||
settings = {
|
||||
exportPdf = "onType",
|
||||
outputPath = "$root/target/$dir/$name",
|
||||
},
|
||||
},
|
||||
ts_ls = {},
|
||||
},
|
||||
}
|
||||
@ -1,11 +1,11 @@
|
||||
vim.cmd([[
|
||||
aunmenu PopUp
|
||||
anoremenu PopUp.Inspect <cmd>Inspect<cr>
|
||||
amenu PopUp.-1- <cmd>Inspect<cr>
|
||||
amenu PopUp.-1- <NOP>
|
||||
anoremenu PopUp.Definition <cmd>lua vim.lsp.buf.definition()<cr>
|
||||
anoremenu PopUp.References <cmd>Telescope lsp_references<cr>
|
||||
nnoremenu PopUp.Back <C-t>
|
||||
amenu PopUp.-2- <cmd>Inspect<cr>
|
||||
amenu PopUp.-2- <NOP>
|
||||
amenu PopUp.URL gx
|
||||
]])
|
||||
|
||||
@ -27,12 +27,12 @@ vim.api.nvim_create_autocmd("MenuPopup", {
|
||||
amenu enable PopUp.References
|
||||
]])
|
||||
end
|
||||
local urls = require("vim.ui")._get_urls()
|
||||
if vim.startswith(urls[1], "http") then
|
||||
vim.cmd([[
|
||||
amenu disable Popup.-2-
|
||||
amentu enable PopUp.URL
|
||||
]])
|
||||
end
|
||||
-- local urls = require("vim.ui")._get_urls()
|
||||
-- if vim.startswith(urls[1], "http") then
|
||||
-- vim.cmd([[
|
||||
-- amenu disable Popup.-2-
|
||||
-- amentu enable PopUp.URL
|
||||
-- ]])
|
||||
-- end
|
||||
end,
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user