Update 2024-05-24

This commit is contained in:
Kristofers Solo
2024-05-24 12:04:55 +03:00
committed by Kristofers Solo
parent 772a83c24f
commit fa1adf8188
38 changed files with 296 additions and 332 deletions

View File

@@ -1,68 +0,0 @@
return {
"p00f/clangd_extensions.nvim",
ft = { "cpp", "c" },
opts = {
inlay_hints = {
inline = vim.fn.has("nvim-0.10") == 1,
autoSetHints = false,
-- Options other than `highlight' and `priority' only work
-- if `inline' is disabled
-- Only show inlay hints for the current line
only_current_line = false,
-- Event which triggers a refresh of the inlay hints.
-- You can make this { "CursorMoved" } or { "CursorMoved,CursorMovedI" } but
-- not that this may cause higher CPU usage.
-- This option is only respected when only_current_line and
-- autoSetHints both are true.
only_current_line_autocmd = { "CursorHold" },
-- whether to show parameter hints with the inlay hints or not
show_parameter_hints = true,
-- prefix for parameter hints
parameter_hints_prefix = "<- ",
-- prefix for all the other hints (type, chaining)
other_hints_prefix = "=> ",
-- whether to align to the length of the longest line in the file
max_len_align = true,
-- padding from the left if max_len_align is true
max_len_align_padding = 1,
-- whether to align to the extreme right or not
right_align = false,
-- padding from the right if right_align is true
right_align_padding = 8,
-- The color of the hints
highlight = "Comment",
-- The highlight group priority for extmark
priority = 100,
},
ast = {
role_icons = {
type = "",
declaration = "",
expression = "",
specifier = "",
statement = "",
["template argument"] = "",
},
kind_icons = {
Compound = "",
Recovery = "",
TranslationUnit = "",
PackExpansion = "",
TemplateTypeParm = "",
TemplateTemplateParm = "",
TemplateParamObject = "",
},
highlights = {
detail = "Comment",
},
},
memory_usage = {
border = "none",
},
symbol_info = {
border = "none",
},
},
}

View File

@@ -11,7 +11,7 @@ return {
{
"vrslev/cmp-pypi",
dependencies = { "nvim-lua/plenary.nvim" },
event = { "BufRead pyproject.toml", "BufRead requirements.txt", "BufRead requirements_dev.txt" },
event = { "BufRead pyproject.toml" },
},
{ "kristijanhusak/vim-dadbod-completion", dependencies = { "tpope/vim-dadbod" } },
"SergioRibera/cmp-dotenv",
@@ -21,12 +21,10 @@ return {
"Exafunction/codeium.nvim",
"petertriho/cmp-git",
"davidsierradz/cmp-conventionalcommits",
"ryo33/nvim-cmp-rust",
},
config = function()
local cmp = require("cmp")
local luasnip = require("luasnip")
local compare = require("cmp.config.compare")
local kind_icons = {
Text = "󰉿",
Method = "󰆧",
@@ -59,8 +57,8 @@ return {
cmp.setup({
mapping = {
["<C-p>"] = cmp.mapping.select_prev_item({behavior=cmp.SelectBehavior.Insert}),
["<C-n>"] = cmp.mapping.select_next_item({behavior=cmp.SelectBehavior.Insert}),
["<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(),
@@ -129,36 +127,6 @@ return {
behavior = cmp.ConfirmBehavior.Replace,
select = false,
},
filetypes = {
sorting = {
priority_weight = 2,
comparators = {
-- deprioritize `.box`, `.mut`, etc.
require("cmp-rust").deprioritize_postfix,
-- deprioritize `Borrow::borrow` and `BorrowMut::borrow_mut`
require("cmp-rust").deprioritize_borrow,
-- deprioritize `Deref::deref` and `DerefMut::deref_mut`
require("cmp-rust").deprioritize_deref,
-- deprioritize `Into::into`, `Clone::clone`, etc.
require("cmp-rust").deprioritize_common_traits,
compare.offset,
compare.exact,
compare.score,
compare.recently_used,
compare.locality,
compare.sort_text,
compare.length,
compare.order,
},
},
},
})
--[[ cmp.setup.cmdline("/", {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = "buffer" },
},
}) ]]
end,
}

View File

@@ -5,12 +5,10 @@ return {
cmd = { "ConformInfo" },
keys = {
{
-- Customize or remove this keymap to your liking
"<leader>f",
function()
require("conform").format({ async = true, lsp_fallback = true })
end,
mode = "",
desc = "[F]ormat buffer",
},
},

View File

@@ -139,9 +139,9 @@ return {
yanked = "  yanked ",
},
},
null_ls = {
--[[ null_ls = {
enabled = true,
name = "crates.nvim",
},
}, ]]
},
}

View File

@@ -1,20 +1,14 @@
return {
"jayp0521/mason-nvim-dap.nvim",
opts = {
ensure_installed = {
"python",
"codelldb",
},
automatic_install = true,
},
"mfussenegger/nvim-dap",
dependencies = {
"jayp0521/mason-nvim-dap.nvim",
"williamboman/mason.nvim",
{ "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" } },
"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",
"williamboman/mason.nvim",
},
keys = {
{
@@ -132,33 +126,47 @@ return {
desc = "[S]copes",
},
{
"<F5>",
"<F1>",
function()
require("dap").continue()
end,
desc = "DAP Continue",
},
{
"<F10>",
function()
require("dap").step_over()
end,
desc = "DAP Step Over",
},
{
"<F11>",
"<F2>",
function()
require("dap").step_into()
end,
desc = "DAP Step Into",
},
{
"<F12>",
"<F3>",
function()
require("dap").step_over()
end,
desc = "DAP Step Over",
},
{
"<F4>",
function()
require("dap").step_out()
end,
desc = "DAP Step Out",
},
{
"<F5>",
function()
require("dap").step_back()
end,
desc = "DAP Step Back",
},
{
"<F6>",
function()
require("dap").restart()
end,
desc = "DAP Restart",
},
},
config = function()
local dap = require("dap")
@@ -181,24 +189,20 @@ return {
local mason_registry = require("mason-registry")
dapui.setup()
require("mason-nvim-dap").setup({
ensure_installed = {
"python",
},
automatic_install = true,
})
require("nvim-dap-virtual-text").setup({})
-- Python
local debugpy = mason_registry.get_package("debugpy")
local debugpy_path = debugpy:get_install_path() .. "/venv/bin/python"
require("dap-python").setup(debugpy_path)
local codelldb = mason_registry.get_package("codelldb")
local codelldb_path = codelldb:get_install_path() .. "/codelldb"
local liblldb_path = codelldb:get_install_path() .. "/extension/lldb/lib/liblldb.so"
-- Rust
require("rust-tools").setup({
dap = {
adapter = require("rust-tools.dap").get_codelldb_adapter(codelldb_path, liblldb_path),
},
})
-- dap.configurations.rust = {}
-- C/C++
dap.adapters.gdb = {
type = "executable",

View File

@@ -1,8 +1,9 @@
return {
"MysticalDevil/inlay-hints.nvim",
name = "inlay",
event = "LspAttach",
enabled = false,
dependencies = { "neovim/nvim-lspconfig" },
opts = {},
opts = {
commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable`
autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event
},
}

View File

@@ -4,7 +4,7 @@ M.setup = function(lsp, capabilities)
capabilities = capabilities
lsp.clangd.setup({
capabilities = capabilities,
--[[ settings = {
settings = {
clangd = {
InlayHints = {
Designators = true,
@@ -14,7 +14,7 @@ M.setup = function(lsp, capabilities)
},
fallbackFlags = { "-std=c++20" },
},
}, ]]
},
})
end

20
lua/plugins/lsp/gopls.lua Normal file
View File

@@ -0,0 +1,20 @@
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

17
lua/plugins/lsp/html.lua Normal file
View File

@@ -0,0 +1,17 @@
local M = {}
M.setup = function(lsp, capabilities)
lsp.html.setup({
capabilities = capabilities,
filetypes = {
"html",
"htmldjango",
"templ",
},
init_options = {
provideFormatter = false,
},
})
end
return M

View File

@@ -1,35 +0,0 @@
local M = {}
M.setup = function(lsp, capabilities)
capabilities = capabilities
lsp.tsserver.setup({
ssettings = {
typescript = {
inlayHints = {
includeInlayParameterNameHints = "all",
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayVariableTypeHints = true,
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayEnumMemberValueHints = true,
},
},
javascript = {
inlayHints = {
includeInlayParameterNameHints = "all",
includeInlayParameterNameHintsWhenArgumentMatchesName = true,
includeInlayFunctionParameterTypeHints = true,
includeInlayVariableTypeHints = true,
includeInlayVariableTypeHintsWhenTypeMatchesName = true,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayEnumMemberValueHints = true,
},
},
},
})
end
return M

View File

@@ -14,6 +14,14 @@ return {
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 default_setup = function(server)
lsp[server].setup({
@@ -113,7 +121,7 @@ return {
border = "rounded",
})
local html_opts = {
filetypes = { "html", "htmldjango" },
filetypes = { "html", "htmldjango", "templ" },
}
require("mason-lspconfig").setup({
@@ -131,20 +139,11 @@ return {
"lua_ls",
"tailwindcss",
"texlab",
"tsserver",
-- "rust_analyzer",
},
handlers = {
default_setup,
clangd = function()
lsp_capabilities.offsetEncoding = { "utf-16" }
vim.api.nvim_create_autocmd("LspAttach", {
desc = "enable inlay hints",
callback = function()
require("clangd_extensions.inlay_hints").setup_autocmd()
require("clangd_extensions.inlay_hints").set_inlay_hints()
end,
})
require("plugins.lsp.clangd").setup(lsp, lsp_capabilities)
end,
bashls = function()
@@ -172,24 +171,8 @@ return {
lsp.jinja_lsp.setup(html_opts)
end,
html = function()
lsp.html.setup(html_opts)
require("plugins.lsp.html").setup(lsp, lsp_capabilities)
end,
tsserver = function()
require("plugins.lsp.tsserver").setup(lsp, lsp_capabilities)
end,
--[[ eslint = function()
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(client, bufnr)
vim.api.nvim_create_autocmd("BufWritePre", {
buffer = bufnr,
command = "EslintFixAll",
})
end,
})
lsp.eslint.setup({
capabilities = lsp_capabilities,
})
end, ]]
},
})
end,

21
lua/plugins/noetest.lua Normal file
View File

@@ -0,0 +1,21 @@
return {
"nvim-neotest/neotest",
dependencies = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-neotest/neotest-python",
"marilari88/neotest-vitest",
"mrcjkb/rustaceanvim",
"alfaix/neotest-gtest",
},
opts = {
adapters = {
["neotest-python"] = {},
["neotest-vitest"] = {},
["rustaceanvim.neotest"] = {},
["neotest-gtest"] = {},
},
},
}

View File

@@ -1,9 +0,0 @@
return {
"pwntester/octo.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
"nvim-tree/nvim-web-devicons",
},
opts = {},
}

