formatted

This commit is contained in:
Aram Markarov
2025-12-11 00:21:33 +01:00
parent 126ee70634
commit c18e540835
20 changed files with 520 additions and 762 deletions
+3 -6
View File
@@ -3,16 +3,13 @@ require("options")
require("config.lazy") require("config.lazy")
require("mappings") require("mappings")
vim.cmd("source ~/.config/nvim/suda.vim") vim.cmd("source ~/.config/nvim/suda.vim")
local time = tonumber( os.date "%H" ) local time = tonumber(os.date "%H")
vim.filetype.add({ vim.filetype.add({
pattern = { pattern = {[".*/hypr/.*%.conf"] = "hyprlang", [".*/uwsm/env.*"] = "zsh"}
[".*/hypr/.*%.conf"] = "hyprlang",
[".*/uwsm/env.*"] = "zsh",
}
}) })
vim.cmd[[colorscheme catppuccin-macchiato]] vim.cmd [[colorscheme catppuccin-macchiato]]
-- vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) -- vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
-- vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" }) -- vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" })
+4 -6
View File
@@ -1,10 +1,8 @@
local autocmd = vim.api.nvim_create_autocmd local autocmd = vim.api.nvim_create_autocmd
autocmd("BufWritePre", { autocmd("BufWritePre", {
callback = function() callback = function()
local ok = pcall(function() local ok = pcall(function() vim.cmd "undojoin" end)
vim.cmd "undojoin" vim.cmd "Neoformat"
end) end
vim.cmd "Neoformat"
end,
}) })
+36 -37
View File
@@ -1,38 +1,37 @@
require("auto-session").setup ({ require("auto-session").setup({
{ {
enabled = true, enabled = true,
root_dir = vim.fn.stdpath "data" .. "/sessions/", root_dir = vim.fn.stdpath "data" .. "/sessions/",
auto_save = true, auto_save = true,
auto_restore = true, auto_restore = true,
auto_create = true, auto_create = true,
suppressed_dirs = nil, suppressed_dirs = nil,
allowed_dirs = nil, allowed_dirs = nil,
auto_restore_last_session = false, auto_restore_last_session = false,
use_git_branch = false, use_git_branch = false,
lazy_support = true, lazy_support = true,
bypass_save_filetypes = nil, bypass_save_filetypes = nil,
close_unsupported_windows = true, close_unsupported_windows = true,
args_allow_single_directory = true, args_allow_single_directory = true,
args_allow_files_auto_save = false, args_allow_files_auto_save = false,
continue_restore_on_error = true, continue_restore_on_error = true,
show_auto_restore_notif = false, show_auto_restore_notif = false,
cwd_change_handling = false, cwd_change_handling = false,
lsp_stop_on_restore = false, lsp_stop_on_restore = false,
log_level = "error", log_level = "error",
session_lens = { session_lens = {
load_on_setup = true, load_on_setup = true,
theme_conf = { theme_conf = {},
}, previewer = false,
previewer = false, mappings = {
mappings = { delete_session = {"i", "<C-D>"},
delete_session = { "i", "<C-D>" }, alternate_session = {"i", "<C-S>"},
alternate_session = { "i", "<C-S>" }, copy_session = {"i", "<C-Y>"}
copy_session = { "i", "<C-Y>" }, },
}, session_control = {
session_control = { control_dir = vim.fn.stdpath "data" .. "/auto_session/",
control_dir = vim.fn.stdpath "data" .. "/auto_session/", control_filename = "session_control.json"
control_filename = "session_control.json", }
}, }
}, }
}
}) })
+10 -17
View File
@@ -1,32 +1,25 @@
require("bufferline").setup ({ require("bufferline").setup({
options = { options = {
diagnostics = "coc", diagnostics = "coc",
diagnostics_indicator = function(count, level, diagnostics_dict, context) diagnostics_indicator = function(count, level, diagnostics_dict, context)
local s = " " local s = " "
for e, n in pairs(diagnostics_dict) do for e, n in pairs(diagnostics_dict) do
local sym = e == "error" and "" local sym = e == "error" and "" or
or (e == "warning" and "" or "") (e == "warning" and "" or "")
s = s .. n .. sym s = s .. n .. sym
end end
return s return s
end, end,
always_show_bufferline = true, always_show_bufferline = true,
offsets = { offsets = {
{ {filetype = "NvimTree", text = "Explorer", text_align = "center"},
filetype = "NvimTree", {filetype = "snacks_layout_box"}
text = "Explorer",
text_align = "center",
},
{
filetype = "snacks_layout_box",
},
}, },
vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete" }, { vim.api.nvim_create_autocmd({"BufAdd", "BufDelete"},
{
callback = function() callback = function()
vim.schedule(function() vim.schedule(function() pcall(nvim_bufferline) end)
pcall(nvim_bufferline) end
end)
end,
}) })
}, }
}) })
+4 -3
View File
@@ -4,7 +4,8 @@ require("colorizer").setup({
virtualtext = "", virtualtext = "",
css = true, css = true,
tailwind = true, tailwind = true,
sass = { enable = true, parsers = { "css" }}, sass = {enable = true, parsers = {"css"}},
virtualtext_inline = 'before', virtualtext_inline = 'before'
}, }
}) })
-64
View File
@@ -1,64 +0,0 @@
require("copilot").setup({
panel = {
enabled = true,
auto_refresh = true,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<M-CR>"
},
layout = {
position = "bottom", -- | top | left | right | horizontal | vertical
ratio = 0.4
},
},
suggestion = {
enabled = true,
auto_trigger = true,
hide_during_completion = true,
debounce = 75,
keymap = {
accept = "<A-tab>",
accept_word = false,
accept_line = false,
next = "<M-]>",
prev = "<M-[>",
dismiss = "<C-]>",
},
},
filetypes = {
-- yaml = false,
-- markdown = false,
-- help = false,
-- gitcommit = false,
-- gitrebase = false,
-- hgcommit = false,
-- svn = false,
-- cvs = false,
-- python = false,
-- html = false,
-- css = false,
-- sh = false,
-- tex = false,
-- typescript = false,
-- java = false,
-- swift = false,
-- cpp = false,
-- hypr = false,
-- ["."] = false,
},
copilot_node_command = 'node', -- Node.js version must be > 18.x
server_opts_overrides = {},
vim.api.nvim_create_autocmd({ "VimLeavePre" }, {
callback = function()
vim.cmd( "CopilotChatSave AutoSave" )
end,
}),
vim.api.nvim_create_autocmd( "VimEnter", {
callback = function()
vim.cmd( "CopilotChatLoad AutoSave" )
end,
}),
})
+87 -91
View File
@@ -1,115 +1,111 @@
local dap = require('dap') local dap = require('dap')
dap.adapters.python = function(cb, config) dap.adapters.python = function(cb, config)
if config.request == 'attach' then if config.request == 'attach' then
---@diagnostic disable-next-line: undefined-field ---@diagnostic disable-next-line: undefined-field
local port = (config.connect or config).port local port = (config.connect or config).port
---@diagnostic disable-next-line: undefined-field ---@diagnostic disable-next-line: undefined-field
local host = (config.connect or config).host or '127.0.0.1' local host = (config.connect or config).host or '127.0.0.1'
cb({ cb({
type = 'server', type = 'server',
port = assert(port, '`connect.port` is required for a python `attach` configuration'), port = assert(port,
host = host, '`connect.port` is required for a python `attach` configuration'),
options = { host = host,
source_filetype = 'python', options = {source_filetype = 'python'}
}, })
}) else
else cb({
cb({ type = 'executable',
type = 'executable', command = 'path/to/virtualenvs/debugpy/bin/python',
command = 'path/to/virtualenvs/debugpy/bin/python', args = {'-m', 'debugpy.adapter'},
args = { '-m', 'debugpy.adapter' }, options = {source_filetype = 'python'}
options = { })
source_filetype = 'python', end
},
})
end
end end
dap.configurations.python = { dap.configurations.python = {
{ {
-- The first three options are required by nvim-dap -- The first three options are required by nvim-dap
type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` type = 'python', -- the type here established the link to the adapter definition: `dap.adapters.python`
request = 'launch'; request = 'launch',
name = "Launch file"; name = "Launch file",
-- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options
program = "${file}"; -- This configuration will launch the current file if used. program = "${file}", -- This configuration will launch the current file if used.
pythonPath = function() pythonPath = function()
-- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself. -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself.
-- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within. -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within.
-- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable. -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable.
local cwd = vim.fn.getcwd() local cwd = vim.fn.getcwd()
if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
return cwd .. '/venv/bin/python' return cwd .. '/venv/bin/python'
elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
return cwd .. '/.venv/bin/python' return cwd .. '/.venv/bin/python'
else else
return '/home/zach/miniconda3/bin/python' return '/home/zach/miniconda3/bin/python'
end end
end; end
}, }
} }
dap.adapters.lldb = { dap.adapters.lldb = {
type = 'executable', type = 'executable',
command = '/usr/bin/lldb-vscode', -- adjust as needed, must be absolute path command = '/usr/bin/lldb-vscode', -- adjust as needed, must be absolute path
name = 'lldb' name = 'lldb'
} }
dap.configurations.cpp = { dap.configurations.cpp = {
{ {
name = 'Launch', name = 'Launch',
type = 'lldb', type = 'lldb',
request = 'launch', request = 'launch',
program = function() program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/',
end, 'file')
cwd = '${workspaceFolder}', end,
stopOnEntry = false, cwd = '${workspaceFolder}',
args = {}, stopOnEntry = false,
args = {}
-- 💀 -- 💀
-- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting: -- if you change `runInTerminal` to true, you might need to change the yama/ptrace_scope setting:
-- --
-- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope -- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
-- --
-- Otherwise you might get the following error: -- Otherwise you might get the following error:
-- --
-- Error on launch: Failed to attach to the target process -- Error on launch: Failed to attach to the target process
-- --
-- But you should be aware of the implications: -- But you should be aware of the implications:
-- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html -- https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html
-- runInTerminal = false, -- runInTerminal = false,
}, }
} }
dap.adapters["pwa-node"] = { dap.adapters["pwa-node"] = {
type = "server", type = "server",
host = "localhost", host = "localhost",
port = "${port}", port = "${port}",
executable = { executable = {
command = "node", command = "node",
-- 💀 Make sure to update this path to point to your installation -- 💀 Make sure to update this path to point to your installation
args = {"/home/zach/.config/nvim/java-dap/js-debug/src/dapDebugServer.js", "${port}"}, args = {
} "/home/zach/.config/nvim/java-dap/js-debug/src/dapDebugServer.js",
"${port}"
}
}
} }
dap.configurations.javascript = { dap.configurations.javascript = {
{ {
type = "pwa-node", type = "pwa-node",
request = "launch", request = "launch",
name = "Launch file", name = "Launch file",
program = "${file}", program = "${file}",
cwd = "${workspaceFolder}", cwd = "${workspaceFolder}"
}, }
} }
dap.configurations.java = { dap.configurations.java = {
{ {type = "java", name = "Debug", request = "launch", program = "${file}"}
type = "java",
name = "Debug",
request = "launch",
program = "${file}",
},
} }
+13 -20
View File
@@ -1,29 +1,22 @@
local highlight = { local highlight = {
"RainbowRed", "RainbowRed", "RainbowYellow", "RainbowBlue", "RainbowOrange",
"RainbowYellow", "RainbowGreen", "RainbowViolet", "RainbowCyan"
"RainbowBlue",
"RainbowOrange",
"RainbowGreen",
"RainbowViolet",
"RainbowCyan",
} }
local hooks = require "ibl.hooks" local hooks = require "ibl.hooks"
-- create the highlight groups in the highlight setup hook, so they are reset -- create the highlight groups in the highlight setup hook, so they are reset
-- every time the colorscheme changes -- every time the colorscheme changes
hooks.register(hooks.type.HIGHLIGHT_SETUP, function() hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) vim.api.nvim_set_hl(0, "RainbowRed", {fg = "#E06C75"})
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) vim.api.nvim_set_hl(0, "RainbowYellow", {fg = "#E5C07B"})
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) vim.api.nvim_set_hl(0, "RainbowBlue", {fg = "#61AFEF"})
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) vim.api.nvim_set_hl(0, "RainbowOrange", {fg = "#D19A66"})
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) vim.api.nvim_set_hl(0, "RainbowGreen", {fg = "#98C379"})
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) vim.api.nvim_set_hl(0, "RainbowViolet", {fg = "#C678DD"})
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) vim.api.nvim_set_hl(0, "RainbowCyan", {fg = "#56B6C2"})
end) end)
vim.g.rainbow_delimiters = { highlight = highlight } vim.g.rainbow_delimiters = {highlight = highlight}
require("ibl").setup { require("ibl").setup {indent = {char = ""}, scope = {highlight = highlight}}
indent = { char = "" },
scope = { highlight = highlight }
}
hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark) hooks.register(hooks.type.SCOPE_HIGHLIGHT,
hooks.builtin.scope_highlight_from_extmark)
+22 -20
View File
@@ -1,17 +1,19 @@
-- Bootstrap lazy.nvim -- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git" local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) local out = vim.fn.system({
if vim.v.shell_error ~= 0 then "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo,
vim.api.nvim_echo({ lazypath
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" }, })
{ out, "WarningMsg" }, if vim.v.shell_error ~= 0 then
{ "\nPress any key to exit..." }, vim.api.nvim_echo({
}, true, {}) {"Failed to clone lazy.nvim:\n", "ErrorMsg"}, {out, "WarningMsg"},
vim.fn.getchar() {"\nPress any key to exit..."}
os.exit(1) }, true, {})
end vim.fn.getchar()
os.exit(1)
end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
@@ -23,13 +25,13 @@ vim.g.maplocalleader = "\\"
-- Setup lazy.nvim -- Setup lazy.nvim
require("lazy").setup({ require("lazy").setup({
spec = { spec = {
-- import your plugins -- import your plugins
{ import = "plugins" }, {import = "plugins"}
}, },
-- Configure any other settings here. See the documentation for more details. -- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins. -- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } }, install = {colorscheme = {"habamax"}},
-- automatically check for plugin updates -- automatically check for plugin updates
checker = { enabled = true }, checker = {enabled = true}
}) })
+62 -77
View File
@@ -1,38 +1,35 @@
local cmp = require("cmp") local cmp = require("cmp")
local cmp_lsp = require("cmp_nvim_lsp") local cmp_lsp = require("cmp_nvim_lsp")
local capabilities = vim.tbl_deep_extend( local capabilities = vim.tbl_deep_extend("force", {}, vim.lsp.protocol
"force", .make_client_capabilities(),
{}, cmp_lsp.default_capabilities())
vim.lsp.protocol.make_client_capabilities(),
cmp_lsp.default_capabilities()
)
local cmp_kinds = { --change later local cmp_kinds = { -- change later
Text = '', Text = '',
Method = '', Method = '',
Function = '', Function = '',
Constructor = '', Constructor = '',
Field = '', Field = '',
Variable = '', Variable = '',
Class = '', Class = '',
Interface = '', Interface = '',
Module = '', Module = '',
Property = '', Property = '',
Unit = '', Unit = '',
Value = '', Value = '',
Enum = '', Enum = '',
Keyword = '', Keyword = '',
Snippet = '', Snippet = '',
Color = '', Color = '',
File = '', File = '',
Reference = '', Reference = '',
Folder = '', Folder = '',
EnumMember = '', EnumMember = '',
Constant = '', Constant = '',
Struct = '', Struct = '',
Event = '', Event = '',
Operator = '', Operator = '',
TypeParameter = '', TypeParameter = ''
} }
require("fidget").setup({}) require("fidget").setup({})
@@ -40,21 +37,13 @@ require("mason").setup()
require("mason-lspconfig").setup({ require("mason-lspconfig").setup({
automatic_enable = true, automatic_enable = true,
ensure_installed = { ensure_installed = {
"lua_ls", "lua_ls", "rust_analyzer", "jdtls", "yamlls", "ts_ls", "tailwindcss",
"rust_analyzer", "html", "cssls"
"jdtls",
"prettier",
"yamlls",
"ts_ls",
"tailwindcss",
"html",
"cssls",
"shfmt",
}, },
handlers = { handlers = {
function(server_name) -- default handler (optional) function(server_name) -- default handler (optional)
require("lspconfig")[server_name].setup { require("lspconfig")[server_name].setup {
capabilities = capabilities, capabilities = capabilities
} }
end, end,
@@ -62,14 +51,15 @@ require("mason-lspconfig").setup({
local lspconfig = require("lspconfig") local lspconfig = require("lspconfig")
lspconfig.zls.setup({ lspconfig.zls.setup({
capabilities = capabilities, capabilities = capabilities,
root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"), root_dir = lspconfig.util.root_pattern(".git", "build.zig",
"zls.json"),
settings = { settings = {
zls = { zls = {
enable_inlay_hints = true, enable_inlay_hints = true,
enable_snippets = true, enable_snippets = true,
warn_style = true, warn_style = true
}, }
}, }
}) })
vim.g.zig_fmt_parse_errors = 0 vim.g.zig_fmt_parse_errors = 0
vim.g.zig_fmt_autosave = 0 vim.g.zig_fmt_autosave = 0
@@ -81,42 +71,43 @@ require("mason-lspconfig").setup({
capabilities = capabilities, capabilities = capabilities,
settings = { settings = {
Lua = { Lua = {
runtime = { version = "Lua 5.1" }, runtime = {version = "Lua 5.1"},
diagnostics = { diagnostics = {
globals = { "bit", "vim", "it", "describe", "before_each", "after_each" }, globals = {
"bit", "vim", "it", "describe", "before_each",
"after_each"
}
} }
} }
} }
} }
end, end
} }
}) })
cmp.setup { cmp.setup {
formatting = { formatting = {
fields = { 'kind', 'abbr' }, fields = {'kind', 'abbr'},
format = function(entry, vim_item) format = function(entry, vim_item)
vim_item.kind = cmp_kinds[vim_item.kind] or '' vim_item.kind = cmp_kinds[vim_item.kind] or ''
if entry.completion_item.detail then if entry.completion_item.detail then
vim_item.menu = entry.completion_item.detail vim_item.menu = entry.completion_item.detail
end end
return vim_item return vim_item
end, end
}, },
completion = { completeopt = "menu,menuone" }, completion = {completeopt = "menu,menuone"},
snippet = { snippet = {
expand = function(args) expand = function(args) require("luasnip").lsp_expand(args.body) end
require("luasnip").lsp_expand(args.body)
end,
}, },
mapping = { --change later zach is ???? mapping = { -- change later zach is ????
["<C-d>"] = cmp.mapping.scroll_docs(-4), ["<C-d>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4), ["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), ["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(), ["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm { ["<CR>"] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert, behavior = cmp.ConfirmBehavior.Insert,
select = true, select = true
}, },
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
@@ -126,7 +117,7 @@ cmp.setup {
else else
fallback() fallback()
end end
end, { "i", "s" }), end, {"i", "s"}),
["<S-Tab>"] = cmp.mapping(function(fallback) ["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_prev_item() cmp.select_prev_item()
@@ -135,16 +126,13 @@ cmp.setup {
else else
fallback() fallback()
end end
end, { "i", "s" }), end, {"i", "s"})
}, },
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "path" }, {name = "path"}, {name = "nvim_lsp"}, {name = "luasnip"}, -- snip snip
{ name = "nvim_lsp" }, {name = "buffer"}, {name = "nvim_lua"}
{ name = "luasnip" }, -- snip snip })
{ name = "buffer" },
{ name = "nvim_lua" },
}),
} }
vim.diagnostic.config({ vim.diagnostic.config({
@@ -156,21 +144,18 @@ vim.diagnostic.config({
border = "rounded", border = "rounded",
source = "always", source = "always",
header = "", header = "",
prefix = "", prefix = ""
}, }
}) })
vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", { noremap = true, silent = true }) vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>",
vim.api.nvim_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", { noremap = true, silent = true }) {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>",
{noremap = true, silent = true})
local lspconfig = require "lspconfig" local lspconfig = require "lspconfig"
-- EXAMPLE -- EXAMPLE
local servers = { local servers = {}
} for _, server in ipairs(servers) do lspconfig[server].setup {} end
for _, server in ipairs(servers) do
lspconfig[server].setup {
}
end
+45 -84
View File
@@ -1,22 +1,21 @@
local fn = vim.fn local fn = vim.fn
local function get_coc_lsp_client() local function get_coc_lsp_client()
local clients = vim.g.coc_service_initialized and vim.fn['CocAction']('services') or {} local clients = vim.g.coc_service_initialized and
for _, client in pairs(clients) do vim.fn['CocAction']('services') or {}
if client['state'] == 'running' then for _, client in pairs(clients) do
local client_name = client['id'] if client['state'] == 'running' then
-- Remove 'languageserver.' prefix if it exists local client_name = client['id']
client_name = client_name:gsub('^languageserver%.', '') -- Remove 'languageserver.' prefix if it exists
return client_name client_name = client_name:gsub('^languageserver%.', '')
return client_name
end
end end
end return ''
return ''
end end
local function spell() local function spell()
if vim.o.spell then if vim.o.spell then return string.format("[SPELL]") end
return string.format("[SPELL]")
end
return "" return ""
end end
@@ -24,11 +23,10 @@ end
--- show indicator for Chinese IME --- show indicator for Chinese IME
local function ime_state() local function ime_state()
if vim.g.is_mac then if vim.g.is_mac then
local layout = fn.libcall(vim.g.XkbSwitchLib, "Xkb_Switch_getXkbLayout", "") local layout = fn.libcall(vim.g.XkbSwitchLib, "Xkb_Switch_getXkbLayout",
"")
local res = fn.match(layout, [[\v(Squirrel\.Rime|SCIM.ITABC)]]) local res = fn.match(layout, [[\v(Squirrel\.Rime|SCIM.ITABC)]])
if res ~= -1 then if res ~= -1 then return "[CN]" end
return "[CN]"
end
end end
return "" return ""
@@ -36,24 +34,20 @@ end
local diff = function() local diff = function()
local git_status = vim.b.gitsigns_status_dict local git_status = vim.b.gitsigns_status_dict
if git_status == nil then if git_status == nil then return end
return
end
local modify_num = git_status.changed local modify_num = git_status.changed
local remove_num = git_status.removed local remove_num = git_status.removed
local add_num = git_status.added local add_num = git_status.added
local info = { added = add_num, modified = modify_num, removed = remove_num } local info = {added = add_num, modified = modify_num, removed = remove_num}
-- vim.print(info) -- vim.print(info)
return info return info
end end
local virtual_env = function() local virtual_env = function()
-- only show virtual env for Python -- only show virtual env for Python
if vim.bo.filetype ~= "python" then if vim.bo.filetype ~= "python" then return "" end
return ""
end
local conda_env = os.getenv("CONDA_DEFAULT_ENV") local conda_env = os.getenv("CONDA_DEFAULT_ENV")
local venv_path = os.getenv("VIRTUAL_ENV") local venv_path = os.getenv("VIRTUAL_ENV")
@@ -76,16 +70,12 @@ require("lualine").setup {
theme = "auto", theme = "auto",
globalstatus = true, globalstatus = true,
component_separators = '', component_separators = '',
section_separators = { left = '', right = '' }, section_separators = {left = '', right = ''},
disabled_filetypes = {}, disabled_filetypes = {},
always_divide_middle = true, always_divide_middle = true
}, },
sections = { sections = {
lualine_a = { lualine_a = {{"mode"}},
{
"mode",
},
},
lualine_b = { lualine_b = {
{ {
"branch", "branch",
@@ -93,73 +83,44 @@ require("lualine").setup {
-- truncate branch name in case the name is too long -- truncate branch name in case the name is too long
return string.sub(name, 1, 20) return string.sub(name, 1, 20)
end, end,
color = { gui = "italic,bold" }, color = {gui = "italic,bold"},
separator = { right = "" }, separator = {right = ""}
}, }, {virtual_env, color = {fg = "black", bg = "#F1CA81"}}
{
virtual_env,
color = { fg = "black", bg = "#F1CA81" },
},
}, },
lualine_c = { lualine_c = {
{ {"filename", symbols = {readonly = "[🔒]"}},
"filename", {"diff", source = diff},
symbols = { {"%S", color = {gui = "bold", fg = "cyan"}},
readonly = "[🔒]", {spell, color = {fg = "black", bg = "#a7c080"}}
},
},
{
"diff",
source = diff,
},
{
"%S",
color = { gui = "bold", fg = "cyan" },
},
{
spell,
color = { fg = "black", bg = "#a7c080" },
},
}, },
lualine_x = { lualine_x = {
{ {ime_state, color = {fg = "black", bg = "#f46868"}},
ime_state, {get_coc_lsp_client, icon = " LSP:"}, {
color = { fg = "black", bg = "#f46868" },
},
{
get_coc_lsp_client,
icon = " LSP:",
},
{
"diagnostics", "diagnostics",
sources = { "nvim_diagnostic" }, sources = {"nvim_diagnostic"},
symbols = { error = "🆇 ", warn = "⚠️ ", info = " ", hint = "" }, symbols = {
}, error = "🆇 ",
warn = "⚠️ ",
info = " ",
hint = ""
}
}
}, },
lualine_y = { lualine_y = {
{ "encoding", fmt = string.upper }, {"encoding", fmt = string.upper},
{ {"fileformat", symbols = {unix = "", dos = "", mac = ""}},
"fileformat", "filetype"
symbols = {
unix = "",
dos = "",
mac = "",
},
},
"filetype",
},
lualine_z = {
"progress",
}, },
lualine_z = {"progress"}
}, },
inactive_sections = { inactive_sections = {
lualine_a = {}, lualine_a = {},
lualine_b = {}, lualine_b = {},
lualine_c = { "filename" }, lualine_c = {"filename"},
lualine_x = { "location" }, lualine_x = {"location"},
lualine_y = {}, lualine_y = {},
lualine_z = {}, lualine_z = {}
}, },
tabline = {}, tabline = {},
extensions = { "quickfix", "fugitive", "nvim-tree" }, extensions = {"quickfix", "fugitive", "nvim-tree"}
} }
+105 -104
View File
@@ -3,22 +3,22 @@ local dap = require('dap')
require('notify').setup({ require('notify').setup({
render = "wrapped-default", render = "wrapped-default",
timeout = 6000, timeout = 6000,
max_width = 50, max_width = 50,
minimum_width = 50, minimum_width = 50,
level = "info", level = "info",
fps = 60, fps = 60,
icons = { icons = {
ERROR = "", ERROR = "",
WARN = "", WARN = "",
INFO = "", INFO = "",
DEBUG = "", DEBUG = "",
TRACE = "", TRACE = ""
}, },
on_open = function(win) on_open = function(win)
-- vim.api.nvim_win_set_option(win, 'wrap', true) -- vim.api.nvim_win_set_option(win, 'wrap', true)
vim.api.nvim_win_set_option(win, 'breakat', ' ') vim.api.nvim_win_set_option(win, 'breakat', ' ')
end, end
}) })
-- Utility functions shared between progress reports for LSP and DAP -- Utility functions shared between progress reports for LSP and DAP
@@ -26,133 +26,134 @@ require('notify').setup({
local client_notifs = {} local client_notifs = {}
local function get_notif_data(client_id, token) local function get_notif_data(client_id, token)
if not client_notifs[client_id] then if not client_notifs[client_id] then client_notifs[client_id] = {} end
client_notifs[client_id] = {}
end
if not client_notifs[client_id][token] then if not client_notifs[client_id][token] then
client_notifs[client_id][token] = {} client_notifs[client_id][token] = {}
end end
return client_notifs[client_id][token] return client_notifs[client_id][token]
end end
local spinner_frames = {"", "", "", "", "", "", "", ""}
local spinner_frames = { "", "", "", "", "", "", "", "" }
local function update_spinner(client_id, token) local function update_spinner(client_id, token)
local notif_data = get_notif_data(client_id, token) local notif_data = get_notif_data(client_id, token)
if notif_data.spinner then if notif_data.spinner then
local new_spinner = (notif_data.spinner + 1) % #spinner_frames local new_spinner = (notif_data.spinner + 1) % #spinner_frames
notif_data.spinner = new_spinner notif_data.spinner = new_spinner
notif_data.notification = vim.notify(nil, nil, { notif_data.notification = vim.notify(nil, nil, {
hide_from_history = true, hide_from_history = true,
icon = spinner_frames[new_spinner], icon = spinner_frames[new_spinner],
replace = notif_data.notification, replace = notif_data.notification
}) })
vim.defer_fn(function() vim.defer_fn(function() update_spinner(client_id, token) end, 100)
update_spinner(client_id, token) end
end, 100)
end
end end
local function format_title(title, client_name) local function format_title(title, client_name)
return client_name .. (#title > 0 and ": " .. title or "") return client_name .. (#title > 0 and ": " .. title or "")
end end
local function format_message(message, percentage) local function format_message(message, percentage)
return (percentage and percentage .. "%\t" or "") .. (message or "") return (percentage and percentage .. "%\t" or "") .. (message or "")
end end
-- LSP integration -- LSP integration
-- Make sure to also have the snippet with the common helper functions in your config! -- Make sure to also have the snippet with the common helper functions in your config!
vim.lsp.handlers["$/progress"] = function(_, result, ctx) vim.lsp.handlers["$/progress"] = function(_, result, ctx)
local client_id = ctx.client_id local client_id = ctx.client_id
local val = result.value local val = result.value
if not val.kind then if not val.kind then return end
return
end
local notif_data = get_notif_data(client_id, result.token) local notif_data = get_notif_data(client_id, result.token)
if val.kind == "begin" then if val.kind == "begin" then
local message = format_message(val.message, val.percentage) local message = format_message(val.message, val.percentage)
notif_data.notification = vim.notify(message, "info", { notif_data.notification = vim.notify(message, "info", {
title = format_title(val.title, vim.lsp.get_client_by_id(client_id).name), title = format_title(val.title,
icon = spinner_frames[1], vim.lsp.get_client_by_id(client_id).name),
timeout = false, icon = spinner_frames[1],
hide_from_history = false, timeout = false,
}) hide_from_history = false
})
notif_data.spinner = 1 notif_data.spinner = 1
update_spinner(client_id, result.token) update_spinner(client_id, result.token)
elseif val.kind == "report" and notif_data then elseif val.kind == "report" and notif_data then
notif_data.notification = vim.notify(format_message(val.message, val.percentage), "info", { notif_data.notification = vim.notify(
replace = notif_data.notification, format_message(val.message, val.percentage),
hide_from_history = false, "info", {
}) replace = notif_data.notification,
elseif val.kind == "end" and notif_data then hide_from_history = false
notif_data.notification = })
vim.notify(val.message and format_message(val.message) or "Complete", "info", { elseif val.kind == "end" and notif_data then
icon = "", notif_data.notification = vim.notify(val.message and
replace = notif_data.notification, format_message(val.message) or
timeout = 6000, "Complete", "info", {
}) icon = "",
replace = notif_data.notification,
timeout = 6000
})
notif_data.spinner = nil notif_data.spinner = nil
end end
end end
-- table from lsp severity to vim severity. -- table from lsp severity to vim severity.
local severity = { local severity = {"error", "warn", "info"}
"error",
"warn",
"info",
}
vim.lsp.handlers["window/showMessage"] = function(err, method, params, client_id) vim.lsp.handlers["window/showMessage"] =
vim.notify(method.message, severity[params.type]) function(err, method, params, client_id)
end vim.notify(method.message, severity[params.type])
end
-- DAP integration -- DAP integration
-- Make sure to also have the snippet with the common helper functions in your config! -- Make sure to also have the snippet with the common helper functions in your config!
dap.listeners.before['event_progressStart']['progress-notifications'] = function(session, body) dap.listeners.before['event_progressStart']['progress-notifications'] =
local notif_data = get_notif_data("dap", body.progressId) function(session, body)
local notif_data = get_notif_data("dap", body.progressId)
local message = format_message(body.message, body.percentage) local message = format_message(body.message, body.percentage)
notif_data.notification = vim.notify(message, "info", { notif_data.notification = vim.notify(message, "info", {
title = format_title(body.title, session.config.type), title = format_title(body.title, session.config.type),
icon = spinner_frames[1], icon = spinner_frames[1],
timeout = false, timeout = false,
hide_from_history = false, hide_from_history = false
}) })
notif_data.notification.spinner = 1, notif_data.notification.spinner = 1, update_spinner("dap",
update_spinner("dap", body.progressId) body.progressId)
end end
dap.listeners.before['event_progressUpdate']['progress-notifications'] = function(session, body) dap.listeners.before['event_progressUpdate']['progress-notifications'] =
local notif_data = get_notif_data("dap", body.progressId) function(session, body)
notif_data.notification = vim.notify(format_message(body.message, body.percentage), "info", { local notif_data = get_notif_data("dap", body.progressId)
replace = notif_data.notification, notif_data.notification = vim.notify(
hide_from_history = false, format_message(body.message,
}) body.percentage), "info", {
end replace = notif_data.notification,
hide_from_history = false
dap.listeners.before['event_progressEnd']['progress-notifications'] = function(session, body) })
local notif_data = client_notifs["dap"][body.progressId] end
notif_data.notification = vim.notify(body.message and format_message(body.message) or "Complete", "info", {
icon = "", dap.listeners.before['event_progressEnd']['progress-notifications'] = function(
replace = notif_data.notification, session, body)
timeout = 6000 local notif_data = client_notifs["dap"][body.progressId]
}) notif_data.notification = vim.notify(body.message and
notif_data.spinner = nil format_message(body.message) or
"Complete", "info", {
icon = "",
replace = notif_data.notification,
timeout = 6000
})
notif_data.spinner = nil
end end
+4 -12
View File
@@ -1,14 +1,6 @@
require("nvim-tree").setup({ require("nvim-tree").setup({
sort = { sort = {sorter = "case_sensitive"},
sorter = "case_sensitive", view = {width = 45},
}, renderer = {group_empty = true},
view = { filters = {dotfiles = true}
width = 45,
},
renderer = {
group_empty = true,
},
filters = {
dotfiles = true,
},
}) })
+22 -22
View File
@@ -1,25 +1,25 @@
-- Default options: -- Default options:
require("gruvbox").setup({ require("gruvbox").setup({
terminal_colors = true, -- add neovim terminal colors terminal_colors = true, -- add neovim terminal colors
undercurl = true, undercurl = true,
underline = true, underline = true,
bold = true, bold = true,
italic = { italic = {
strings = true, strings = true,
emphasis = true, emphasis = true,
comments = true, comments = true,
operators = false, operators = false,
folds = true, folds = true
}, },
strikethrough = true, strikethrough = true,
invert_selection = false, invert_selection = false,
invert_signs = false, invert_signs = false,
invert_tabline = false, invert_tabline = false,
invert_intend_guides = false, invert_intend_guides = false,
inverse = true, -- invert background for search, diffs, statuslines and errors inverse = true, -- invert background for search, diffs, statuslines and errors
contrast = "", -- can be "hard", "soft" or empty string contrast = "", -- can be "hard", "soft" or empty string
palette_overrides = {}, palette_overrides = {},
overrides = {}, overrides = {},
dim_inactive = false, dim_inactive = false,
transparent_mode = false, transparent_mode = false
}) })
+4 -20
View File
@@ -2,24 +2,8 @@ require'nvim-treesitter.configs'.setup {
ensure_installed = "all", ensure_installed = "all",
sync_install = true, sync_install = true,
auto_install = true, auto_install = true,
highlight = { highlight = {enable = true, additional_vim_regex_highlighting = false},
enable = true, indent = {enable = true, disable = {}},
additional_vim_regex_highlighting = false, ensure_installed = {"jsx", "toml", "json", "yaml", "css", "html", "lua"},
}, autotag = {enable = true}
indent = {
enable = true,
disable = {},
},
ensure_installed = {
"jsx",
"toml",
"json",
"yaml",
"css",
"html",
"lua"
},
autotag = {
enable = true,
},
} }
+18 -17
View File
@@ -1,19 +1,20 @@
require('undotree').setup({ require('undotree').setup({
float_diff = true, float_diff = true,
layout = "left_bottom", layout = "left_bottom",
position = "left", position = "left",
ignore_filetype = { 'undotree', 'undotreeDiff', 'qf', 'TelescopePrompt', 'spectre_panel', 'tsplayground' }, ignore_filetype = {
window = { 'undotree', 'undotreeDiff', 'qf', 'TelescopePrompt', 'spectre_panel',
winblend = 30, 'tsplayground'
}, },
keymaps = { window = {winblend = 30},
['j'] = "move_next", keymaps = {
['k'] = "move_prev", ['j'] = "move_next",
['gj'] = "move2parent", ['k'] = "move_prev",
['J'] = "move_change_next", ['gj'] = "move2parent",
['K'] = "move_change_prev", ['J'] = "move_change_next",
['<cr>'] = "action_enter", ['K'] = "move_change_prev",
['p'] = "enter_diffbuf", ['<cr>'] = "action_enter",
['q'] = "quit", ['p'] = "enter_diffbuf",
}, ['q'] = "quit"
}
}) })
+5 -5
View File
@@ -1,11 +1,11 @@
local time = tonumber( os.date "%H" ) local time = tonumber(os.date "%H")
vim.g.loaded_netrw = 1 vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1 vim.g.loaded_netrwPlugin = 1
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/" vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.gruvbox_material_background = "medium" vim.g.gruvbox_material_background = "medium"
vim.g.coq_settings = { keymap = { recommended = false } } vim.g.coq_settings = {keymap = {recommended = false}}
vim.g.gruvbox_material_foreground = "original" vim.g.gruvbox_material_foreground = "original"
vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = '#009900', ctermfg = 2 }) vim.api.nvim_set_hl(0, 'GitGutterAdd', {fg = '#009900', ctermfg = 2})
vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = '#bbbb00', ctermfg = 3 }) vim.api.nvim_set_hl(0, 'GitGutterChange', {fg = '#bbbb00', ctermfg = 3})
vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = '#ff2222', ctermfg = 1 }) vim.api.nvim_set_hl(0, 'GitGutterDelete', {fg = '#ff2222', ctermfg = 1})
+14 -13
View File
@@ -1,32 +1,35 @@
local map = vim.keymap.set local map = vim.keymap.set
local default_opts = {noremap = true} local default_opts = {noremap = true}
map('n', '<leader>ff', "<cmd>lua require'telescope.builtin'.find_files({ find_command = {'rg', '--files', '--hidden', '-g', '!.git' }})<cr>", default_opts) map('n', '<leader>ff',
"<cmd>lua require'telescope.builtin'.find_files({ find_command = {'rg', '--files', '--hidden', '-g', '!.git' }})<cr>",
default_opts)
map({"n", "v"}, "<leader>ap", require("actions-preview").code_actions) map({"n", "v"}, "<leader>ap", require("actions-preview").code_actions)
map("n", "<Tab>", "<Cmd>BufferLineCycleNext<CR>") map("n", "<Tab>", "<Cmd>BufferLineCycleNext<CR>")
map("n", "<S-Tab>", "<Cmd>BufferLineCyclePrev<CR>") map("n", "<S-Tab>", "<Cmd>BufferLineCyclePrev<CR>")
map("n", ";", ":", { desc = "CMD enter command mode" }) map("n", ";", ":", {desc = "CMD enter command mode"})
-- Move selected text up -- Move selected text up
map("v", "<C-Up>", ":m '<-2<CR>gv=gv", { desc = "Move selected text up" }) map("v", "<C-Up>", ":m '<-2<CR>gv=gv", {desc = "Move selected text up"})
map("v", "<C-Down>", ":m '>+1<CR>gv=gv", { desc = "Move selected text down" }) map("v", "<C-Down>", ":m '>+1<CR>gv=gv", {desc = "Move selected text down"})
-- Alt + Arrow Key to change buffer -- Alt + Arrow Key to change buffer
map("n", "<A-h>", "<C-w>h", { desc = "Move to left split" }) map("n", "<A-h>", "<C-w>h", {desc = "Move to left split"})
map("n", "<A-j>", "<C-w>j", { desc = "Move to bottom split" }) map("n", "<A-j>", "<C-w>j", {desc = "Move to bottom split"})
map("n", "<A-k>", "<C-w>k", { desc = "Move to top split" }) map("n", "<A-k>", "<C-w>k", {desc = "Move to top split"})
map("n", "<A-l>", "<C-w>l", { desc = "Move to right split" }) map("n", "<A-l>", "<C-w>l", {desc = "Move to right split"})
map('n', '<leader>e', vim.cmd.NvimTreeToggle) map('n', '<leader>e', vim.cmd.NvimTreeToggle)
map('n', '<leader>u', require('undotree').toggle, { noremap = true, silent = true }) map('n', '<leader>u', require('undotree').toggle,
{noremap = true, silent = true})
map("n", "<A-->", ":bdelete<CR>") map("n", "<A-->", ":bdelete<CR>")
-- map("n", "<SA-->", ":BufferRestore<CR>") -- map("n", "<SA-->", ":BufferRestore<CR>")
map("n", "<C-a>", "ggVG", { noremap = true, silent = true }) map("n", "<C-a>", "ggVG", {noremap = true, silent = true})
map("n", "<leader>pv", vim.cmd.Ex) map("n", "<leader>pv", vim.cmd.Ex)
@@ -54,6 +57,4 @@ map("i", "<C-c>", "<Esc>")
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>"); map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>");
map("n", "<leader><leader>", function() map("n", "<leader><leader>", function() vim.cmd("so") end)
vim.cmd("so")
end)
+5 -3
View File
@@ -20,12 +20,13 @@ vim.opt.updatetime = 50
vim.opt.textwidth = 0 vim.opt.textwidth = 0
vim.opt.colorcolumn = "80" vim.opt.colorcolumn = "80"
vim.opt.formatoptions = "rqnj" vim.opt.formatoptions = "rqnj"
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions" vim.o.sessionoptions =
"blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
vim.o.laststatus = 3 vim.o.laststatus = 3
vim.o.clipboard = "unnamedplus" vim.o.clipboard = "unnamedplus"
vim.o.cursorline = true vim.o.cursorline = true
vim.o.cursorlineopt = "number" vim.o.cursorlineopt = "number"
vim.opt.fillchars = { eob = " " } vim.opt.fillchars = {eob = " "}
vim.o.ignorecase = true vim.o.ignorecase = true
vim.o.smartcase = true vim.o.smartcase = true
vim.o.mouse = "a" vim.o.mouse = "a"
@@ -45,4 +46,5 @@ vim.g.loaded_ruby_provider = 0
local is_windows = vim.fn.has "win32" ~= 0 local is_windows = vim.fn.has "win32" ~= 0
local sep = is_windows and "\\" or "/" local sep = is_windows and "\\" or "/"
local delim = is_windows and ";" or ":" local delim = is_windows and ";" or ":"
vim.env.PATH = table.concat({ vim.fn.stdpath "data", "mason", "bin" }, sep) .. delim .. vim.env.PATH vim.env.PATH = table.concat({vim.fn.stdpath "data", "mason", "bin"}, sep) ..
delim .. vim.env.PATH
+57 -141
View File
@@ -1,183 +1,99 @@
return { return {
{ {
"aznhe21/actions-preview.nvim", "aznhe21/actions-preview.nvim",
config = function() config = function() require("actions-preview") end
require("actions-preview") }, {
end,
},
{
"sbdchd/neoformat", "sbdchd/neoformat",
init = function() init = function()
vim.cmd( vim.cmd("source" .. vim.fn.stdpath "config" ..
"source" "/lua/config/neoformat.vim")
.. vim.fn.stdpath "config" end
.. "/lua/config/neoformat.vim" }, {
)
end,
},
{
"rachartier/tiny-inline-diagnostic.nvim", "rachartier/tiny-inline-diagnostic.nvim",
event = "VeryLazy", event = "VeryLazy",
priority = 1000, priority = 1000,
config = function() config = function()
require("tiny-inline-diagnostic").setup() require("tiny-inline-diagnostic").setup()
vim.diagnostic.config({ virtual_text = false }) vim.diagnostic.config({virtual_text = false})
end, end
}, }, {
{
"ThePrimeagen/refactoring.nvim", "ThePrimeagen/refactoring.nvim",
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter"
"nvim-treesitter/nvim-treesitter",
}, },
lazy = false, lazy = false,
opts = {}, opts = {},
config = function() config = function() require("config.refactoring") end
require("config.refactoring") }, {
end,
},
{
"nvim-neorg/neorg", "nvim-neorg/neorg",
lazy = false, lazy = false,
version = "*", version = "*",
config = true, config = true,
config = function() config = function() require("config.neorg") end
require("config.neorg") }, {
end,
},
{
"folke/snacks.nvim", "folke/snacks.nvim",
priority = 1000, priority = 1000,
lazy = false, lazy = false,
---@type snacks.Config ---@type snacks.Config
opts = { opts = {
bigfile = { enabled = true }, bigfile = {enabled = true},
dashboard = { enabled = true }, dashboard = {enabled = true},
explorer = { enabled = true }, explorer = {enabled = true},
indent = { enabled = true }, indent = {enabled = true},
input = { enabled = true }, input = {enabled = true},
picker = { enabled = true }, picker = {enabled = true},
notifier = { enabled = true }, notifier = {enabled = true},
quickfile = { enabled = true }, quickfile = {enabled = true},
scope = { enabled = true }, scope = {enabled = true},
scroll = { enabled = true }, scroll = {enabled = true},
statuscolumn = { enabled = true }, statuscolumn = {enabled = true},
words = { enabled = true }, words = {enabled = true}
}, }
}, }, {
{
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
dependencies = { dependencies = {
"williamboman/mason.nvim", "williamboman/mason.nvim", "williamboman/mason-lspconfig.nvim",
"williamboman/mason-lspconfig.nvim", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path",
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-cmdline", "hrsh7th/nvim-cmp", "L3MON4D3/LuaSnip",
"hrsh7th/cmp-buffer", "saadparwaiz1/cmp_luasnip", "j-hui/fidget.nvim"
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"j-hui/fidget.nvim",
}, },
config = function() config = function() require("config.lspconfig") end
require("config.lspconfig") }, {
end,
},
{
'vyfor/cord.nvim', 'vyfor/cord.nvim',
build = ':Cord update', build = ':Cord update',
config = function() config = function() require("config.cord") end
require("config.cord") }, {
end,
},
{
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
config = function() config = function() require("config.treesitter") end
require("config.treesitter") }, {
end,
},
{
"rmagatti/auto-session", "rmagatti/auto-session",
config = function() config = function() require("config.autosession") end
require("config.autosession") }, {
end,
},
{
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
dependencies = { dependencies = {"nvim-lua/plenary.nvim"},
"nvim-lua/plenary.nvim", config = function() require("config.telescope") end
}, }, {"lambdalisue/vim-suda"}, {"nvim-tree/nvim-web-devicons"}, {
config = function()
require("config.telescope")
end,
},
{
"lambdalisue/vim-suda",
},
{
"nvim-tree/nvim-web-devicons",
},
{
"nvim-tree/nvim-tree.lua", "nvim-tree/nvim-tree.lua",
cmd = { "NvimTreeToggle", "NvimTreeFocus" }, cmd = {"NvimTreeToggle", "NvimTreeFocus"},
config = function() config = function() require("config.nvimtree") end
require("config.nvimtree") }, {
end,
},
{
"akinsho/bufferline.nvim", "akinsho/bufferline.nvim",
event = "VeryLazy", event = "VeryLazy",
config = function() config = function() require("config.barbar") end
require("config.barbar") }, {
end,
},
{
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
event = "VeryLazy", event = "VeryLazy",
config = function () config = function() require("config.lualine") end
require("config.lualine")
end,
}, },
{ {"jiaoshijie/undotree", config = function() require("config.undotree") end},
"jiaoshijie/undotree", {"hiphish/rainbow-delimiters.nvim"}, {
config = function()
require("config.undotree")
end,
},
{
"hiphish/rainbow-delimiters.nvim",
},
{
"windwp/nvim-autopairs", "windwp/nvim-autopairs",
event = "InsertEnter", event = "InsertEnter",
config = function() config = function() require("config.autopairs") end
require("config.autopairs") }, {"tpope/vim-fugitive"}, {
end,
},
{
"tpope/vim-fugitive",
},
{
"catgoose/nvim-colorizer.lua", "catgoose/nvim-colorizer.lua",
config = function() config = function() require("config.colorizer") end
require("config.colorizer") }, {"catppuccin/nvim", name = "catppuccin", priority = 1000},
end, {"ellisonleao/gruvbox.nvim", priority = 1000, config = true, opts = ...},
}, {"mfussenegger/nvim-dap", config = function() require("config.dap") end}
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000
},
{
"ellisonleao/gruvbox.nvim",
priority = 1000 ,
config = true,
opts = ...
},
{
"mfussenegger/nvim-dap",
config = function()
require("config.dap")
end,
},
} }