View File

@@ -0,0 +1,13 @@
return {
"MeanderingProgrammer/py-requirements.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {
enable_cmp = true,
file_patterns = { "requirements.txt", "requirements_dev.txt", "requirements-dev.txt" },
float_opts = { border = "rounded" },
filter = {
final_release = false,
yanked = true,
},
},
}

View File

@@ -0,0 +1,19 @@
return {
"cameron-wags/rainbow_csv.nvim",
ft = {
"csv",
"tsv",
"csv_semicolon",
"csv_whitespace",
"csv_pipe",
"rfc_csv",
"rfc_semicolon",
},
cmd = {
"RainbowDelim",
"RainbowDelimSimple",
"RainbowDelimQuoted",
"RainbowMultiDelim",
},
opts = true,
}

View File

@@ -1,10 +1,11 @@
return {
"HiPhish/rainbow-delimiters.nvim",
config = function()
require("rainbow-delimiters.setup").setup({
strategy = {},
query = {},
highlight = {},
})
opts = {
strategy = {},
query = {},
highlight = {},
},
config = function(_, opts)
require("rainbow-delimiters.setup").setup(opts)
end,
}

View File

@@ -2,6 +2,7 @@ return {
"simrat39/rust-tools.nvim",
dependencies = { "neovim/nvim-lspconfig" },
ft = "rust",
enabled = false,
opts = {
tools = {
-- on_initialized = nil,

View File

@@ -1,48 +1,54 @@
return {
"mrcjkb/rustaceanvim",
version = "^4", -- Recommended
lazy = false, -- This plugin is already lazy
enabled = false,
config = function()
vim.g.rustaceanvim = {
server = {
settings = {
["rust-analyzer"] = {
inlayHints = {
bindingModeHints = {
enable = false,
},
chainingHints = {
enable = true,
},
closingBraceHints = {
enable = true,
minLines = 25,
},
closureReturnTypeHints = {
enable = true,
},
lifetimeElisionHints = {
enable = true,
useParameterNames = true,
},
maxLength = 25,
parameterHints = {
enable = true,
},
reborrowHints = {
enable = true,
},
renderColons = true,
typeHints = {
enable = true,
hideClosureInitialization = true,
hideNamedConstructor = true,
},
version = "^4",
lazy = false,
ft = { "rust" },
opts = {
tools = {},
server = {
settings = {
-- on_attach = function(client, bufnr)
-- -- you can also put keymaps in here
-- end,
["rust-analyzer"] = {
inlayHints = {
bindingModeHints = {
enable = false,
},
chainingHints = {
enable = true,
},
closingBraceHints = {
enable = true,
minLines = 25,
},
closureReturnTypeHints = {
enable = true,
},
lifetimeElisionHints = {
enable = true,
useParameterNames = true,
},
maxLength = 25,
parameterHints = {
enable = true,
},
reborrowHints = {
enable = true,
},
renderColons = true,
typeHints = {
enable = true,
hideClosureInitialization = true,
hideNamedConstructor = true,
},
},
},
},
}
},
dap = {},
},
config = function(_, opts)
vim.g.rustaceanvim = opts
end,
}

View File

@@ -0,0 +1,4 @@
return {
"dstein64/vim-startuptime",
cmd = "StartupTime",
}

View File

@@ -1,22 +0,0 @@
return {
"luckasRanarison/tailwind-tools.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter" },
enabled = false,
ft = { "html" },
opts = {
document_color = {
enabled = true, -- can be toggled by commands
kind = "inline", -- "inline" | "foreground" | "background"
inline_symbol = "󰝤 ", -- only used in inline mode
debounce = 200, -- in milliseconds, only applied in insert mode
},
conceal = {
enabled = false, -- can be toggled by commands
symbol = "󱏿", -- only a single character is allowed
highlight = { -- extmark highlight options, see :h 'highlight'
fg = "#38BDF8",
},
},
custom_filetypes = {}, -- see the extension section to learn how it works
},
}

View File

@@ -3,7 +3,6 @@ return {
build = ":TSUpdate",
dependencies = {
"nvim-treesitter/nvim-treesitter-context",
"mechatroner/rainbow_csv",
"JoosepAlviste/nvim-ts-context-commentstring",
"nvim-treesitter/nvim-treesitter-textobjects",
"luckasRanarison/tree-sitter-hyprlang",

View File

@@ -1,6 +1,7 @@
return {
"pmizio/typescript-tools.nvim",
dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" },
opts = {
handlers = {},
settings = {
@@ -12,13 +13,15 @@ return {
-- "remove_unused_imports"|"organize_imports") -- or string "all"
-- to include all supported code actions
-- specify commands exposed as code_actions
expose_as_code_action = {},
expose_as_code_action = "all",
-- string|nil - specify a custom path to `tsserver.js` file, if this is nil or file under path
-- not exists then standard path resolution strategy is applied
tsserver_path = nil,
-- specify a list of plugins to load by tsserver, e.g., for support `styled-components`
-- (see 💅 `styled-components` support section)
tsserver_plugins = {},
tsserver_plugins = {
"@styled/typescript-styled-plugin",
},
-- this value is passed to: https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes
-- memory limit in megabytes or "auto"(basically no limit)
tsserver_max_memory = "auto",

43
lua/plugins/ufo.lua Normal file
View File

@@ -0,0 +1,43 @@
return {
"kevinhwang91/nvim-ufo",
dependencies = { "kevinhwang91/promise-async" },
enabled = false,
keys = {
{
"zR",
function()
require("ufo").openAllFolds()
end,
desc = "Open all folds",
},
{
"zM",
function()
require("ufo").closeAllFolds()
end,
desc = "Close all folds",
},
{
"zK",
function()
require("ufo").peekFoldedLinesUnderCursor()
end,
desc = "Peek fold",
},
},
opts = {
close_fold_kinds_for_ft = {
default = { "imports", "comment" },
json = { "array" },
c = { "comment", "region" },
},
preview = {
win_config = {
winblend = 0,
},
},
provider_selector = function(_, filetype, buftype)
return { "lsp", "treesitter" }
end,
},
}