mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-10-21 20:10:41 +00:00
Removed unnecessary plugins
This commit is contained in:
parent
c72c49bc90
commit
047f16fb0e
131
after/plugin/ccc.lua
Normal file
131
after/plugin/ccc.lua
Normal file
@ -0,0 +1,131 @@
|
||||
if not pcall(require, "ccc") then
|
||||
return
|
||||
end
|
||||
|
||||
local ccc = require("ccc")
|
||||
local ColorInput = require("ccc.input")
|
||||
local convert = require("ccc.utils.convert")
|
||||
|
||||
local RgbHslInput = setmetatable({
|
||||
name = "RGB/HSL",
|
||||
max = { 1, 1, 1, 360, 1, 1, 1, 1, 1, 1 },
|
||||
min = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
delta = { 1 / 255, 1 / 255, 1 / 255, 1, 0.01, 0.01, 0.005, 0.005, 0.005, 0.005 },
|
||||
bar_name = { "R", "G", "B", "H", "S", "L" },
|
||||
}, { __index = ColorInput })
|
||||
|
||||
function RgbHslInput.format(n, i)
|
||||
if i <= 3 then
|
||||
-- RGB
|
||||
n = n * 255
|
||||
elseif i >= 5 then
|
||||
-- S or L of HSL
|
||||
n = n * 100
|
||||
end
|
||||
return ("%6d"):format(n)
|
||||
end
|
||||
|
||||
function RgbHslInput.from_rgb(RGB)
|
||||
local HSL = convert.rgb2hsl(RGB)
|
||||
local R, G, B = unpack(RGB)
|
||||
local H, S, L = unpack(HSL)
|
||||
return { R, G, B, H, S, L }
|
||||
end
|
||||
|
||||
function RgbHslInput.to_rgb(value)
|
||||
return { value[1], value[2], value[3] }
|
||||
end
|
||||
|
||||
function RgbHslInput:_set_rgb(RGB)
|
||||
self.value[1] = RGB[1]
|
||||
self.value[2] = RGB[2]
|
||||
self.value[3] = RGB[3]
|
||||
end
|
||||
|
||||
function RgbHslInput:_set_hsl(HSL)
|
||||
self.value[4] = HSL[1]
|
||||
self.value[5] = HSL[2]
|
||||
self.value[6] = HSL[3]
|
||||
end
|
||||
|
||||
function RgbHslInput:callback(index, new_value)
|
||||
self.value[index] = new_value
|
||||
local v = self.value
|
||||
if index <= 3 then
|
||||
local RGB = { v[1], v[2], v[3] }
|
||||
local HSL = convert.rgb2hsl(RGB)
|
||||
self:_set_hsl(HSL)
|
||||
else
|
||||
local HSL = { v[4], v[5], v[6] }
|
||||
local RGB = convert.hsl2rgb(HSL)
|
||||
self:_set_rgb(RGB)
|
||||
end
|
||||
end
|
||||
|
||||
ccc.setup({
|
||||
pickers = {
|
||||
ccc.picker.custom_entries({
|
||||
bg = "#1a1b26",
|
||||
bg_dark = "#16161e",
|
||||
bg_float = "#16161e",
|
||||
bg_highlight = "#292e42",
|
||||
bg_popup = "#16161e",
|
||||
bg_search = "#3d59a1",
|
||||
bg_sidebar = "#16161e",
|
||||
bg_statusline = "#16161e",
|
||||
bg_visual = "#283457",
|
||||
black = "#15161e",
|
||||
blue = "#7aa2f7",
|
||||
blue0 = "#3d59a1",
|
||||
blue1 = "#2ac3de",
|
||||
blue2 = "#0db9d7",
|
||||
blue5 = "#89ddff",
|
||||
blue6 = "#b4f9f8",
|
||||
blue7 = "#394b70",
|
||||
border = "#15161e",
|
||||
border_highlight = "#27a1b9",
|
||||
comment = "#565f89",
|
||||
cyan = "#7dcfff",
|
||||
dark3 = "#545c7e",
|
||||
dark5 = "#737aa2",
|
||||
delta_add = "#2c5a66",
|
||||
delta_delete = "#713137",
|
||||
diff_add = "#20303b",
|
||||
diff_change = "#1f2231",
|
||||
diff_delete = "#37222c",
|
||||
diff_text = "#394b70",
|
||||
error = "#db4b4b",
|
||||
fg = "#c0caf5",
|
||||
fg_dark = "#a9b1d6",
|
||||
fg_float = "#c0caf5",
|
||||
fg_gutter = "#3b4261",
|
||||
fg_sidebar = "#a9b1d6",
|
||||
git_add = "#449dab",
|
||||
git_change = "#6183bb",
|
||||
git_delete = "#914c54",
|
||||
git_ignore = "#545c7e",
|
||||
gitSigns_add = "#266d6a",
|
||||
gitSigns_change = "#536c9e",
|
||||
gitSigns_delete = "#b2555b",
|
||||
green = "#9ece6a",
|
||||
green1 = "#73daca",
|
||||
green2 = "#41a6b5",
|
||||
hint = "#1abc9c",
|
||||
info = "#0db9d7",
|
||||
magenta = "#bb9af7",
|
||||
magenta2 = "#ff007c",
|
||||
none = "NONE",
|
||||
orange = "#ff9e64",
|
||||
purple = "#9d7cd8",
|
||||
red = "#f7768e",
|
||||
red1 = "#db4b4b",
|
||||
teal = "#1abc9c",
|
||||
terminal_black = "#414868",
|
||||
warning = "#e0af68",
|
||||
yellow = "#e0af68",
|
||||
}),
|
||||
},
|
||||
inputs = {
|
||||
RgbHslInput,
|
||||
},
|
||||
})
|
||||
67
after/plugin/clang-extension.lua
Normal file
67
after/plugin/clang-extension.lua
Normal file
@ -0,0 +1,67 @@
|
||||
if not pcall(require, "clangd_extensions") then
|
||||
return
|
||||
end
|
||||
|
||||
require("clangd_extensions").setup({
|
||||
inlay_hints = {
|
||||
inline = vim.fn.has("nvim-0.10") == 1,
|
||||
-- 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",
|
||||
},
|
||||
})
|
||||
31
after/plugin/cloak.lua
Normal file
31
after/plugin/cloak.lua
Normal file
@ -0,0 +1,31 @@
|
||||
if not pcall(require, "cloak") then
|
||||
return
|
||||
end
|
||||
|
||||
require("cloak").setup({
|
||||
enabled = true,
|
||||
cloak_character = "*",
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = "Comment",
|
||||
-- Applies the length of the replacement characters for all matched
|
||||
-- patterns, defaults to the length of the matched pattern.
|
||||
cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
|
||||
-- Wether it should try every pattern to find the best fit or stop after the first.
|
||||
try_all_patterns = true,
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with '.env'.
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = { ".env*" },
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
|
||||
cloak_pattern = "=.+",
|
||||
-- A function, table or string to generate the replacement.
|
||||
-- The actual replacement will contain the 'cloak_character'
|
||||
-- where it doesn't cover the original text.
|
||||
-- If left empty the legacy behavior of keeping the first character is retained.
|
||||
replace = nil,
|
||||
},
|
||||
},
|
||||
})
|
||||
20
after/plugin/cmake-tools.lua
Normal file
20
after/plugin/cmake-tools.lua
Normal file
@ -0,0 +1,20 @@
|
||||
if not pcall(require, "cmake-tools") then
|
||||
return
|
||||
end
|
||||
|
||||
require("cmake-tools").setup({
|
||||
cmake_command = "cmake",
|
||||
cmake_build_directory = "target/build/",
|
||||
cmake_build_directory_prefix = "cmake_build_", -- when cmake_build_directory is "", this option will be activated
|
||||
cmake_generate_options = { "-D", "CMAKE_EXPORT_COMPILE_COMMANDS=1" },
|
||||
cmake_soft_link_compile_commands = true, -- if softlink compile commands json file
|
||||
cmake_build_options = {},
|
||||
cmake_console_size = 15, -- cmake output window height
|
||||
cmake_console_position = "belowright", -- "belowright", "aboveleft", ...
|
||||
cmake_show_console = "always", -- "always", "only_on_error"
|
||||
cmake_dap_configuration = { name = "cpp", type = "codelldb", request = "launch" }, -- dap configuration, optional
|
||||
cmake_variants_message = {
|
||||
short = { show = true },
|
||||
long = { show = true, max_length = 40 },
|
||||
},
|
||||
})
|
||||
33
after/plugin/colorizer.lua
Normal file
33
after/plugin/colorizer.lua
Normal file
@ -0,0 +1,33 @@
|
||||
if not pcall(require, "colorizer") then
|
||||
return
|
||||
end
|
||||
|
||||
require("colorizer").setup({
|
||||
filetypes = { "html", "css", "javascript", "lua", "yaml", "conf", "toml" },
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = false, -- "Name" codes like Blue or blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
AARRGGBB = true, -- 0xAARRGGBB hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes for `mode`: foreground, background, virtualtext
|
||||
mode = "background", -- Set the display mode.
|
||||
-- Available methods are false / true / "normal" / "lsp" / "both"
|
||||
-- True is same as normal
|
||||
tailwind = true, -- Enable tailwind colors
|
||||
-- parsers can contain values used in |user_default_options|
|
||||
sass = {
|
||||
enable = true,
|
||||
parsers = { "css" },
|
||||
}, -- Enable sass colors
|
||||
virtualtext = "■",
|
||||
},
|
||||
-- all the sub-options of filetypes apply to buftypes
|
||||
buftypes = {},
|
||||
html = { names = true },
|
||||
css = { names = true },
|
||||
})
|
||||
61
after/plugin/comment.lua
Normal file
61
after/plugin/comment.lua
Normal file
@ -0,0 +1,61 @@
|
||||
if not pcall(require, "Comment") then
|
||||
return
|
||||
end
|
||||
|
||||
require("Comment").setup({
|
||||
---Add a space b/w comment and the line
|
||||
padding = true,
|
||||
---Whether the cursor should stay at its position
|
||||
sticky = true,
|
||||
---Lines to be ignored while (un)comment
|
||||
ignore = nil,
|
||||
---LHS of toggle mappings in NORMAL mode
|
||||
toggler = {
|
||||
---Line-comment toggle keymap
|
||||
line = "gcc",
|
||||
---Block-comment toggle keymap
|
||||
block = "gbb",
|
||||
},
|
||||
-- -LHS of operator-pending mappings in NORMAL and VISUAL mode
|
||||
opleader = {
|
||||
---Line-comment keymap
|
||||
line = "gc",
|
||||
---Block-comment keymap
|
||||
block = "gb",
|
||||
},
|
||||
---LHS of extra mappings
|
||||
extra = {
|
||||
---Add comment on the line above
|
||||
above = "gcO",
|
||||
---Add comment on the line below
|
||||
below = "gco",
|
||||
---Add comment at the end of line
|
||||
eol = "gcA",
|
||||
},
|
||||
--- Enable keybindings
|
||||
--- NOTE: If given `false` then the plugin won't create any mappings
|
||||
mappings = {
|
||||
---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
|
||||
basic = true,
|
||||
---Extra mapping; `gco`, `gcO`, `gcA`
|
||||
extra = true,
|
||||
---Extended mapping; `g>` `g<` `g>[count]{motion}` `g<[count]{motion}`
|
||||
extended = true,
|
||||
},
|
||||
---Function to call before (un)comment
|
||||
-- pre_hook = function(ctx)
|
||||
-- local U = require("Comment.utils")
|
||||
--
|
||||
-- local location = nil
|
||||
-- if ctx.ctype == U.ctype.block then
|
||||
-- location = require("ts_context_commentstring.utils").get_cursor_location()
|
||||
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||
-- location = require("ts_context_commentstring.utils").get_visual_start_location()
|
||||
-- end
|
||||
--
|
||||
-- return require("ts_context_commentstring.internal").calculate_commentstring({
|
||||
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||
-- location = location,
|
||||
-- })
|
||||
-- end,
|
||||
})
|
||||
139
after/plugin/crates.lua
Normal file
139
after/plugin/crates.lua
Normal file
@ -0,0 +1,139 @@
|
||||
if not pcall(require, "crates") then
|
||||
return
|
||||
end
|
||||
|
||||
require("crates").setup({
|
||||
smart_insert = true,
|
||||
insert_closing_quote = true,
|
||||
avoid_prerelease = true,
|
||||
autoload = true,
|
||||
autoupdate = true,
|
||||
loading_indicator = true,
|
||||
date_format = "%d-%m-%Y",
|
||||
thousands_separator = ".",
|
||||
notification_title = "Crates",
|
||||
disable_invalid_feature_diagnostic = false,
|
||||
text = {
|
||||
loading = " Loading",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
nomatch = " No match",
|
||||
upgrade = " %s",
|
||||
error = " Error fetching crate",
|
||||
},
|
||||
highlight = {
|
||||
loading = "CratesNvimLoading",
|
||||
version = "CratesNvimVersion",
|
||||
prerelease = "CratesNvimPreRelease",
|
||||
yanked = "CratesNvimYanked",
|
||||
nomatch = "CratesNvimNoMatch",
|
||||
upgrade = "CratesNvimUpgrade",
|
||||
error = "CratesNvimError",
|
||||
},
|
||||
popup = {
|
||||
autofocus = false,
|
||||
copy_register = '"',
|
||||
style = "minimal",
|
||||
border = "none",
|
||||
show_version_date = false,
|
||||
show_dependency_version = true,
|
||||
max_height = 30,
|
||||
min_width = 20,
|
||||
padding = 1,
|
||||
text = {
|
||||
title = " %s",
|
||||
pill_left = "",
|
||||
pill_right = "",
|
||||
description = "%s",
|
||||
created_label = " created ",
|
||||
created = "%s",
|
||||
updated_label = " updated ",
|
||||
updated = "%s",
|
||||
downloads_label = " downloads ",
|
||||
downloads = "%s",
|
||||
homepage_label = " homepage ",
|
||||
homepage = "%s",
|
||||
repository_label = " repository ",
|
||||
repository = "%s",
|
||||
documentation_label = " documentation ",
|
||||
documentation = "%s",
|
||||
crates_io_label = " crates.io ",
|
||||
crates_io = "%s",
|
||||
categories_label = " categories ",
|
||||
keywords_label = " keywords ",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
version_date = " %s",
|
||||
feature = " %s",
|
||||
enabled = " %s",
|
||||
transitive = " %s",
|
||||
normal_dependencies_title = " Dependencies",
|
||||
build_dependencies_title = " Build dependencies",
|
||||
dev_dependencies_title = " Dev dependencies",
|
||||
dependency = " %s",
|
||||
optional = " %s",
|
||||
dependency_version = " %s",
|
||||
loading = " ",
|
||||
},
|
||||
highlight = {
|
||||
title = "CratesNvimPopupTitle",
|
||||
pill_text = "CratesNvimPopupPillText",
|
||||
pill_border = "CratesNvimPopupPillBorder",
|
||||
description = "CratesNvimPopupDescription",
|
||||
created_label = "CratesNvimPopupLabel",
|
||||
created = "CratesNvimPopupValue",
|
||||
updated_label = "CratesNvimPopupLabel",
|
||||
updated = "CratesNvimPopupValue",
|
||||
downloads_label = "CratesNvimPopupLabel",
|
||||
downloads = "CratesNvimPopupValue",
|
||||
homepage_label = "CratesNvimPopupLabel",
|
||||
homepage = "CratesNvimPopupUrl",
|
||||
repository_label = "CratesNvimPopupLabel",
|
||||
repository = "CratesNvimPopupUrl",
|
||||
documentation_label = "CratesNvimPopupLabel",
|
||||
documentation = "CratesNvimPopupUrl",
|
||||
crates_io_label = "CratesNvimPopupLabel",
|
||||
crates_io = "CratesNvimPopupUrl",
|
||||
categories_label = "CratesNvimPopupLabel",
|
||||
keywords_label = "CratesNvimPopupLabel",
|
||||
version = "CratesNvimPopupVersion",
|
||||
prerelease = "CratesNvimPopupPreRelease",
|
||||
yanked = "CratesNvimPopupYanked",
|
||||
version_date = "CratesNvimPopupVersionDate",
|
||||
feature = "CratesNvimPopupFeature",
|
||||
enabled = "CratesNvimPopupEnabled",
|
||||
transitive = "CratesNvimPopupTransitive",
|
||||
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
|
||||
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
|
||||
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
|
||||
dependency = "CratesNvimPopupDependency",
|
||||
optional = "CratesNvimPopupOptional",
|
||||
dependency_version = "CratesNvimPopupDependencyVersion",
|
||||
loading = "CratesNvimPopupLoading",
|
||||
},
|
||||
keys = {
|
||||
hide = { "q", "<esc>" },
|
||||
open_url = { "<cr>" },
|
||||
select = { "<cr>" },
|
||||
select_alt = { "s" },
|
||||
toggle_feature = { "<cr>" },
|
||||
copy_value = { "yy" },
|
||||
goto_item = { "gd", "K", "<C-LeftMouse>" },
|
||||
jump_forward = { "<c-i>" },
|
||||
jump_back = { "<c-o>", "<C-RightMouse>" },
|
||||
},
|
||||
},
|
||||
src = {
|
||||
insert_closing_quote = true,
|
||||
text = {
|
||||
prerelease = " pre-release ",
|
||||
yanked = " yanked ",
|
||||
},
|
||||
},
|
||||
null_ls = {
|
||||
enabled = true,
|
||||
name = "crates.nvim",
|
||||
},
|
||||
})
|
||||
@ -1,6 +1,38 @@
|
||||
if not pcall(require, "dap") then
|
||||
return
|
||||
end
|
||||
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
|
||||
vim.keymap.set("n", "<leader>dd", function()
|
||||
dap.toggle_breakpoint()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dc", function()
|
||||
dap.continue()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>di", function()
|
||||
dap.step_into()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dp", function()
|
||||
dap.step_over()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dO", function()
|
||||
dap.step_out()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dI", function()
|
||||
dap.repl.open()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dk", function()
|
||||
dap.terminate()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>dl", function()
|
||||
dap.run_last()
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>du", function()
|
||||
dapui.toggle()
|
||||
end)
|
||||
|
||||
vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DiagnosticSignError", linehl = "", numhl = "" })
|
||||
|
||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||
|
||||
15
after/plugin/git-worktree.lua
Normal file
15
after/plugin/git-worktree.lua
Normal file
@ -0,0 +1,15 @@
|
||||
vim.keymap.set("n", "<leader>wc", function()
|
||||
require("telescope").extensions.git_worktree.git_worktrees()
|
||||
end)
|
||||
|
||||
vim.keymap.set("n", "<leader>wn", function()
|
||||
require("telescope").extensions.git_worktree.create_git_worktree()
|
||||
end)
|
||||
|
||||
local Worktree = require("git-worktree")
|
||||
|
||||
Worktree.on_tree_change(function(op, metadata)
|
||||
if op == Worktree.Operations.Switch then
|
||||
print("Switched from " .. metadata.prev_path .. " to " .. metadata.path)
|
||||
end
|
||||
end)
|
||||
37
after/plugin/gitsigns.lua
Normal file
37
after/plugin/gitsigns.lua
Normal file
@ -0,0 +1,37 @@
|
||||
if not pcall(require, "gitsigns") then
|
||||
return
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<leader>gb", function()
|
||||
vim.cmd.Gitsigns("blame_line")
|
||||
end)
|
||||
|
||||
require("gitsigns").setup({
|
||||
signs = {
|
||||
add = { hl = "GitSignsAdd", text = "▎", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
||||
change = {
|
||||
hl = "GitSignsChange",
|
||||
text = "▎",
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
delete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = "契",
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
topdelete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = "契",
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
changedelete = {
|
||||
hl = "GitSignsChange",
|
||||
text = "▎",
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
},
|
||||
})
|
||||
21
after/plugin/harpoon.lua
Normal file
21
after/plugin/harpoon.lua
Normal file
@ -0,0 +1,21 @@
|
||||
if not pcall(require, "harpoon") then
|
||||
return
|
||||
end
|
||||
|
||||
local mark = require("harpoon.mark")
|
||||
local ui = require("harpoon.ui")
|
||||
vim.keymap.set("n", "<leader>a", mark.add_file)
|
||||
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
|
||||
|
||||
vim.keymap.set("n", "<F1>", function()
|
||||
ui.nav_file(1)
|
||||
end)
|
||||
vim.keymap.set("n", "<F2>", function()
|
||||
ui.nav_file(2)
|
||||
end)
|
||||
vim.keymap.set("n", "<F3>", function()
|
||||
ui.nav_file(3)
|
||||
end)
|
||||
vim.keymap.set("n", "<F4>", function()
|
||||
ui.nav_file(4)
|
||||
end)
|
||||
54
after/plugin/illuminate.lua
Normal file
54
after/plugin/illuminate.lua
Normal file
@ -0,0 +1,54 @@
|
||||
if not pcall(require, "illuminate") then
|
||||
return
|
||||
end
|
||||
|
||||
require("illuminate").configure({
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"regex",
|
||||
},
|
||||
-- delay: delay in milliseconds
|
||||
delay = 100,
|
||||
-- filetype_overrides: filetype specific overrides.
|
||||
-- The keys are strings to represent the filetype while the values are tables that
|
||||
-- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist
|
||||
filetype_overrides = {},
|
||||
-- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
|
||||
filetypes_denylist = {
|
||||
"alpha",
|
||||
"NvimTree",
|
||||
"dirvish",
|
||||
"fugitive",
|
||||
},
|
||||
-- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist
|
||||
filetypes_allowlist = {},
|
||||
-- modes_denylist: modes to not illuminate, this overrides modes_allowlist
|
||||
-- See `:help mode()` for possible values
|
||||
modes_denylist = {},
|
||||
-- modes_allowlist: modes to illuminate, this is overridden by modes_denylist
|
||||
-- See `:help mode()` for possible values
|
||||
modes_allowlist = {},
|
||||
-- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_denylist = {},
|
||||
-- providers_regex_syntax_allowlist: syntax to illuminate, this is overridden by providers_regex_syntax_denylist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_allowlist = {},
|
||||
-- under_cursor: whether or not to illuminate under the cursor
|
||||
under_cursor = true,
|
||||
-- large_file_cutoff: number of lines at which to use large_file_config
|
||||
-- The `under_cursor` option is disabled when this cutoff is hit
|
||||
large_file_cutoff = nil,
|
||||
-- large_file_config: config to use for large files (based on large_file_cutoff).
|
||||
-- Supports the same keys passed to .configure
|
||||
-- If nil, vim-illuminate will be disabled for large files.
|
||||
large_file_overrides = nil,
|
||||
-- min_count_to_highlight: minimum number of matches required to perform highlighting
|
||||
min_count_to_highlight = 1,
|
||||
})
|
||||
local bind = vim.keymap.set
|
||||
bind("n", "<A-n>", "<cmd>lua require('illuminate').goto_next_reference(wrap)<cr>", { noremap = true })
|
||||
bind("n", "<A-p>", "<cmd>lua require('illuminate').goto_prev_reference(wrap)<cr>", { noremap = true })
|
||||
30
after/plugin/indent-blankline.lua
Normal file
30
after/plugin/indent-blankline.lua
Normal file
@ -0,0 +1,30 @@
|
||||
if not pcall(require, "indent_blankline") then
|
||||
return
|
||||
end
|
||||
|
||||
vim.opt.list = true
|
||||
vim.opt.listchars:append("space:⋅")
|
||||
vim.opt.listchars:append("eol:↴")
|
||||
|
||||
require("indent_blankline").setup({
|
||||
char = "▎",
|
||||
show_trailing_blankline_indent = true,
|
||||
show_first_indent_level = true,
|
||||
use_treesitter = true,
|
||||
show_end_of_line = true,
|
||||
space_char_blankline = " ",
|
||||
show_current_context = true,
|
||||
show_current_context_start = false,
|
||||
buftype_exclude = { "terminal", "nofile" },
|
||||
filetype_exclude = {
|
||||
"NvimTree",
|
||||
"Trouble",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"help",
|
||||
"lazy",
|
||||
"neogitstatus",
|
||||
"packer",
|
||||
"startify",
|
||||
},
|
||||
})
|
||||
1
after/plugin/lazygit.lua
Normal file
1
after/plugin/lazygit.lua
Normal file
@ -0,0 +1 @@
|
||||
vim.keymap.set("n", "<leader>gg", vim.cmd.LazyGit)
|
||||
@ -1,3 +1,7 @@
|
||||
if not pcall(require, "lsp-zero") then
|
||||
return
|
||||
end
|
||||
|
||||
local lsp = require("lsp-zero").preset({
|
||||
float_border = "rounded",
|
||||
call_servers = "local",
|
||||
@ -5,7 +9,7 @@ local lsp = require("lsp-zero").preset({
|
||||
setup_servers_on_start = true,
|
||||
set_lsp_keymaps = {
|
||||
preserve_mappings = false,
|
||||
omit = { "<F2>", "<F3>" },
|
||||
omit = { "<F2>", "<F3>", "<F4>" },
|
||||
},
|
||||
manage_nvim_cmp = {
|
||||
set_sources = "recommended",
|
||||
@ -22,14 +26,22 @@ lsp.on_attach(function(client, bufnr)
|
||||
-- to learn the available actions
|
||||
lsp.default_keymaps({ buffer = bufnr })
|
||||
local opts = { buffer = bufnr }
|
||||
local bind = vim.keymap.set
|
||||
|
||||
bind("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<cr>", opts)
|
||||
bind("n", "gd", "<cmd>lua require('telescope.builtin').lsp_definitions()<cr>", opts)
|
||||
bind("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", opts)
|
||||
bind("n", "gI", "<cmd>lua vim.lsp.buf.implementation()<cr>", opts)
|
||||
bind("n", "gr", "<cmd>lua require('telescope.builtin').lsp_references()<cr>", opts)
|
||||
bind("n", "gl", "<cmd>lua vim.diagnostic.open_float()<cr>", opts)
|
||||
vim.keymap.set("n", "gd", function()
|
||||
vim.lsp.buf.definition()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gD", function()
|
||||
vim.lsp.buf.declaration()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.lsp.buf.hover()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gi", function()
|
||||
vim.lsp.buf.implementation()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gr", "<cmd>lua require('telescope.builtin').lsp_references()<cr>", opts)
|
||||
vim.keymap.set("n", "gl", function()
|
||||
vim.diagnostic.open_float()
|
||||
end, opts)
|
||||
end)
|
||||
|
||||
lsp.ensure_installed({
|
||||
@ -43,7 +55,6 @@ lsp.ensure_installed({
|
||||
"jsonls",
|
||||
"lua_ls",
|
||||
"ruff_lsp",
|
||||
"rust_analyzer",
|
||||
"sqlls",
|
||||
"tailwindcss",
|
||||
"taplo",
|
||||
@ -176,10 +187,10 @@ null_ls.setup({
|
||||
"strict",
|
||||
},
|
||||
}),
|
||||
formatting.remark.with({ extra_filetypes = { "vimwiki" } }),
|
||||
-- formatting.remark.with({ extra_filetypes = { "vimwiki" } }), -- FIX: indentation level
|
||||
formatting.markdown_toc.with({ extra_filetypes = { "vimwiki" } }),
|
||||
formatting.shellharden.with({ extra_filetypes = { "bash", "csh", "ksh", "zsh" } }),
|
||||
formatting.shfmt.with({ extra_filetypes = { "bash", "csh", "ksh", "zsh" } }),
|
||||
-- formatting.shellharden.with({ extra_filetypes = { "bash", "csh", "ksh", "zsh" } }),
|
||||
-- formatting.shfmt.with({ extra_filetypes = { "bash", "csh", "ksh", "zsh" } }),
|
||||
},
|
||||
})
|
||||
|
||||
@ -193,7 +204,6 @@ require("mason-null-ls").setup({
|
||||
"luacheck",
|
||||
"misspell",
|
||||
"mypy",
|
||||
"beautysh",
|
||||
"cbfmt",
|
||||
"clang_format",
|
||||
"cmake_format",
|
||||
@ -203,8 +213,6 @@ require("mason-null-ls").setup({
|
||||
"prettier",
|
||||
"remark",
|
||||
"markdown_toc",
|
||||
"shellharden",
|
||||
"shfmt",
|
||||
"stylua",
|
||||
"usort",
|
||||
"yamlfmt",
|
||||
|
||||
61
after/plugin/lualine.lua
Normal file
61
after/plugin/lualine.lua
Normal file
@ -0,0 +1,61 @@
|
||||
if not pcall(require, "lualine") then
|
||||
return
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "auto",
|
||||
component_separators = { left = "|", right = "|" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
statusline = { "dashboard" },
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = false,
|
||||
globalstatus = true,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
--[[ Available components
|
||||
|
||||
`branch` (git branch)
|
||||
`buffers` (shows currently available buffers)
|
||||
`diagnostics` (diagnostics count from your preferred source)
|
||||
`diff` (git diff status)
|
||||
`encoding` (file encoding)
|
||||
`fileformat` (file format)
|
||||
`filename`
|
||||
`filesize`
|
||||
`filetype`
|
||||
`hostname`
|
||||
`location` (location in file in line:column format)
|
||||
`mode` (vim mode)
|
||||
`progress` (%progress in file)
|
||||
`searchcount` (number of search matches when hlsearch is active)
|
||||
`selectioncount` (number of selected characters or lines)
|
||||
`tabs` (shows currently available tabs)
|
||||
`windows` (shows currently available windows) ]]
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = { "filename", "diff" },
|
||||
lualine_x = { "diagnostics", "encoding", "filetype", "filesize" },
|
||||
lualine_y = { "progress" },
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
})
|
||||
@ -1,3 +1,7 @@
|
||||
if not pcall(require, "luasnip") then
|
||||
return
|
||||
end
|
||||
|
||||
local ls = require("luasnip")
|
||||
|
||||
require("luasnip/loaders/from_vscode").lazy_load()
|
||||
|
||||
37
after/plugin/obsidian.lua
Normal file
37
after/plugin/obsidian.lua
Normal file
@ -0,0 +1,37 @@
|
||||
if not pcall(require, "obsidian") then
|
||||
return
|
||||
end
|
||||
|
||||
require("obsidian").setup({
|
||||
dir = "~/obsidian",
|
||||
notes_subdir = "university",
|
||||
|
||||
completion = {
|
||||
nvim_cmp = true,
|
||||
min_chars = 2,
|
||||
new_notes_location = "current_dir",
|
||||
prepend_note_id = true,
|
||||
},
|
||||
|
||||
mappings = {
|
||||
["gf"] = require("obsidian.mapping").gf_passthrough(),
|
||||
},
|
||||
|
||||
templates = {
|
||||
subdir = "university/templates",
|
||||
date_format = "%Y.%m.%d",
|
||||
time_format = "%H:%M:%S",
|
||||
},
|
||||
|
||||
backlinks = {
|
||||
height = 10,
|
||||
wrap = true,
|
||||
},
|
||||
|
||||
follow_url_func = function(url)
|
||||
vim.fn.jobstart({ "xdg-open", url })
|
||||
end,
|
||||
use_advanced_uri = true,
|
||||
open_app_foreground = false,
|
||||
open_notes_in = "current",
|
||||
})
|
||||
12
after/plugin/project.lua
Normal file
12
after/plugin/project.lua
Normal file
@ -0,0 +1,12 @@
|
||||
if not pcall(require, "project_nvim") then
|
||||
return
|
||||
end
|
||||
|
||||
require("project_nvim").setup({
|
||||
detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
|
||||
-- detection_methods = { "pattern" },
|
||||
-- patterns used to detect root dir, when **"pattern"** is in detection_methods
|
||||
patterns = { ".git", "package.json", ".venv", "Cargo.toml", "requirements.txt", "CMakeLists.txt" },
|
||||
})
|
||||
local telescope = require("telescope")
|
||||
telescope.load_extension("projects")
|
||||
170
after/plugin/rust-tools.lua
Normal file
170
after/plugin/rust-tools.lua
Normal file
@ -0,0 +1,170 @@
|
||||
if not pcall(require, "rust-tools") then
|
||||
return
|
||||
end
|
||||
|
||||
require("rust-tools").setup({
|
||||
tools = {
|
||||
-- how to execute terminal commands
|
||||
-- options right now: termopen / quickfix
|
||||
-- executor = require("rust-tools.executors").termopen,
|
||||
|
||||
-- callback to execute once rust-analyzer is done initializing the workspace
|
||||
-- The callback receives one parameter indicating the `health` of the server: "ok" | "warning" | "error"
|
||||
on_initialized = function()
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "CursorHold", "InsertLeave", "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("InitializeRustAnalyzer", { clear = true }),
|
||||
pattern = { "*.rs" },
|
||||
callback = function()
|
||||
vim.lsp.codelens.refresh()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
|
||||
-- automatically call RustReloadWorkspace when writing to a Cargo.toml file.
|
||||
reload_workspace_from_cargo_toml = true,
|
||||
|
||||
-- These apply to the default RustSetInlayHints command
|
||||
inlay_hints = {
|
||||
-- automatically set inlay hints (type hints)
|
||||
-- default: true
|
||||
auto = true,
|
||||
-- Only show inlay hints for the current line
|
||||
only_current_line = false,
|
||||
-- whether to show parameter hints with the inlay hints or not
|
||||
-- default: true
|
||||
show_parameter_hints = true,
|
||||
-- prefix for parameter hints
|
||||
-- default: "<-"
|
||||
parameter_hints_prefix = " <- ",
|
||||
-- prefix for all the other hints (type, chaining)
|
||||
-- default: "=>"
|
||||
other_hints_prefix = " => ",
|
||||
-- whether to align to the length of the longest line in the file
|
||||
max_len_align = false,
|
||||
-- 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 = 7,
|
||||
-- The color of the hints
|
||||
highlight = "Comment",
|
||||
},
|
||||
-- options same as lsp hover / vim.lsp.util.open_floating_preview()
|
||||
hover_actions = {
|
||||
-- the border that is used for the hover window
|
||||
-- see vim.api.nvim_open_win()
|
||||
border = {
|
||||
{ "╭", "FloatBorder" },
|
||||
{ "─", "FloatBorder" },
|
||||
{ "╮", "FloatBorder" },
|
||||
{ "│", "FloatBorder" },
|
||||
{ "╯", "FloatBorder" },
|
||||
{ "─", "FloatBorder" },
|
||||
{ "╰", "FloatBorder" },
|
||||
{ "│", "FloatBorder" },
|
||||
},
|
||||
-- Maximal width of the hover window. Nil means no max.
|
||||
max_width = nil,
|
||||
-- Maximal height of the hover window. Nil means no max.
|
||||
max_height = nil,
|
||||
-- whether the hover action window gets automatically focused
|
||||
-- default: false
|
||||
auto_focus = false,
|
||||
},
|
||||
-- settings for showing the crate graph based on graphviz and the dot
|
||||
-- command
|
||||
crate_graph = {
|
||||
-- Backend used for displaying the graph
|
||||
-- see: https://graphviz.org/docs/outputs/
|
||||
-- default: x11
|
||||
backend = "x11",
|
||||
-- where to store the output, nil for no output stored (relative
|
||||
-- path from pwd)
|
||||
-- default: nil
|
||||
output = nil,
|
||||
-- true for all crates.io and external crates, false only the local
|
||||
-- crates
|
||||
-- default: true
|
||||
full = true,
|
||||
|
||||
-- List of backends found on: https://graphviz.org/docs/outputs/
|
||||
-- Is used for input validation and autocompletion
|
||||
-- Last updated: 2021-08-26
|
||||
enabled_graphviz_backends = {
|
||||
"bmp",
|
||||
"cgimage",
|
||||
"canon",
|
||||
"dot",
|
||||
"gv",
|
||||
"xdot",
|
||||
"xdot1.2",
|
||||
"xdot1.4",
|
||||
"eps",
|
||||
"exr",
|
||||
"fig",
|
||||
"gd",
|
||||
"gd2",
|
||||
"gif",
|
||||
"gtk",
|
||||
"ico",
|
||||
"cmap",
|
||||
"ismap",
|
||||
"imap",
|
||||
"cmapx",
|
||||
"imap_np",
|
||||
"cmapx_np",
|
||||
"jpg",
|
||||
"jpeg",
|
||||
"jpe",
|
||||
"jp2",
|
||||
"json",
|
||||
"json0",
|
||||
"dot_json",
|
||||
"xdot_json",
|
||||
"pdf",
|
||||
"pic",
|
||||
"pct",
|
||||
"pict",
|
||||
"plain",
|
||||
"plain-ext",
|
||||
"png",
|
||||
"pov",
|
||||
"ps",
|
||||
"ps2",
|
||||
"psd",
|
||||
"sgi",
|
||||
"svg",
|
||||
"svgz",
|
||||
"tga",
|
||||
"tiff",
|
||||
"tif",
|
||||
"tk",
|
||||
"vml",
|
||||
"vmlz",
|
||||
"wbmp",
|
||||
"webp",
|
||||
"xlib",
|
||||
"x11",
|
||||
},
|
||||
},
|
||||
|
||||
-- all the opts to send to nvim-lspconfig
|
||||
-- these override the defaults set by rust-tools.nvim
|
||||
-- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
|
||||
server = {
|
||||
-- standalone file support
|
||||
-- setting it to false may improve startup time
|
||||
standalone = true,
|
||||
}, -- rust-analyzer options
|
||||
|
||||
-- debugging stuff
|
||||
dap = {
|
||||
adapter = {
|
||||
type = "executable",
|
||||
command = "codelldb",
|
||||
name = "rt_lldb",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
1
after/plugin/tagbar.lua
Normal file
1
after/plugin/tagbar.lua
Normal file
@ -0,0 +1 @@
|
||||
vim.keymap.set("n", "<leader>t", vim.cmd.TagbarToggle)
|
||||
100
after/plugin/telescope.lua
Normal file
100
after/plugin/telescope.lua
Normal file
@ -0,0 +1,100 @@
|
||||
if not pcall(require, "telescope") then
|
||||
return
|
||||
end
|
||||
|
||||
local builtin = require("telescope.builtin")
|
||||
local themes = require("telescope.themes")
|
||||
|
||||
vim.keymap.set("n", "<leader>f", function()
|
||||
builtin.find_files(themes.get_dropdown({ previewer = false }))
|
||||
end, {})
|
||||
vim.keymap.set("n", "<C-p>", builtin.git_files, {})
|
||||
vim.keymap.set("n", "<leader>t", "<cmd>Telescope live_grep<cr>")
|
||||
vim.keymap.set("n", "<leader>qf", "<cmd>Telescope quickfix<cr>")
|
||||
vim.keymap.set("n", "<leader>d", "<cmd>Telescope diagnostics<cr>")
|
||||
|
||||
local telescope = require("telescope")
|
||||
local actions = require("telescope.actions")
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case",
|
||||
"--hidden",
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
path_display = { "smart" },
|
||||
file_ignore_patterns = { ".git/", "node_modules", ".venv/" },
|
||||
mappings = {
|
||||
i = {
|
||||
["<Down>"] = actions.cycle_history_next,
|
||||
["<Up>"] = actions.cycle_history_prev,
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
},
|
||||
},
|
||||
},
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
follow = true,
|
||||
},
|
||||
},
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = true, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||
},
|
||||
media_files = {
|
||||
-- filetypes whitelist
|
||||
filetypes = { "png", "webp", "jpg", "jpeg", "mp4", "webm" },
|
||||
find_cmd = "rg",
|
||||
},
|
||||
emoji = {
|
||||
action = function(emoji)
|
||||
-- argument emoji is a table.
|
||||
-- {name="", value="", cagegory="", description=""}
|
||||
|
||||
vim.fn.setreg("*", emoji.value)
|
||||
print([[Press p or "*p to paste this emoji]] .. emoji.value)
|
||||
|
||||
-- insert emoji when picked
|
||||
-- vim.api.nvim_put({ emoji.value }, 'c', false, true)
|
||||
end,
|
||||
},
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown({
|
||||
-- even more opts
|
||||
}),
|
||||
|
||||
-- pseudo code / specification for writing custom displays, like the one
|
||||
-- for "codeactions"
|
||||
-- specific_opts = {
|
||||
-- [kind] = {
|
||||
-- make_indexed = function(items) -> indexed_items, width,
|
||||
-- make_displayer = function(widths) -> displayer
|
||||
-- make_display = function(displayer) -> function(e)
|
||||
-- make_ordinal = function(e) -> string
|
||||
-- },
|
||||
-- -- for example to disable the custom builtin "codeactions" display
|
||||
-- do the following
|
||||
-- codeactions = false,
|
||||
-- }
|
||||
},
|
||||
},
|
||||
})
|
||||
telescope.load_extension("fzf")
|
||||
telescope.load_extension("media_files")
|
||||
telescope.load_extension("emoji")
|
||||
telescope.load_extension("ui-select")
|
||||
telescope.load_extension("color_names")
|
||||
telescope.load_extension("git_worktree")
|
||||
telescope.load_extension("lazygit")
|
||||
59
after/plugin/treesitter.lua
Normal file
59
after/plugin/treesitter.lua
Normal file
@ -0,0 +1,59 @@
|
||||
if not pcall(require, "nvim-treesitter") then
|
||||
return
|
||||
end
|
||||
|
||||
require("nvim-treesitter.configs").setup({
|
||||
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
||||
ensure_installed = { "cpp", "lua", "rust", "python", "markdown", "markdown_inline" }, -- one of "all" or a list of languages
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||
auto_install = true,
|
||||
-- List of parsers to ignore installing (for "all")
|
||||
-- ignore_install = { "" },
|
||||
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = {},
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
additional_vim_regex_highlighting = { "markdown" },
|
||||
},
|
||||
autopairs = {
|
||||
enable = true,
|
||||
},
|
||||
autotag = {
|
||||
enable = true,
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"javascript",
|
||||
"typescript",
|
||||
"javascriptreact",
|
||||
"typescriptreact",
|
||||
"svelte",
|
||||
"vue",
|
||||
"tsx",
|
||||
"jsx",
|
||||
"rescript",
|
||||
"xml",
|
||||
"php",
|
||||
"markdown",
|
||||
"glimmer",
|
||||
"handlebars",
|
||||
"hbs",
|
||||
},
|
||||
},
|
||||
indent = { enable = true, disable = { "" } },
|
||||
rainbow = {
|
||||
enable = true,
|
||||
-- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for
|
||||
extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
|
||||
max_file_lines = nil, -- Do not enable for files with more than n lines, int
|
||||
-- colors = {}, -- table of hex strings
|
||||
-- termcolors = {}, -- table of colour name strings
|
||||
},
|
||||
})
|
||||
1
after/plugin/undotree.lua
Normal file
1
after/plugin/undotree.lua
Normal file
@ -0,0 +1 @@
|
||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||
@ -1,213 +0,0 @@
|
||||
local which_key = require("which-key")
|
||||
|
||||
local setup = {
|
||||
plugins = {
|
||||
marks = true, -- shows a list of your marks on " and `
|
||||
registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
|
||||
spelling = {
|
||||
enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
|
||||
suggestions = 20, -- how many suggestions should be shown in the list?
|
||||
},
|
||||
-- the presets plugin, adds help for a bunch of default keybindings in Neovim
|
||||
-- No actual key bindings are created
|
||||
presets = {
|
||||
operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
|
||||
motions = true, -- adds help for motions
|
||||
text_objects = true, -- help for text objects triggered after entering an operator
|
||||
windows = true, -- default bindings on <c-w>
|
||||
nav = true, -- misc bindings to work with windows
|
||||
z = true, -- bindings for folds, spelling and others prefixed with z
|
||||
g = true, -- bindings for prefixed with g
|
||||
},
|
||||
},
|
||||
-- add operators that will trigger motion and text object completion
|
||||
-- to enable all native operators, set the preset / operators plugin above
|
||||
-- operators = { gc = "Comments" },
|
||||
key_labels = {
|
||||
-- override the label used to display some keys. It doesn"t effect WK in any other way.
|
||||
-- For example:
|
||||
-- ["<space>"] = "SPC",
|
||||
-- ["<cr>"] = "RET",
|
||||
-- ["<tab>"] = "TAB",
|
||||
},
|
||||
icons = {
|
||||
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
||||
separator = "➜", -- symbol used between a key and it"s label
|
||||
group = "+", -- symbol prepended to a group
|
||||
},
|
||||
popup_mappings = {
|
||||
scroll_down = "<c-d>", -- binding to scroll down inside the popup
|
||||
scroll_up = "<c-u>", -- binding to scroll up inside the popup
|
||||
},
|
||||
window = {
|
||||
border = "rounded", -- none, single, double, shadow
|
||||
position = "bottom", -- bottom, top
|
||||
margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
|
||||
padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
|
||||
winblend = 0,
|
||||
},
|
||||
layout = {
|
||||
height = { min = 4, max = 25 }, -- min and max height of the columns
|
||||
width = { min = 20, max = 50 }, -- min and max width of the columns
|
||||
spacing = 3, -- spacing between columns
|
||||
align = "left", -- align columns left, center or right
|
||||
},
|
||||
ignore_missing = true, -- enable this to hide mappings for which you didn"t specify a label
|
||||
hidden = { "<silent>", "<cmd>", "<Cmd>", "<cr>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
|
||||
show_help = true, -- show help message on the command line when the popup is visible
|
||||
triggers = "auto", -- automatically setup triggers
|
||||
-- triggers = {"<leader>"} -- or specify a list manually
|
||||
triggers_blacklist = {
|
||||
-- list of mode / prefixes that should never be hooked by WhichKey
|
||||
-- this is mostly relevant for key maps that start with a native binding
|
||||
-- most people should not need to change this
|
||||
i = { "j", "k" },
|
||||
v = { "j", "k" },
|
||||
},
|
||||
}
|
||||
|
||||
local opts = {
|
||||
mode = "n", -- NORMAL mode
|
||||
prefix = "<leader>",
|
||||
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
||||
silent = true, -- use `silent` when creating keymaps
|
||||
noremap = true, -- use `noremap` when creating keymaps
|
||||
nowait = true, -- use `nowait` when creating keymaps
|
||||
}
|
||||
local vopts = {
|
||||
mode = "v", -- VISUAL mode
|
||||
prefix = "<leader>",
|
||||
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
||||
silent = true, -- use `silent` when creating keymaps
|
||||
noremap = true, -- use `noremap` when creating keymaps
|
||||
nowait = true, -- use `nowait` when creating keymaps
|
||||
}
|
||||
-- NOTE: Prefer using : over <cmd> as the latter avoids going back in normal-mode.
|
||||
-- see https://neovim.io/doc/user/map.html#:map-cmd
|
||||
local vmappings = {
|
||||
["/"] = { "<Plug>(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" },
|
||||
}
|
||||
|
||||
local mappings = {
|
||||
[";"] = { vim.cmd.Alpha, "Dashboard" },
|
||||
["/"] = { "<Plug>(comment_toggle_linewise_current)", "Comment toggle current line" },
|
||||
c = { vim.cmd.bdelete, "Close Buffer" },
|
||||
f = {
|
||||
"<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown({previewer = false}))<cr>",
|
||||
"Find files",
|
||||
},
|
||||
e = { vim.cmd.NvimTreeToggle, "Explorer" },
|
||||
F = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" },
|
||||
P = { "<cmd>lua require('telescope').extensions.projects.projects()<cr>", "Projects" },
|
||||
b = { "<cmd>Telescope buffers<cr>", "Find Buffers" },
|
||||
u = { vim.cmd.UndotreeToggle, "UndotreeToggle" },
|
||||
t = { vim.cmd.TagbarToggle, "Toggle Tagbar" },
|
||||
m = { require("harpoon.mark").add_file, "Add file to harpoon" },
|
||||
h = { require("harpoon.ui").toggle_quick_menu, "Open harpoon menu" },
|
||||
n = { vim.cmd.Oil, "Open Oil" },
|
||||
g = {
|
||||
name = "Git",
|
||||
g = { "<cmd>lua _LAZYGIT_TOGGLE()<cr>", "Lazygit" },
|
||||
l = { "<cmd>lua require('gitsigns').blame_line()<cr>", "Blame" },
|
||||
},
|
||||
l = {
|
||||
name = "LSP",
|
||||
a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
|
||||
d = { "<cmd>Telescope diagnostics bufnr=0 theme=get_ivy<cr>", "Buffer Diagnostics" },
|
||||
w = {
|
||||
"<cmd>Telescope diagnostics<cr>",
|
||||
"Workspace Diagnostics",
|
||||
},
|
||||
j = { "<cmd>lua vim.diagnostic.goto_next()<cr>", "Next Diagnostic" },
|
||||
k = {
|
||||
"<cmd>lua vim.diagnostic.goto_prev()<cr>",
|
||||
"Prev Diagnostic",
|
||||
},
|
||||
r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
|
||||
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
|
||||
S = {
|
||||
"<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
|
||||
"Workspace Symbols",
|
||||
},
|
||||
e = { "<cmd>Telescope quickfix<cr>", "Telescope Quickfix" },
|
||||
},
|
||||
s = {
|
||||
name = "Search",
|
||||
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
||||
c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
|
||||
f = { "<cmd>Telescope find_files<cr>", "Find File" },
|
||||
h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
|
||||
H = { "<cmd>Telescope highlights<cr>", "Find highlight groups" },
|
||||
M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
|
||||
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
|
||||
R = { "<cmd>Telescope registers<cr>", "Registers" },
|
||||
t = { "<cmd>Telescope live_grep<cr>", "Text" },
|
||||
k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
|
||||
C = { "<cmd>Telescope commands<cr>", "Commands" },
|
||||
T = { "<cmd>TodoTelescope<cr>", "Todo" },
|
||||
m = { "<cmd>lua require('telescope').extensions.media_files.media_files()<cr>", "Media" },
|
||||
p = {
|
||||
"<cmd>lua require('telescope.builtin').colorscheme({enable_preview = true})<cr>",
|
||||
"Colorscheme with Preview",
|
||||
},
|
||||
},
|
||||
r = {
|
||||
name = "Rust",
|
||||
e = { vim.cmd.RustExpandMacro, "Expand macro" },
|
||||
c = { vim.cmd.RustOpenCargo, "Open cargo.toml" },
|
||||
p = { vim.cmd.RustParentModule, "Parent module" },
|
||||
h = { vim.cmd.RustHoverActions, "Hover actions" },
|
||||
g = { vim.cmd.RustViewCrateGraph, "View create graph" },
|
||||
d = { vim.cmd.RustOpenExternalDocs, "Open external docs" },
|
||||
R = { vim.cmd.RustRunnables, "Open runnables" },
|
||||
a = { vim.cmd.RustCodeAction, "Code action groups" },
|
||||
},
|
||||
T = {
|
||||
name = "Terminal",
|
||||
n = { "<cmd>lua _NODE_TOGGLE()<cr>", "Node" },
|
||||
u = { "<cmd>lua _NCDU_TOGGLE()<cr>", "NCDU" },
|
||||
b = { "<cmd>lua _BTOP_TOGGLE()<cr>", "Btop" },
|
||||
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" },
|
||||
c = { "<cmd>lua _CARGO_RUN()<cr>", "Cargo run" },
|
||||
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" },
|
||||
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" },
|
||||
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" },
|
||||
},
|
||||
L = {
|
||||
name = "Language settings",
|
||||
c = { "<cmd>setlocal formatoptions-=cro<cr>", "Disable autocomment" },
|
||||
C = { "<cmd>setlocal formatoptions=cro<cr>", "Enable autocomment" },
|
||||
s = { "<cmd>setlocal spell!<cr>", "Toggle spellchecker" },
|
||||
e = { "<cmd>setlocal spell spelllang=en_us<cr>", "Enable English spellchecker" },
|
||||
l = { "<cmd>setlocal spell spelllang=lv_LV<cr>", "Enable Lavian spellchecker" },
|
||||
I = { "<cmd>setlocal autoindent<cr>", "Enable autoindent" },
|
||||
i = { "<cmd>setlocal noautoindent<cr>", "Disable autoindent" },
|
||||
},
|
||||
d = {
|
||||
name = "DAP",
|
||||
d = { "<cmd>lua require('dap').toggle_breakpoint()<cr>", "Set breakpoint" },
|
||||
t = { "<cmd>lua require('dapui').toggle()<cr>", "Toggle DAP-UI" },
|
||||
c = { "<cmd>lua require('dap').continue()<cr>", "Launch debug sessions and resume execution" },
|
||||
i = { "<cmd>lua require('dap').step_into()<cr>", "Step into code" },
|
||||
o = { "<cmd>lua require('dap').step_over()<cr>", "Step over code" },
|
||||
O = { "<cmd>lua require('dap').step_out()<cr>", "Step out of code" },
|
||||
r = { "<cmd>lua require('dap').repl.open()<cr>", "Inspect state" },
|
||||
T = { "<cmd>lua require('dap').terminate()<cr>", "Terminate" },
|
||||
l = { "<cmd>lua require('dap').run_last()<cr>", "Run last" },
|
||||
},
|
||||
w = {
|
||||
name = "VimWiki",
|
||||
w = { "<Plug>VimwikiIndex", "Open index file" },
|
||||
t = { "<Plug>VimwikiTabIndex", "Open index file in new tab" },
|
||||
s = { "<Plug>VimwikiUISelect", "Display list of wikis" },
|
||||
i = { "<Plug>VimwikiDiaryIndex", "Open diary index" },
|
||||
h = { "<Plug>Vimwiki2HTML", "Convert file to HTML" },
|
||||
H = { "<Plug>Vimwiki2HTMLBrowse", "Convert file to HTML and open in browser" },
|
||||
n = { "<Plug>VimwikiGoto", "Goto link provided by an argument" },
|
||||
d = { "<Plug>VimwikiDeleteFile", "Rename file" },
|
||||
r = { "<Plug>VimwikiRenameFile", "Delete file" },
|
||||
},
|
||||
}
|
||||
|
||||
which_key.setup(setup)
|
||||
which_key.register(mappings, opts, vopts, vmappings)
|
||||
@ -1,89 +1,69 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
|
||||
"DAPInstall.nvim": { "branch": "main", "commit": "8798b4c36d33723e7bba6ed6e2c202f84bb300de" },
|
||||
"LuaSnip": { "branch": "master", "commit": "99a94cc35ec99bf06263d0346128e908a204575c" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" },
|
||||
"LuaSnip": { "branch": "master", "commit": "c4d6298347f7707e9757351b2ee03d0c00da5c20" },
|
||||
"ccc.nvim": { "branch": "main", "commit": "4a0ddaf787cc82796e84ab8a7f70d086f250aeb6" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "5c8a7d6311ae6b0ed1e1fc66569fe67278a418fc" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "b19d166dc01e047c6dfdeb2da5df50eb4985ad64" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "679943b8e1e5ef79aaeeaf4b00782c52eb4e928f" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "323b00de2ee18cad1ac45eb95e680386c4ff4366" },
|
||||
"cloak.nvim": { "branch": "main", "commit": "ff5e746e787de14675396beb642bf5010b8bc96d" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "011c2641e39fba67260b1af56cb7328d43438133" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||
"crates.nvim": { "branch": "main", "commit": "d5caf28aba49e81ac4099426231f3cf3c151013a" },
|
||||
"darkplus.nvim": { "branch": "master", "commit": "7c236649f0617809db05cd30fb10fed7fb01b83b" },
|
||||
"distant.nvim": { "branch": "v0.3", "commit": "17bcd37f8d91dcb987456be456d8a95db1a772ba" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "9fe831e685a76e1a1898a694623b33247c4d036c" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "bc38057e513458cb2486b6cd82d365fa294ee398" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "bae45ef449d8811061cc940459e70e883a3aa83a" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "00e191fea2cfbbdd378243f35b5953296537a116" },
|
||||
"git-worktree.nvim": { "branch": "master", "commit": "d7f4e2584e81670154f07ca9fa5dd791d9c1b458" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d8590288417fef2430f85bc8b312fae8b1cf2c40" },
|
||||
"harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" },
|
||||
"hologram.nvim": { "branch": "main", "commit": "f5194f71ec1578d91b2e3119ff08e574e2eab542" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "1749cea392acb7d1548a946fcee1e6f1304cd3cb" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "dac844ed617dda4f9ec85eb88e9629ad2add5e05" },
|
||||
"lsp-zero.nvim": { "branch": "v2.x", "commit": "96974fe970c37bd3879ad8b6be4fe7ddfad75680" },
|
||||
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "2a9354c7d2368d78cbd5575a51a2af5bd8a6ad01" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "22e51e03268fabe068a77e2bd316ac25ff2084f9" },
|
||||
"lsp-zero.nvim": { "branch": "v2.x", "commit": "f084f4a6a716f55bf9c4026e73027bb24a0325a3" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "e86a4c84ff35240639643ffed56ee1c4d55f538e" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "dfdd771b792fbb4bad8e057d72558255695aa1a7" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "ae0c5fa57468ac65617f1bf821ba0c3a1e251f0c" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "e4d56b400e9757b1dc77d620fd3069396e92d5fc" },
|
||||
"mason.nvim": { "branch": "main", "commit": "74eac861b013786bf231b204b4ba9a7d380f4bd9" },
|
||||
"melange-nvim": { "branch": "master", "commit": "11f35df3e091f35e966a335ed90b0d8a03851ffd" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "6148b51db945b55b3b725da39eaea6441e59dff8" },
|
||||
"mason.nvim": { "branch": "main", "commit": "c811fbf09c7642eebb37d6694f1a016a043f6ed3" },
|
||||
"mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" },
|
||||
"neogen": { "branch": "main", "commit": "cb1f384df804c1bf729332c4f728253fe17962d4" },
|
||||
"nightfly": { "branch": "master", "commit": "e5638253af9bc27b81a129690cd9a9a7fcf79f4d" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "a48f6d9a0273101df76eb25d2f5477baa277f935" },
|
||||
"noice.nvim": { "branch": "main", "commit": "894db25ec726d32047799d4d0a982b701bec453b" },
|
||||
"nui.nvim": { "branch": "main", "commit": "9e3916e784660f55f47daa6f26053ad044db5d6a" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" },
|
||||
"nvim": { "branch": "main", "commit": "490078b1593c6609e6a50ad5001e7902ea601824" },
|
||||
"nightfly": { "branch": "master", "commit": "06eaaaa8717538a7ce96b13c137da8c9eaa84ec8" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "ae5b41ce880a6d850055e262d6dfebd362bb276e" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "3b9f28061a67b19cadc13946de981426a6425e4a" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "dde3084106a70b9a79d48f426f6d6fec6fd203f7" },
|
||||
"nvim-dap": { "branch": "master", "commit": "1c63f37f95cd4fb54512898168138d9a75d1516a" },
|
||||
"nvim-dap": { "branch": "master", "commit": "4377a05b9476587b7b485d6a9d9745768c4e4b37" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "85b16ac2309d85c88577cd8ee1733ce52be8227e" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "a981d4447b92c54a4d464eb1a76b799bc3f9a771" },
|
||||
"nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "904f95cd9db31d1800998fa428e78e418a50181d" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "15129f6d70a4d7adc380abe57a64af93478f72e5" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "e9062e2dfb9854e6a927370f2d720de354c88524" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "a27356f1ef9c11e1f459cc96a3fcac5c265e72d6" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "d94e1ad9575cc211b5726f09b28ca9454aba22fe" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9bff161dfece6ecf3459e6e46ca42e49f9ed939f" },
|
||||
"nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "5be5b800b4f3512bca128f345e9c98574b5637c0" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "ab899311f8ae00a47eae8e0879506cead8eb1561" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "8f1c896c4f084facddb235696a0dcc940411f3d5" },
|
||||
"oil.nvim": { "branch": "master", "commit": "0e5fca35cdc743cf3a448cea1a6251cf25cebafa" },
|
||||
"onedark.nvim": { "branch": "master", "commit": "09b71d84bd2524438e48c0aa5b54d855cc72af32" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" },
|
||||
"playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "6b17ee6cbd81f5f091712a59473b4257007ae336" },
|
||||
"playground": { "branch": "master", "commit": "429f3e76cbb1c59fe000b690f7a5bea617b890c0" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" },
|
||||
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
|
||||
"promise-async": { "branch": "main", "commit": "e94f35161b8c5d4a4ca3b6ff93dd073eb9214c0e" },
|
||||
"rainbow_csv": { "branch": "master", "commit": "7453a3f9679f0c753ec9d77f9ea8588778f35aeb" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "5359e74291164fcaeaaecdea9ba753ad54eb53d0" },
|
||||
"rest.nvim": { "branch": "main", "commit": "22673c848768ff25517154a5aebfebc0c77d0b4f" },
|
||||
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
||||
"sqls.nvim": { "branch": "main", "commit": "4b1274b5b44c48ce784aac23747192f5d9d26207" },
|
||||
"tagbar": { "branch": "master", "commit": "be563539754b7af22bbe842ef217d4463f73468c" },
|
||||
"tagbar": { "branch": "master", "commit": "402e3e117fc7b47e43dbb87c51064daae3bc3bf3" },
|
||||
"telescope-color-names.nvim": { "branch": "main", "commit": "95b372b9a8ba0fc7cf6a67be637ee37453f322da" },
|
||||
"telescope-emoji.nvim": { "branch": "master", "commit": "86248d97be84a1ce83f0541500ef9edc99ea2aa1" },
|
||||
"telescope-frecency.nvim": { "branch": "master", "commit": "1acb245b01294715684ed1322b6031cefd6c5132" },
|
||||
"telescope-frecency.nvim": { "branch": "master", "commit": "fbda5d91d6e787f5977787fa4a81da5c8e22160a" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" },
|
||||
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "2d92125620417fbea82ec30303823e3cd69e90e8" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "1dfa66b845673effc8771f9ebe511bb36a09f560" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "12cba0a1967b4f3f31903484dec72a6100dcf515" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" },
|
||||
"undotree": { "branch": "master", "commit": "0e11ba7325efbbb3f3bebe06213afa3e7ec75131" },
|
||||
"vim-be-good": { "branch": "master", "commit": "c290810728a4f75e334b07dc0f3a4cdea908d351" },
|
||||
"vim-closetag": { "branch": "master", "commit": "d0a562f8bdb107a50595aefe53b1a690460c3822" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "5ed17582a8e97bf0a0c617c3cf762e98f87b9859" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "572c8510123cbde02e8a1dafcd376c98e1e13f43" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" },
|
||||
"vim-log-highlighting": { "branch": "master", "commit": "1037e26f3120e6a6a2c0c33b14a84336dee2a78f" },
|
||||
"vim-markdown": { "branch": "master", "commit": "cc82d88e2a791f54d2b6e2b26e41f743351ac947" },
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "cdd66d6a37d991bba7997d593586fc51a5b37aa8" },
|
||||
"vimwiki": { "branch": "dev", "commit": "f0fe154ede6b11e3db9b058b930005a056a3d1c6" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }
|
||||
"vim-tmux-navigator": { "branch": "master", "commit": "addb64a772cb4a3ae1f1363583012b2cada2cd66" },
|
||||
"vimwiki": { "branch": "dev", "commit": "f0fe154ede6b11e3db9b058b930005a056a3d1c6" }
|
||||
}
|
||||
@ -1,167 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
opts = {
|
||||
filetypes = { "html", "css", "javascript", "lua", "yaml", "conf", "toml" },
|
||||
user_default_options = {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
names = false, -- "Name" codes like Blue or blue
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
AARRGGBB = true, -- 0xAARRGGBB hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
-- Available modes for `mode`: foreground, background, virtualtext
|
||||
mode = "background", -- Set the display mode.
|
||||
-- Available methods are false / true / "normal" / "lsp" / "both"
|
||||
-- True is same as normal
|
||||
tailwind = true, -- Enable tailwind colors
|
||||
-- parsers can contain values used in |user_default_options|
|
||||
sass = {
|
||||
enable = true,
|
||||
parsers = { "css" },
|
||||
}, -- Enable sass colors
|
||||
virtualtext = "■",
|
||||
},
|
||||
-- all the sub-options of filetypes apply to buftypes
|
||||
buftypes = {},
|
||||
html = { names = true },
|
||||
css = { names = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
"uga-rosa/ccc.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
local ccc = require("ccc")
|
||||
local ColorInput = require("ccc.input")
|
||||
local convert = require("ccc.utils.convert")
|
||||
|
||||
local RgbHslInput = setmetatable({
|
||||
name = "RGB/HSL",
|
||||
max = { 1, 1, 1, 360, 1, 1, 1, 1, 1, 1 },
|
||||
min = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
delta = { 1 / 255, 1 / 255, 1 / 255, 1, 0.01, 0.01, 0.005, 0.005, 0.005, 0.005 },
|
||||
bar_name = { "R", "G", "B", "H", "S", "L" },
|
||||
}, { __index = ColorInput })
|
||||
|
||||
function RgbHslInput.format(n, i)
|
||||
if i <= 3 then
|
||||
-- RGB
|
||||
n = n * 255
|
||||
elseif i >= 5 then
|
||||
-- S or L of HSL
|
||||
n = n * 100
|
||||
end
|
||||
return ("%6d"):format(n)
|
||||
end
|
||||
|
||||
function RgbHslInput.from_rgb(RGB)
|
||||
local HSL = convert.rgb2hsl(RGB)
|
||||
local R, G, B = unpack(RGB)
|
||||
local H, S, L = unpack(HSL)
|
||||
return { R, G, B, H, S, L }
|
||||
end
|
||||
|
||||
function RgbHslInput.to_rgb(value)
|
||||
return { value[1], value[2], value[3] }
|
||||
end
|
||||
|
||||
function RgbHslInput:_set_rgb(RGB)
|
||||
self.value[1] = RGB[1]
|
||||
self.value[2] = RGB[2]
|
||||
self.value[3] = RGB[3]
|
||||
end
|
||||
|
||||
function RgbHslInput:_set_hsl(HSL)
|
||||
self.value[4] = HSL[1]
|
||||
self.value[5] = HSL[2]
|
||||
self.value[6] = HSL[3]
|
||||
end
|
||||
|
||||
function RgbHslInput:callback(index, new_value)
|
||||
self.value[index] = new_value
|
||||
local v = self.value
|
||||
if index <= 3 then
|
||||
local RGB = { v[1], v[2], v[3] }
|
||||
local HSL = convert.rgb2hsl(RGB)
|
||||
self:_set_hsl(HSL)
|
||||
else
|
||||
local HSL = { v[4], v[5], v[6] }
|
||||
local RGB = convert.hsl2rgb(HSL)
|
||||
self:_set_rgb(RGB)
|
||||
end
|
||||
end
|
||||
|
||||
ccc.setup({
|
||||
pickers = {
|
||||
ccc.picker.custom_entries({
|
||||
bg = "#1a1b26",
|
||||
bg_dark = "#16161e",
|
||||
bg_float = "#16161e",
|
||||
bg_highlight = "#292e42",
|
||||
bg_popup = "#16161e",
|
||||
bg_search = "#3d59a1",
|
||||
bg_sidebar = "#16161e",
|
||||
bg_statusline = "#16161e",
|
||||
bg_visual = "#283457",
|
||||
black = "#15161e",
|
||||
blue = "#7aa2f7",
|
||||
blue0 = "#3d59a1",
|
||||
blue1 = "#2ac3de",
|
||||
blue2 = "#0db9d7",
|
||||
blue5 = "#89ddff",
|
||||
blue6 = "#b4f9f8",
|
||||
blue7 = "#394b70",
|
||||
border = "#15161e",
|
||||
border_highlight = "#27a1b9",
|
||||
comment = "#565f89",
|
||||
cyan = "#7dcfff",
|
||||
dark3 = "#545c7e",
|
||||
dark5 = "#737aa2",
|
||||
delta_add = "#2c5a66",
|
||||
delta_delete = "#713137",
|
||||
diff_add = "#20303b",
|
||||
diff_change = "#1f2231",
|
||||
diff_delete = "#37222c",
|
||||
diff_text = "#394b70",
|
||||
error = "#db4b4b",
|
||||
fg = "#c0caf5",
|
||||
fg_dark = "#a9b1d6",
|
||||
fg_float = "#c0caf5",
|
||||
fg_gutter = "#3b4261",
|
||||
fg_sidebar = "#a9b1d6",
|
||||
git_add = "#449dab",
|
||||
git_change = "#6183bb",
|
||||
git_delete = "#914c54",
|
||||
git_ignore = "#545c7e",
|
||||
gitSigns_add = "#266d6a",
|
||||
gitSigns_change = "#536c9e",
|
||||
gitSigns_delete = "#b2555b",
|
||||
green = "#9ece6a",
|
||||
green1 = "#73daca",
|
||||
green2 = "#41a6b5",
|
||||
hint = "#1abc9c",
|
||||
info = "#0db9d7",
|
||||
magenta = "#bb9af7",
|
||||
magenta2 = "#ff007c",
|
||||
none = "NONE",
|
||||
orange = "#ff9e64",
|
||||
purple = "#9d7cd8",
|
||||
red = "#f7768e",
|
||||
red1 = "#db4b4b",
|
||||
teal = "#1abc9c",
|
||||
terminal_black = "#414868",
|
||||
warning = "#e0af68",
|
||||
yellow = "#e0af68",
|
||||
}),
|
||||
},
|
||||
inputs = {
|
||||
RgbHslInput,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,51 +0,0 @@
|
||||
return {
|
||||
{ "lunarvim/darkplus.nvim" },
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("catppuccin").setup({
|
||||
flavour = "frappe",
|
||||
transparent_background = true,
|
||||
term_colors = true,
|
||||
})
|
||||
-- vim.cmd.colorscheme("catppuccin")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Mofiqul/dracula.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("dracula").setup({
|
||||
transparent_bg = true,
|
||||
italic_comment = true,
|
||||
})
|
||||
-- vim.cmd.colorscheme("dracula")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tokyonight").setup({
|
||||
style = "night",
|
||||
transparent = true,
|
||||
styles = {
|
||||
keywords = { italic = false },
|
||||
sidebars = "transparent",
|
||||
floats = "transparent",
|
||||
},
|
||||
lualine_bold = true,
|
||||
})
|
||||
vim.cmd.colorscheme("tokyonight")
|
||||
end,
|
||||
},
|
||||
{ "rebelot/kanagawa.nvim" },
|
||||
{ "EdenEast/nightfox.nvim" },
|
||||
{ "navarasu/onedark.nvim" },
|
||||
{ "savq/melange-nvim" },
|
||||
{ "bluz71/vim-nightfly-colors", name = "nightfly" },
|
||||
}
|
||||
@ -1,64 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
|
||||
---Add a space b/w comment and the line
|
||||
padding = true,
|
||||
---Whether the cursor should stay at its position
|
||||
sticky = true,
|
||||
---Lines to be ignored while (un)comment
|
||||
ignore = nil,
|
||||
---LHS of toggle mappings in NORMAL mode
|
||||
toggler = {
|
||||
---Line-comment toggle keymap
|
||||
line = "gcc",
|
||||
---Block-comment toggle keymap
|
||||
block = "gbb",
|
||||
},
|
||||
-- -LHS of operator-pending mappings in NORMAL and VISUAL mode
|
||||
opleader = {
|
||||
---Line-comment keymap
|
||||
line = "gc",
|
||||
---Block-comment keymap
|
||||
block = "gb",
|
||||
},
|
||||
---LHS of extra mappings
|
||||
extra = {
|
||||
---Add comment on the line above
|
||||
above = "gcO",
|
||||
---Add comment on the line below
|
||||
below = "gco",
|
||||
---Add comment at the end of line
|
||||
eol = "gcA",
|
||||
},
|
||||
--- Enable keybindings
|
||||
--- NOTE: If given `false` then the plugin won't create any mappings
|
||||
mappings = {
|
||||
---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
|
||||
basic = true,
|
||||
---Extra mapping; `gco`, `gcO`, `gcA`
|
||||
extra = true,
|
||||
---Extended mapping; `g>` `g<` `g>[count]{motion}` `g<[count]{motion}`
|
||||
extended = true,
|
||||
},
|
||||
---Function to call before (un)comment
|
||||
-- pre_hook = function(ctx)
|
||||
-- local U = require("Comment.utils")
|
||||
--
|
||||
-- local location = nil
|
||||
-- if ctx.ctype == U.ctype.block then
|
||||
-- location = require("ts_context_commentstring.utils").get_cursor_location()
|
||||
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||
-- location = require("ts_context_commentstring.utils").get_visual_start_location()
|
||||
-- end
|
||||
--
|
||||
-- return require("ts_context_commentstring.internal").calculate_commentstring({
|
||||
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||
-- location = location,
|
||||
-- })
|
||||
-- end,
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,91 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"p00f/clangd_extensions.nvim",
|
||||
opts = {
|
||||
inlay_hints = {
|
||||
inline = vim.fn.has("nvim-0.10") == 1,
|
||||
-- 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",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"Civitasv/cmake-tools.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
opts = {
|
||||
cmake_command = "cmake",
|
||||
cmake_build_directory = "target/build/",
|
||||
cmake_build_directory_prefix = "cmake_build_", -- when cmake_build_directory is "", this option will be activated
|
||||
cmake_generate_options = { "-D", "CMAKE_EXPORT_COMPILE_COMMANDS=1" },
|
||||
cmake_soft_link_compile_commands = true, -- if softlink compile commands json file
|
||||
cmake_build_options = {},
|
||||
cmake_console_size = 15, -- cmake output window height
|
||||
cmake_console_position = "belowright", -- "belowright", "aboveleft", ...
|
||||
cmake_show_console = "always", -- "always", "only_on_error"
|
||||
cmake_dap_configuration = { name = "cpp", type = "codelldb", request = "launch" }, -- dap configuration, optional
|
||||
cmake_variants_message = {
|
||||
short = { show = true },
|
||||
long = { show = true, max_length = 40 },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,58 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "jayp0521/mason-nvim-dap.nvim" },
|
||||
opts = {
|
||||
layouts = {
|
||||
{
|
||||
elements = {
|
||||
"scopes",
|
||||
"breakpoints",
|
||||
"stacs",
|
||||
"watches",
|
||||
},
|
||||
size = 40,
|
||||
position = "left",
|
||||
},
|
||||
{
|
||||
elements = {
|
||||
"repl",
|
||||
"console",
|
||||
},
|
||||
size = 10,
|
||||
position = "bottom",
|
||||
},
|
||||
},
|
||||
-- sidebar = {
|
||||
-- elements = {
|
||||
-- {
|
||||
-- id = "scopes",
|
||||
-- size = 0.25, -- Can be float or integer > 1
|
||||
-- },
|
||||
-- { id = "breakpoints", size = 0.25 },
|
||||
-- },
|
||||
-- size = 40,
|
||||
-- position = "right", -- Can be "left", "right", "top", "bottom"
|
||||
-- },
|
||||
-- tray = {
|
||||
-- elements = {},
|
||||
-- },
|
||||
},
|
||||
},
|
||||
{
|
||||
"jayp0521/mason-nvim-dap.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
automatic_installation = true,
|
||||
automatic_setup = true,
|
||||
},
|
||||
},
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
},
|
||||
{ "ravenxrz/DAPInstall.nvim", lazy = true },
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
return {
|
||||
{ "folke/lazy.nvim" },
|
||||
{ "nvim-lua/plenary.nvim" }, -- Useful lua functions used by lots of plugins
|
||||
|
||||
{ "goolord/alpha-nvim", lazy = true },
|
||||
-- TODO: replace alphh with veil
|
||||
-- { "willothy/veil.nvim", lazy = true },
|
||||
|
||||
{
|
||||
"andweeb/presence.nvim",
|
||||
opts = {
|
||||
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
|
||||
neovim_image_text = "The Only True Text Editor", -- Text displayed when hovered over the Neovim image
|
||||
main_image = "neovim", -- Main image display (either "neovim" or "file")
|
||||
-- client_id = "", -- Use your own Discord application client id (not recommended)
|
||||
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
|
||||
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
|
||||
enable_line_number = false, -- Displays the current line number instead of the current project
|
||||
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
|
||||
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
|
||||
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
|
||||
show_time = true, -- Show the timer
|
||||
|
||||
-- Rich Presence text options
|
||||
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
|
||||
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
|
||||
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
|
||||
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
|
||||
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
|
||||
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
|
||||
line_number_text = "Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
|
||||
},
|
||||
},
|
||||
|
||||
{ "alvan/vim-closetag" },
|
||||
{ "mbbill/undotree", lazy = true },
|
||||
{ "preservim/tagbar" },
|
||||
{ "jghauser/mkdir.nvim", lazy = true },
|
||||
{ "mtdl9/vim-log-highlighting", lazy = true },
|
||||
{
|
||||
"edluffy/hologram.nvim",
|
||||
lazy = true,
|
||||
opts = {
|
||||
auto_display = true,
|
||||
},
|
||||
},
|
||||
|
||||
{ "folke/which-key.nvim", lazy = true },
|
||||
|
||||
{ "christoomey/vim-tmux-navigator" },
|
||||
{ "ThePrimeagen/vim-be-good", lazy = true },
|
||||
|
||||
{ "rest-nvim/rest.nvim", lazy = true },
|
||||
|
||||
{
|
||||
"chipsenkbeil/distant.nvim",
|
||||
branch = "v0.3",
|
||||
config = function()
|
||||
require("distant"):setup()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"danymat/neogen",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
config = true,
|
||||
version = "*",
|
||||
},
|
||||
|
||||
{
|
||||
"kevinhwang91/nvim-ufo",
|
||||
dependencies = {
|
||||
"kevinhwang91/promise-async",
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
opts = {
|
||||
signs = {
|
||||
add = { hl = "GitSignsAdd", text = "▎", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
||||
change = {
|
||||
hl = "GitSignsChange",
|
||||
text = "▎",
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
delete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = "契",
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
topdelete = {
|
||||
hl = "GitSignsDelete",
|
||||
text = "契",
|
||||
numhl = "GitSignsDeleteNr",
|
||||
linehl = "GitSignsDeleteLn",
|
||||
},
|
||||
changedelete = {
|
||||
hl = "GitSignsChange",
|
||||
text = "▎",
|
||||
numhl = "GitSignsChangeNr",
|
||||
linehl = "GitSignsChangeLn",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
opts = {},
|
||||
config = function()
|
||||
local ui = require("harpoon.ui")
|
||||
local keymap = vim.keymap.set
|
||||
for i = 1, 12, 1 do
|
||||
keymap("n", "<F" .. i .. ">", function()
|
||||
ui.nav_file(i)
|
||||
end)
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,56 +0,0 @@
|
||||
return {
|
||||
|
||||
"RRethy/vim-illuminate",
|
||||
config = function()
|
||||
require("illuminate").configure({
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"regex",
|
||||
},
|
||||
-- delay: delay in milliseconds
|
||||
delay = 100,
|
||||
-- filetype_overrides: filetype specific overrides.
|
||||
-- The keys are strings to represent the filetype while the values are tables that
|
||||
-- supports the same keys passed to .configure except for filetypes_denylist and filetypes_allowlist
|
||||
filetype_overrides = {},
|
||||
-- filetypes_denylist: filetypes to not illuminate, this overrides filetypes_allowlist
|
||||
filetypes_denylist = {
|
||||
"alpha",
|
||||
"NvimTree",
|
||||
"dirvish",
|
||||
"fugitive",
|
||||
},
|
||||
-- filetypes_allowlist: filetypes to illuminate, this is overridden by filetypes_denylist
|
||||
filetypes_allowlist = {},
|
||||
-- modes_denylist: modes to not illuminate, this overrides modes_allowlist
|
||||
-- See `:help mode()` for possible values
|
||||
modes_denylist = {},
|
||||
-- modes_allowlist: modes to illuminate, this is overridden by modes_denylist
|
||||
-- See `:help mode()` for possible values
|
||||
modes_allowlist = {},
|
||||
-- providers_regex_syntax_denylist: syntax to not illuminate, this overrides providers_regex_syntax_allowlist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_denylist = {},
|
||||
-- providers_regex_syntax_allowlist: syntax to illuminate, this is overridden by providers_regex_syntax_denylist
|
||||
-- Only applies to the 'regex' provider
|
||||
-- Use :echom synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name')
|
||||
providers_regex_syntax_allowlist = {},
|
||||
-- under_cursor: whether or not to illuminate under the cursor
|
||||
under_cursor = true,
|
||||
-- large_file_cutoff: number of lines at which to use large_file_config
|
||||
-- The `under_cursor` option is disabled when this cutoff is hit
|
||||
large_file_cutoff = nil,
|
||||
-- large_file_config: config to use for large files (based on large_file_cutoff).
|
||||
-- Supports the same keys passed to .configure
|
||||
-- If nil, vim-illuminate will be disabled for large files.
|
||||
large_file_overrides = nil,
|
||||
-- min_count_to_highlight: minimum number of matches required to perform highlighting
|
||||
min_count_to_highlight = 1,
|
||||
})
|
||||
local bind = vim.keymap.set
|
||||
bind("n", "<A-n>", "<cmd>lua require('illuminate').goto_next_reference(wrap)<cr>", { noremap = true })
|
||||
bind("n", "<A-p>", "<cmd>lua require('illuminate').goto_prev_reference(wrap)<cr>", { noremap = true })
|
||||
end,
|
||||
}
|
||||
@ -1,33 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
config = function()
|
||||
vim.opt.list = true
|
||||
vim.opt.listchars:append("space:⋅")
|
||||
vim.opt.listchars:append("eol:↴")
|
||||
|
||||
require("indent_blankline").setup({
|
||||
char = "▎",
|
||||
show_trailing_blankline_indent = true,
|
||||
show_first_indent_level = true,
|
||||
use_treesitter = true,
|
||||
show_end_of_line = true,
|
||||
space_char_blankline = " ",
|
||||
show_current_context = true,
|
||||
show_current_context_start = false,
|
||||
buftype_exclude = { "terminal", "nofile" },
|
||||
filetype_exclude = {
|
||||
"NvimTree",
|
||||
"Trouble",
|
||||
"alpha",
|
||||
"dashboard",
|
||||
"help",
|
||||
"lazy",
|
||||
"neogitstatus",
|
||||
"packer",
|
||||
"startify",
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,59 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
branch = "v2.x",
|
||||
dependencies = {
|
||||
-- LSP Support
|
||||
{ "neovim/nvim-lspconfig" }, -- Required
|
||||
{ "williamboman/mason.nvim" }, -- Optional
|
||||
{ "williamboman/mason-lspconfig.nvim" }, -- Optional
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer", -- buffer completions
|
||||
"hrsh7th/cmp-path", -- path completionsplu
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
}, -- Required
|
||||
{ "hrsh7th/cmp-nvim-lsp" }, -- Required
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = "make install_jsregexp",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
},
|
||||
}, -- Required
|
||||
{ "saadparwaiz1/cmp_luasnip" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"windwp/nvim-autopairs", -- Autopairs, integrates with both cmp and treesitter
|
||||
event = "InsertEnter",
|
||||
opts = {
|
||||
check_ts = true, -- treesitter integration
|
||||
disable_filetype = {
|
||||
"NvimTree",
|
||||
"TelescopePrompt",
|
||||
"alpha",
|
||||
"lazy",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
},
|
||||
},
|
||||
|
||||
-- for formatters and linters
|
||||
{ "nanotee/sqls.nvim", lazy = true },
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = {
|
||||
"arkav/lualine-lsp-progress",
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "auto",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
statusline = { "alpha", "dashboard" },
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = true,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
--[[ Available components
|
||||
|
||||
`branch` (git branch)
|
||||
`buffers` (shows currently available buffers)
|
||||
`diagnostics` (diagnostics count from your preferred source)
|
||||
`diff` (git diff status)
|
||||
`encoding` (file encoding)
|
||||
`fileformat` (file format)
|
||||
`filename`
|
||||
`filesize`
|
||||
`filetype`
|
||||
`hostname`
|
||||
`location` (location in file in line:column format)
|
||||
`mode` (vim mode)
|
||||
`progress` (%progress in file)
|
||||
`searchcount` (number of search matches when hlsearch is active)
|
||||
`selectioncount` (number of selected characters or lines)
|
||||
`tabs` (shows currently available tabs)
|
||||
`windows` (shows currently available windows) ]]
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = { "diff", "lsp_progress" },
|
||||
lualine_x = {
|
||||
{
|
||||
require("noice").api.statusline.mode.get,
|
||||
cond = require("noice").api.statusline.mode.has,
|
||||
color = { fg = "#e0af68" },
|
||||
},
|
||||
"diagnostics",
|
||||
},
|
||||
lualine_y = { "filename" },
|
||||
lualine_z = { "location", "progress" },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
build = function()
|
||||
vim.fn["mkdp#util#install"]()
|
||||
end,
|
||||
config = function()
|
||||
vim.g.mkdp_filetypes = { "markdown", "vimwiki" }
|
||||
end,
|
||||
opts = {
|
||||
ft = { "markdown", "vimwiki" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
return {
|
||||
require("lazy").setup({
|
||||
{
|
||||
"nvim-neorg/neorg",
|
||||
build = ":Neorg sync-parsers",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
require("neorg").setup({
|
||||
load = {
|
||||
["core.defaults"] = {}, -- Loads default behaviour
|
||||
["core.concealer"] = {}, -- Adds pretty icons to your documents
|
||||
["core.dirman"] = { -- Manages Neorg workspaces
|
||||
config = {
|
||||
workspaces = {
|
||||
notes = "~/neorg",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}),
|
||||
}
|
||||
@ -1,207 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"rcarriga/nvim-notify",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {
|
||||
cmdline = {
|
||||
enabled = true, -- enables the Noice cmdline UI
|
||||
view = "cmdline_popup", -- view for rendering the cmdline. Change to `cmdline` to get a classic cmdline at the bottom
|
||||
opts = {}, -- global options for the cmdline. See section on views
|
||||
---@type table<string, CmdlineFormat>
|
||||
format = {
|
||||
-- conceal: (default=true) This will hide the text in the cmdline that matches the pattern.
|
||||
-- view: (default is cmdline view)
|
||||
-- opts: any options passed to the view
|
||||
-- icon_hl_group: optional hl_group for the icon
|
||||
-- title: set to anything or empty string to hide
|
||||
cmdline = { pattern = "^:", icon = "", lang = "vim" },
|
||||
search_down = {
|
||||
kind = "search",
|
||||
pattern = "^/",
|
||||
icon = " ",
|
||||
lang = "regex",
|
||||
view = "cmdline_popup",
|
||||
},
|
||||
search_up = {
|
||||
kind = "search",
|
||||
pattern = "^%?",
|
||||
icon = " ",
|
||||
lang = "regex",
|
||||
view = "cmdline_popup",
|
||||
},
|
||||
filter = { pattern = "^:%s*!", icon = "$", lang = "bash" },
|
||||
lua = { pattern = { "^:%s*lua%s+", "^:%s*lua%s*=%s*", "^:%s*=%s*" }, icon = "", lang = "lua" },
|
||||
help = { pattern = "^:%s*he?l?p?%s+", icon = "" },
|
||||
input = {}, -- Used by input()
|
||||
-- lua = false, -- to disable a format, set to `false`
|
||||
},
|
||||
},
|
||||
messages = {
|
||||
-- NOTE: If you enable messages, then the cmdline is enabled automatically.
|
||||
-- This is a current Neovim limitation.
|
||||
enabled = true, -- enables the Noice messages UI
|
||||
view = "notify", -- default view for messages
|
||||
view_error = "notify", -- view for errors
|
||||
view_warn = "notify", -- view for warnings
|
||||
view_history = "messages", -- view for :messages
|
||||
view_search = "virtualtext", -- view for search count messages. Set to `false` to disable
|
||||
},
|
||||
popupmenu = {
|
||||
enabled = true, -- enables the Noice popupmenu UI
|
||||
---@type 'nui'|'cmp'
|
||||
backend = "nui", -- backend to use to show regular cmdline completions
|
||||
---@type NoicePopupmenuItemKind|false
|
||||
-- Icons for completion item kinds (see defaults at noice.config.icons.kinds)
|
||||
kind_icons = {}, -- set to `false` to disable icons
|
||||
},
|
||||
-- default options for require('noice').redirect
|
||||
-- see the section on Command Redirection
|
||||
---@type NoiceRouteConfig
|
||||
redirect = {
|
||||
view = "popup",
|
||||
filter = { event = "msg_show" },
|
||||
},
|
||||
-- You can add any custom commands below that will be available with `:Noice command`
|
||||
---@type table<string, NoiceCommand>
|
||||
commands = {
|
||||
history = {
|
||||
-- options for the message history that you get with `:Noice`
|
||||
view = "split",
|
||||
opts = { enter = true, format = "details" },
|
||||
filter = {
|
||||
any = {
|
||||
{ event = "notify" },
|
||||
{ error = true },
|
||||
{ warning = true },
|
||||
{ event = "msg_show", kind = { "" } },
|
||||
{ event = "lsp", kind = "message" },
|
||||
},
|
||||
},
|
||||
},
|
||||
-- :Noice last
|
||||
last = {
|
||||
view = "popup",
|
||||
opts = { enter = true, format = "details" },
|
||||
filter = {
|
||||
any = {
|
||||
{ event = "notify" },
|
||||
{ error = true },
|
||||
{ warning = true },
|
||||
{ event = "msg_show", kind = { "" } },
|
||||
{ event = "lsp", kind = "message" },
|
||||
},
|
||||
},
|
||||
filter_opts = { count = 1 },
|
||||
},
|
||||
-- :Noice errors
|
||||
errors = {
|
||||
-- options for the message history that you get with `:Noice`
|
||||
view = "popup",
|
||||
opts = { enter = true, format = "details" },
|
||||
filter = { error = true },
|
||||
filter_opts = { reverse = true },
|
||||
},
|
||||
},
|
||||
notify = {
|
||||
-- Noice can be used as `vim.notify` so you can route any notification like other messages
|
||||
-- Notification messages have their level and other properties set.
|
||||
-- event is always "notify" and kind can be any log level as a string
|
||||
-- The default routes will forward notifications to nvim-notify
|
||||
-- Benefit of using Noice for this is the routing and consistent history view
|
||||
enabled = true,
|
||||
view = "notify",
|
||||
},
|
||||
lsp = {
|
||||
progress = {
|
||||
enabled = false,
|
||||
-- Lsp Progress is formatted using the builtins for lsp_progress. See config.format.builtin
|
||||
-- See the section on formatting for more details on how to customize.
|
||||
--- @type NoiceFormat|string
|
||||
format = "lsp_progress",
|
||||
--- @type NoiceFormat|string
|
||||
format_done = "lsp_progress_done",
|
||||
throttle = 1000 / 30, -- frequency to update lsp progress message
|
||||
view = "mini",
|
||||
},
|
||||
override = {
|
||||
-- override the default lsp markdown formatter with Noice
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
-- override the lsp markdown formatter with Noice
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
-- override cmp documentation with Noice (needs the other options to work)
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
hover = {
|
||||
enabled = true,
|
||||
silent = false, -- set to true to not show a message if hover is not available
|
||||
view = nil, -- when nil, use defaults from documentation
|
||||
---@type NoiceViewOptions
|
||||
opts = {}, -- merged with defaults from documentation
|
||||
},
|
||||
signature = {
|
||||
enabled = true,
|
||||
auto_open = {
|
||||
enabled = true,
|
||||
trigger = true, -- Automatically show signature help when typing a trigger character from the LSP
|
||||
luasnip = true, -- Will open signature help when jumping to Luasnip insert nodes
|
||||
throttle = 50, -- Debounce lsp signature help request by 50ms
|
||||
},
|
||||
view = nil, -- when nil, use defaults from documentation
|
||||
---@type NoiceViewOptions
|
||||
opts = {}, -- merged with defaults from documentation
|
||||
},
|
||||
message = {
|
||||
-- Messages shown by lsp servers
|
||||
enabled = true,
|
||||
view = "notify",
|
||||
opts = {},
|
||||
},
|
||||
-- defaults for hover and signature help
|
||||
documentation = {
|
||||
view = "hover",
|
||||
---@type NoiceViewOptions
|
||||
opts = {
|
||||
lang = "markdown",
|
||||
replace = true,
|
||||
render = "plain",
|
||||
format = { "{message}" },
|
||||
win_options = { concealcursor = "n", conceallevel = 3 },
|
||||
},
|
||||
},
|
||||
},
|
||||
health = {
|
||||
checker = true, -- Disable if you don't want health checks to run
|
||||
},
|
||||
smart_move = {
|
||||
-- noice tries to move out of the way of existing floating windows.
|
||||
enabled = true, -- you can disable this behaviour here
|
||||
-- add any filetypes here, that shouldn't trigger smart move.
|
||||
excluded_filetypes = { "cmp_menu", "cmp_docs", "notify" },
|
||||
},
|
||||
---@type NoicePresets
|
||||
presets = {
|
||||
-- you can enable a preset by setting it to true, or a table that will override the preset config
|
||||
-- you can also add custom presets that you can enable/disable with enabled=true
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = true, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = true, -- add a border to hover docs and signature help
|
||||
},
|
||||
throttle = 1000 / 30, -- how frequently does Noice need to check for ui updates? This has no effect when in blocking mode.
|
||||
---@type NoiceConfigViews
|
||||
views = {}, ---@see section on views
|
||||
---@type NoiceRouteConfig[]
|
||||
routes = {}, --- @see section on routes
|
||||
---@type table<string, NoiceFilter>
|
||||
status = {}, --- @see section on statusline components
|
||||
---@type NoiceFormatOptions
|
||||
format = {}, --- @see section on formatting
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,57 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_cwd = true,
|
||||
},
|
||||
renderer = {
|
||||
root_folder_modifier = ":t",
|
||||
icons = {
|
||||
glyphs = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
folder = {
|
||||
arrow_open = "",
|
||||
arrow_closed = "",
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = "",
|
||||
},
|
||||
git = {
|
||||
unstaged = "",
|
||||
staged = "S",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "U",
|
||||
deleted = "",
|
||||
ignored = "◌",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = true,
|
||||
icons = {
|
||||
hint = "",
|
||||
info = "",
|
||||
error = "",
|
||||
},
|
||||
},
|
||||
view = {
|
||||
width = 30,
|
||||
-- height = 30,
|
||||
side = "left",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,127 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"stevearc/oil.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
opts = {
|
||||
|
||||
-- Id is automatically added at the beginning, and name at the end
|
||||
-- See :help oil-columns
|
||||
columns = {
|
||||
"icon",
|
||||
-- "permissions",
|
||||
-- "size",
|
||||
-- "mtime",
|
||||
},
|
||||
-- Buffer-local options to use for oil buffers
|
||||
buf_options = {
|
||||
buflisted = false,
|
||||
bufhidden = "hide",
|
||||
},
|
||||
-- Window-local options to use for oil buffers
|
||||
win_options = {
|
||||
wrap = false,
|
||||
signcolumn = "no",
|
||||
cursorcolumn = false,
|
||||
foldcolumn = "0",
|
||||
spell = false,
|
||||
list = false,
|
||||
conceallevel = 3,
|
||||
concealcursor = "n",
|
||||
},
|
||||
-- Oil will take over directory buffers (e.g. `vim .` or `:e src/`
|
||||
default_file_explorer = true,
|
||||
-- Restore window options to previous values when leaving an oil buffer
|
||||
restore_win_options = true,
|
||||
-- Skip the confirmation popup for simple operations
|
||||
skip_confirm_for_simple_edits = false,
|
||||
-- Deleted files will be removed with the `trash-put` command.
|
||||
delete_to_trash = true,
|
||||
-- Selecting a new/moved/renamed file or directory will prompt you to save changes first
|
||||
prompt_save_on_select_new_entry = true,
|
||||
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
|
||||
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", nowait = true })
|
||||
-- Additionally, if it is a string that matches "actions.<name>",
|
||||
-- it will use the mapping at require("oil.actions").<name>
|
||||
-- Set to `false` to remove a keymap
|
||||
-- See :help oil-actions for a list of all available actions
|
||||
keymaps = {
|
||||
["?"] = "actions.show_help",
|
||||
["<CR>"] = "actions.select",
|
||||
["<C-L>"] = "actions.select_vsplit",
|
||||
["C-J>"] = "actions.select_split",
|
||||
["<C-t>"] = "actions.select_tab",
|
||||
["<C-p>"] = "actions.preview",
|
||||
["<C-c>"] = "actions.close",
|
||||
["<C-r>"] = "actions.refresh",
|
||||
["-"] = "actions.parent",
|
||||
["_"] = "actions.open_cwd",
|
||||
["`"] = "actions.cd",
|
||||
["~"] = "actions.tcd",
|
||||
["."] = "actions.toggle_hidden",
|
||||
},
|
||||
-- Set to false to disable all of the above keymaps
|
||||
use_default_keymaps = true,
|
||||
view_options = {
|
||||
-- Show files and directories that start with "."
|
||||
show_hidden = true,
|
||||
-- This function defines what is considered a "hidden" file
|
||||
is_hidden_file = function(name, bufnr)
|
||||
return vim.startswith(name, ".")
|
||||
end,
|
||||
-- This function defines what will never be shown, even when `show_hidden` is set
|
||||
is_always_hidden = function(name, bufnr)
|
||||
return false
|
||||
end,
|
||||
},
|
||||
-- Configuration for the floating window in oil.open_float
|
||||
float = {
|
||||
-- Padding around the floating window
|
||||
padding = 2,
|
||||
max_width = 0,
|
||||
max_height = 0,
|
||||
border = "rounded",
|
||||
win_options = {
|
||||
winblend = 10,
|
||||
},
|
||||
},
|
||||
-- Configuration for the actions floating preview window
|
||||
preview = {
|
||||
-- Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||
-- min_width and max_width can be a single value or a list of mixed integer/float types.
|
||||
-- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total"
|
||||
max_width = 0.9,
|
||||
-- min_width = {40, 0.4} means "the greater of 40 columns or 40% of total"
|
||||
min_width = { 40, 0.4 },
|
||||
-- optionally define an integer/float for the exact width of the preview window
|
||||
width = nil,
|
||||
-- Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||
-- min_height and max_height can be a single value or a list of mixed integer/float types.
|
||||
-- max_height = {80, 0.9} means "the lesser of 80 columns or 90% of total"
|
||||
max_height = 0.9,
|
||||
-- min_height = {5, 0.1} means "the greater of 5 columns or 10% of total"
|
||||
min_height = { 5, 0.1 },
|
||||
-- optionally define an integer/float for the exact height of the preview window
|
||||
height = nil,
|
||||
border = "rounded",
|
||||
win_options = {
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
-- Configuration for the floating progress window
|
||||
progress = {
|
||||
max_width = 0.9,
|
||||
min_width = { 40, 0.4 },
|
||||
width = nil,
|
||||
max_height = { 10, 0.9 },
|
||||
min_height = { 5, 0.1 },
|
||||
height = nil,
|
||||
border = "rounded",
|
||||
minimized_border = "none",
|
||||
win_options = {
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/persistence.nvim",
|
||||
event = "BufReadPre", -- this will only start session saving when an actual file was opened
|
||||
opts = {
|
||||
dir = vim.fn.expand(vim.fn.stdpath("state") .. "/sessions/"), -- directory where session files are saved
|
||||
options = { "buffers", "curdir", "tabpages", "winsize" }, -- sessionoptions used for saving
|
||||
pre_save = nil, -- a function to call before saving the session
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"ahmedkhalf/project.nvim",
|
||||
dependenvies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
},
|
||||
config = function()
|
||||
local project = require("project_nvim")
|
||||
project.setup({
|
||||
-- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project
|
||||
detection_methods = { "pattern" },
|
||||
-- patterns used to detect root dir, when **"pattern"** is in detection_methods
|
||||
patterns = { ".git", "package.json", ".venv", "Cargo.toml", "requirements.txt", "CMakeLists.txt" },
|
||||
})
|
||||
local telescope = require("telescope")
|
||||
telescope.load_extension("projects")
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
return {
|
||||
{
|
||||
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {
|
||||
prompt_func_return_type = {
|
||||
go = true,
|
||||
java = true,
|
||||
|
||||
cpp = true,
|
||||
c = true,
|
||||
h = true,
|
||||
hpp = true,
|
||||
cxx = true,
|
||||
},
|
||||
prompt_func_param_type = {
|
||||
go = true,
|
||||
java = true,
|
||||
|
||||
cpp = true,
|
||||
c = true,
|
||||
h = true,
|
||||
hpp = true,
|
||||
cxx = true,
|
||||
},
|
||||
printf_statements = {},
|
||||
print_var_statements = {},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,314 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"simrat39/rust-tools.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
opts = {
|
||||
tools = {
|
||||
-- how to execute terminal commands
|
||||
-- options right now: termopen / quickfix
|
||||
-- executor = require("rust-tools.executors").termopen,
|
||||
-- callback to execute once rust-analyzer is done initializing the workspace
|
||||
-- The callback receives one parameter indicating the `health` of the server: "ok" | "warning" | "error"
|
||||
on_initialized = function()
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "CursorHold", "InsertLeave", "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("InitializeRustAnalyzer", { clear = true }),
|
||||
pattern = { "*.rs" },
|
||||
callback = function()
|
||||
vim.lsp.codelens.refresh()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
-- automatically call RustReloadWorkspace when writing to a Cargo.toml file.
|
||||
reload_workspace_from_cargo_toml = true,
|
||||
-- These apply to the default RustSetInlayHints command
|
||||
inlay_hints = {
|
||||
-- automatically set inlay hints (type hints)
|
||||
-- default: true
|
||||
auto = true,
|
||||
-- Only show inlay hints for the current line
|
||||
only_current_line = false,
|
||||
-- whether to show parameter hints with the inlay hints or not
|
||||
-- default: true
|
||||
show_parameter_hints = true,
|
||||
-- prefix for parameter hints
|
||||
-- default: "<-"
|
||||
parameter_hints_prefix = " <- ",
|
||||
-- prefix for all the other hints (type, chaining)
|
||||
-- default: "=>"
|
||||
other_hints_prefix = " => ",
|
||||
-- whether to align to the length of the longest line in the file
|
||||
max_len_align = false,
|
||||
-- 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 = 7,
|
||||
-- The color of the hints
|
||||
highlight = "Comment",
|
||||
},
|
||||
-- options same as lsp hover / vim.lsp.util.open_floating_preview()
|
||||
hover_actions = {
|
||||
-- the border that is used for the hover window
|
||||
-- see vim.api.nvim_open_win()
|
||||
border = {
|
||||
{ "╭", "FloatBorder" },
|
||||
{ "─", "FloatBorder" },
|
||||
{ "╮", "FloatBorder" },
|
||||
{ "│", "FloatBorder" },
|
||||
{ "╯", "FloatBorder" },
|
||||
{ "─", "FloatBorder" },
|
||||
{ "╰", "FloatBorder" },
|
||||
{ "│", "FloatBorder" },
|
||||
},
|
||||
-- Maximal width of the hover window. Nil means no max.
|
||||
max_width = nil,
|
||||
-- Maximal height of the hover window. Nil means no max.
|
||||
max_height = nil,
|
||||
-- whether the hover action window gets automatically focused
|
||||
-- default: false
|
||||
auto_focus = false,
|
||||
},
|
||||
-- settings for showing the crate graph based on graphviz and the dot
|
||||
-- command
|
||||
crate_graph = {
|
||||
-- Backend used for displaying the graph
|
||||
-- see: https://graphviz.org/docs/outputs/
|
||||
-- default: x11
|
||||
backend = "x11",
|
||||
-- where to store the output, nil for no output stored (relative
|
||||
-- path from pwd)
|
||||
-- default: nil
|
||||
output = nil,
|
||||
-- true for all crates.io and external crates, false only the local
|
||||
-- crates
|
||||
-- default: true
|
||||
full = true,
|
||||
|
||||
-- List of backends found on: https://graphviz.org/docs/outputs/
|
||||
-- Is used for input validation and autocompletion
|
||||
-- Last updated: 2021-08-26
|
||||
enabled_graphviz_backends = {
|
||||
"bmp",
|
||||
"cgimage",
|
||||
"canon",
|
||||
"dot",
|
||||
"gv",
|
||||
"xdot",
|
||||
"xdot1.2",
|
||||
"xdot1.4",
|
||||
"eps",
|
||||
"exr",
|
||||
"fig",
|
||||
"gd",
|
||||
"gd2",
|
||||
"gif",
|
||||
"gtk",
|
||||
"ico",
|
||||
"cmap",
|
||||
"ismap",
|
||||
"imap",
|
||||
"cmapx",
|
||||
"imap_np",
|
||||
"cmapx_np",
|
||||
"jpg",
|
||||
"jpeg",
|
||||
"jpe",
|
||||
"jp2",
|
||||
"json",
|
||||
"json0",
|
||||
"dot_json",
|
||||
"xdot_json",
|
||||
"pdf",
|
||||
"pic",
|
||||
"pct",
|
||||
"pict",
|
||||
"plain",
|
||||
"plain-ext",
|
||||
"png",
|
||||
"pov",
|
||||
"ps",
|
||||
"ps2",
|
||||
"psd",
|
||||
"sgi",
|
||||
"svg",
|
||||
"svgz",
|
||||
"tga",
|
||||
"tiff",
|
||||
"tif",
|
||||
"tk",
|
||||
"vml",
|
||||
"vmlz",
|
||||
"wbmp",
|
||||
"webp",
|
||||
"xlib",
|
||||
"x11",
|
||||
},
|
||||
},
|
||||
|
||||
-- all the opts to send to nvim-lspconfig
|
||||
-- these override the defaults set by rust-tools.nvim
|
||||
-- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
|
||||
server = {
|
||||
-- standalone file support
|
||||
-- setting it to false may improve startup time
|
||||
standalone = true,
|
||||
}, -- rust-analyzer options
|
||||
|
||||
-- debugging stuff
|
||||
dap = {
|
||||
adapter = {
|
||||
type = "executable",
|
||||
command = "codelldb",
|
||||
name = "rt_lldb",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"Saecki/crates.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
opts = {
|
||||
smart_insert = true,
|
||||
insert_closing_quote = true,
|
||||
avoid_prerelease = true,
|
||||
autoload = true,
|
||||
autoupdate = true,
|
||||
loading_indicator = true,
|
||||
date_format = "%d-%m-%Y",
|
||||
thousands_separator = ".",
|
||||
notification_title = "Crates",
|
||||
disable_invalid_feature_diagnostic = false,
|
||||
text = {
|
||||
loading = " Loading",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
nomatch = " No match",
|
||||
upgrade = " %s",
|
||||
error = " Error fetching crate",
|
||||
},
|
||||
highlight = {
|
||||
loading = "CratesNvimLoading",
|
||||
version = "CratesNvimVersion",
|
||||
prerelease = "CratesNvimPreRelease",
|
||||
yanked = "CratesNvimYanked",
|
||||
nomatch = "CratesNvimNoMatch",
|
||||
upgrade = "CratesNvimUpgrade",
|
||||
error = "CratesNvimError",
|
||||
},
|
||||
popup = {
|
||||
autofocus = false,
|
||||
copy_register = '"',
|
||||
style = "minimal",
|
||||
border = "none",
|
||||
show_version_date = false,
|
||||
show_dependency_version = true,
|
||||
max_height = 30,
|
||||
min_width = 20,
|
||||
padding = 1,
|
||||
text = {
|
||||
title = " %s",
|
||||
pill_left = "",
|
||||
pill_right = "",
|
||||
description = "%s",
|
||||
created_label = " created ",
|
||||
created = "%s",
|
||||
updated_label = " updated ",
|
||||
updated = "%s",
|
||||
downloads_label = " downloads ",
|
||||
downloads = "%s",
|
||||
homepage_label = " homepage ",
|
||||
homepage = "%s",
|
||||
repository_label = " repository ",
|
||||
repository = "%s",
|
||||
documentation_label = " documentation ",
|
||||
documentation = "%s",
|
||||
crates_io_label = " crates.io ",
|
||||
crates_io = "%s",
|
||||
categories_label = " categories ",
|
||||
keywords_label = " keywords ",
|
||||
version = " %s",
|
||||
prerelease = " %s",
|
||||
yanked = " %s",
|
||||
version_date = " %s",
|
||||
feature = " %s",
|
||||
enabled = " %s",
|
||||
transitive = " %s",
|
||||
normal_dependencies_title = " Dependencies",
|
||||
build_dependencies_title = " Build dependencies",
|
||||
dev_dependencies_title = " Dev dependencies",
|
||||
dependency = " %s",
|
||||
optional = " %s",
|
||||
dependency_version = " %s",
|
||||
loading = " ",
|
||||
},
|
||||
highlight = {
|
||||
title = "CratesNvimPopupTitle",
|
||||
pill_text = "CratesNvimPopupPillText",
|
||||
pill_border = "CratesNvimPopupPillBorder",
|
||||
description = "CratesNvimPopupDescription",
|
||||
created_label = "CratesNvimPopupLabel",
|
||||
created = "CratesNvimPopupValue",
|
||||
updated_label = "CratesNvimPopupLabel",
|
||||
updated = "CratesNvimPopupValue",
|
||||
downloads_label = "CratesNvimPopupLabel",
|
||||
downloads = "CratesNvimPopupValue",
|
||||
homepage_label = "CratesNvimPopupLabel",
|
||||
homepage = "CratesNvimPopupUrl",
|
||||
repository_label = "CratesNvimPopupLabel",
|
||||
repository = "CratesNvimPopupUrl",
|
||||
documentation_label = "CratesNvimPopupLabel",
|
||||
documentation = "CratesNvimPopupUrl",
|
||||
crates_io_label = "CratesNvimPopupLabel",
|
||||
crates_io = "CratesNvimPopupUrl",
|
||||
categories_label = "CratesNvimPopupLabel",
|
||||
keywords_label = "CratesNvimPopupLabel",
|
||||
version = "CratesNvimPopupVersion",
|
||||
prerelease = "CratesNvimPopupPreRelease",
|
||||
yanked = "CratesNvimPopupYanked",
|
||||
version_date = "CratesNvimPopupVersionDate",
|
||||
feature = "CratesNvimPopupFeature",
|
||||
enabled = "CratesNvimPopupEnabled",
|
||||
transitive = "CratesNvimPopupTransitive",
|
||||
normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle",
|
||||
build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle",
|
||||
dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle",
|
||||
dependency = "CratesNvimPopupDependency",
|
||||
optional = "CratesNvimPopupOptional",
|
||||
dependency_version = "CratesNvimPopupDependencyVersion",
|
||||
loading = "CratesNvimPopupLoading",
|
||||
},
|
||||
keys = {
|
||||
hide = { "q", "<esc>" },
|
||||
open_url = { "<cr>" },
|
||||
select = { "<cr>" },
|
||||
select_alt = { "s" },
|
||||
toggle_feature = { "<cr>" },
|
||||
copy_value = { "yy" },
|
||||
goto_item = { "gd", "K", "<C-LeftMouse>" },
|
||||
jump_forward = { "<c-i>" },
|
||||
jump_back = { "<c-o>", "<C-RightMouse>" },
|
||||
},
|
||||
},
|
||||
src = {
|
||||
insert_closing_quote = true,
|
||||
text = {
|
||||
prerelease = " pre-release ",
|
||||
yanked = " yanked ",
|
||||
},
|
||||
},
|
||||
null_ls = {
|
||||
enabled = true,
|
||||
name = "crates.nvim",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,101 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
{ "nvim-telescope/telescope-media-files.nvim" },
|
||||
{ "xiyaowong/telescope-emoji.nvim" },
|
||||
{ "nvim-telescope/telescope-frecency.nvim" },
|
||||
{ "nvim-telescope/telescope-ui-select.nvim" },
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
{ "nat-418/telescope-color-names.nvim" },
|
||||
},
|
||||
config = function()
|
||||
local telescope = require("telescope")
|
||||
local actions = require("telescope.actions")
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case",
|
||||
"--hidden",
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
path_display = { "smart" },
|
||||
file_ignore_patterns = { ".git/", "node_modules", ".venv/" },
|
||||
mappings = {
|
||||
i = {
|
||||
["<Down>"] = actions.cycle_history_next,
|
||||
["<Up>"] = actions.cycle_history_prev,
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
},
|
||||
},
|
||||
},
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
follow = true,
|
||||
},
|
||||
},
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = true, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||
},
|
||||
media_files = {
|
||||
-- filetypes whitelist
|
||||
filetypes = { "png", "webp", "jpg", "jpeg", "mp4", "webm" },
|
||||
find_cmd = "rg",
|
||||
},
|
||||
emoji = {
|
||||
action = function(emoji)
|
||||
-- argument emoji is a table.
|
||||
-- {name="", value="", cagegory="", description=""}
|
||||
|
||||
vim.fn.setreg("*", emoji.value)
|
||||
print([[Press p or "*p to paste this emoji]] .. emoji.value)
|
||||
|
||||
-- insert emoji when picked
|
||||
-- vim.api.nvim_put({ emoji.value }, 'c', false, true)
|
||||
end,
|
||||
},
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown({
|
||||
-- even more opts
|
||||
}),
|
||||
|
||||
-- pseudo code / specification for writing custom displays, like the one
|
||||
-- for "codeactions"
|
||||
-- specific_opts = {
|
||||
-- [kind] = {
|
||||
-- make_indexed = function(items) -> indexed_items, width,
|
||||
-- make_displayer = function(widths) -> displayer
|
||||
-- make_display = function(displayer) -> function(e)
|
||||
-- make_ordinal = function(e) -> string
|
||||
-- },
|
||||
-- -- for example to disable the custom builtin "codeactions" display
|
||||
-- do the following
|
||||
-- codeactions = false,
|
||||
-- }
|
||||
},
|
||||
},
|
||||
})
|
||||
telescope.load_extension("fzf")
|
||||
telescope.load_extension("media_files")
|
||||
telescope.load_extension("emoji")
|
||||
telescope.load_extension("ui-select")
|
||||
telescope.load_extension("color_names")
|
||||
telescope.load_extension("noice")
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
signs = true, -- show icons in the signs column
|
||||
sign_priority = 8, -- sign priority
|
||||
-- keywords recognized as todo comments
|
||||
keywords = {
|
||||
FIX = {
|
||||
icon = " ", -- icon used for the sign, and in search results
|
||||
color = "error", -- can be a hex color, or a named color (see below)
|
||||
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
||||
-- signs = false, -- configure signs for some keywords individually
|
||||
},
|
||||
TODO = { icon = " ", color = "info" },
|
||||
HACK = { icon = " ", color = "warning" },
|
||||
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
||||
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
||||
NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
|
||||
TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
|
||||
},
|
||||
gui_style = {
|
||||
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)
|
||||
-- * keyword: highlights of the keyword
|
||||
-- * after: highlights after the keyword (todo text)
|
||||
highlight = {
|
||||
multiline = true, -- enable multine todo comments
|
||||
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
|
||||
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
|
||||
before = "", -- "fg" or "bg" or empty
|
||||
keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
|
||||
after = "fg", -- "fg" or "bg" or empty
|
||||
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
|
||||
comments_only = true, -- uses treesitter to match keywords in comments only
|
||||
max_line_len = 400, -- ignore lines longer than this
|
||||
exclude = {}, -- list of file types to exclude highlighting
|
||||
},
|
||||
-- list of named colors where we try to extract the guifg from the
|
||||
-- list of highlight groups or use the hex color if hl not found as a fallback
|
||||
colors = {
|
||||
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
|
||||
info = { "DiagnosticInfo", "#2563EB" },
|
||||
hint = { "DiagnosticHint", "#10B981" },
|
||||
default = { "Identifier", "#7C3AED" },
|
||||
test = { "Identifier", "#FF00FF" },
|
||||
},
|
||||
search = {
|
||||
command = "rg",
|
||||
args = {
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
},
|
||||
-- regex that will be used to match keywords.
|
||||
-- don't replace the (KEYWORDS) placeholder
|
||||
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
|
||||
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,72 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"akinsho/toggleterm.nvim",
|
||||
config = function()
|
||||
local toggleterm = require("toggleterm")
|
||||
toggleterm.setup({
|
||||
size = 20,
|
||||
open_mapping = [[<c-\>]],
|
||||
hide_numbers = true,
|
||||
shade_terminals = true,
|
||||
shading_factor = 2,
|
||||
start_in_insert = true,
|
||||
insert_mappings = true,
|
||||
persist_size = true,
|
||||
direction = "float",
|
||||
close_on_exit = true,
|
||||
shell = vim.o.shell,
|
||||
float_opts = {
|
||||
border = "curved",
|
||||
winblend = 0,
|
||||
highlights = {
|
||||
border = "Normal",
|
||||
background = "Normal",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
function _G.set_terminal_keymaps()
|
||||
local opts = { noremap = true }
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<esc>", [[<C-\><C-n>]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-h>", [[<C-\><C-n><C-W>h]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-j>", [[<C-\><C-n><C-W>j]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-k>", [[<C-\><C-n><C-W>k]], opts)
|
||||
vim.api.nvim_buf_set_keymap(0, "t", "<C-l>", [[<C-\><C-n><C-W>l]], opts)
|
||||
end
|
||||
|
||||
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
||||
|
||||
local Terminal = require("toggleterm.terminal").Terminal
|
||||
|
||||
local lazygit = Terminal:new({ cmd = "lazygit", hidden = true })
|
||||
function _LAZYGIT_TOGGLE()
|
||||
lazygit:toggle()
|
||||
end
|
||||
|
||||
local node = Terminal:new({ cmd = "node", hidden = true })
|
||||
function _NODE_TOGGLE()
|
||||
node:toggle()
|
||||
end
|
||||
|
||||
local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
|
||||
function _NCDU_TOGGLE()
|
||||
ncdu:toggle()
|
||||
end
|
||||
|
||||
local btop = Terminal:new({ cmd = "btop", hidden = true })
|
||||
function _BTOP_TOGGLE()
|
||||
btop:toggle()
|
||||
end
|
||||
|
||||
local python = Terminal:new({ cmd = "python", hidden = true })
|
||||
function _PYTHON_TOGGLE()
|
||||
python:toggle()
|
||||
end
|
||||
|
||||
local rust = Terminal:new({ cmd = "cargo run", hidden = true })
|
||||
function _CARGO_RUN()
|
||||
rust:toggle()
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,69 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
dependencies = {
|
||||
"nvim-treesitter/playground",
|
||||
"p00f/nvim-ts-rainbow",
|
||||
"mechatroner/rainbow_csv",
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
},
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
||||
ensure_installed = "all", -- one of "all" or a list of languages
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = true,
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||
auto_install = true,
|
||||
-- List of parsers to ignore installing (for "all")
|
||||
-- ignore_install = { "" },
|
||||
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = {},
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
autopairs = {
|
||||
enable = true,
|
||||
},
|
||||
autotag = {
|
||||
enable = true,
|
||||
filetypes = {
|
||||
"html",
|
||||
"htmldjango",
|
||||
"javascript",
|
||||
"typescript",
|
||||
"javascriptreact",
|
||||
"typescriptreact",
|
||||
"svelte",
|
||||
"vue",
|
||||
"tsx",
|
||||
"jsx",
|
||||
"rescript",
|
||||
"xml",
|
||||
"php",
|
||||
"markdown",
|
||||
"glimmer",
|
||||
"handlebars",
|
||||
"hbs",
|
||||
},
|
||||
},
|
||||
indent = { enable = true, disable = { "" } },
|
||||
rainbow = {
|
||||
enable = true,
|
||||
-- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for
|
||||
extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
|
||||
max_file_lines = nil, -- Do not enable for files with more than n lines, int
|
||||
-- colors = {}, -- table of hex strings
|
||||
-- termcolors = {}, -- table of colour name strings
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,31 +0,0 @@
|
||||
return {
|
||||
{ "vimwiki/vimwiki" },
|
||||
{
|
||||
"epwalsh/obsidian.nvim",
|
||||
lazy = true,
|
||||
event = { "BufReadPre " .. vim.fn.expand("~") .. "/vimwiki/**/*.md" },
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"hrsh7th/nvim-cmp",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"preservim/vim-markdown",
|
||||
},
|
||||
opts = {
|
||||
dir = "~/vimwiki/",
|
||||
},
|
||||
completion = {
|
||||
-- If using nvim-cmp, otherwise set to false
|
||||
nvim_cmp = true,
|
||||
-- Trigger completion at 2 chars
|
||||
min_chars = 2,
|
||||
-- Where to put new notes created from completion. Valid options are
|
||||
-- * "current_dir" - put new notes in same directory as the current buffer.
|
||||
-- * "notes_subdir" - put new notes in the default notes subdirectory.
|
||||
new_notes_location = "current_dir",
|
||||
|
||||
-- Whether to add the output of the node_id_func to new notes in autocompletion.
|
||||
-- E.g. "[[Foo" completes to "[[foo|Foo]]" assuming "foo" is the ID of the note.
|
||||
prepend_note_id = true,
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
local status_ok, alpha = pcall(require, "alpha")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
local function header()
|
||||
return {
|
||||
[[ ___ ]],
|
||||
[[ /\_ \ __ ]],
|
||||
[[ ____ ___\//\ \ ___ __ __ /\_\ ___ ___ ]],
|
||||
[[ /',__\ / __`\\ \ \ / __`\/\ \/\ \\/\ \ /' __` __`\ ]],
|
||||
[[/\__, `\/\ \L\ \\_\ \_/\ \L\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
|
||||
[[\/\____/\ \____//\____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
|
||||
[[ \/___/ \/___/ \/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
|
||||
}
|
||||
end
|
||||
|
||||
local function footer()
|
||||
return "kristofers.xyz"
|
||||
end
|
||||
|
||||
dashboard.section.header.val = header()
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button("f", " " .. " Find file", "<cmd>lua require('telescope.builtin').find_files()<cr>"),
|
||||
dashboard.button("e", " " .. " New file", "<cmd>ene <BAR> startinsert<cr>"),
|
||||
dashboard.button("\\", " " .. " Persistence", "<cmd>lua require('persistence').load()<cr>"),
|
||||
dashboard.button("r", " " .. " Recent files", "<cmd>Telescope oldfiles<cr>"),
|
||||
dashboard.button("t", " " .. " Find text", "<cmd>Telescope live_grep<cr>"),
|
||||
dashboard.button(
|
||||
"p",
|
||||
" " .. " Find project",
|
||||
"<cmd>lua require('telescope').extensions.projects.projects()<cr>"
|
||||
),
|
||||
dashboard.button("g", " " .. " Git", "<cmd>lua _LAZYGIT_TOGGLE()<cr>"),
|
||||
dashboard.button("c", " " .. " Config", "<cmd>e ~/.config/nvim/init.lua <cr>"),
|
||||
dashboard.button("q", " " .. " Quit", "<cmd>qa<cr>"),
|
||||
}
|
||||
dashboard.section.footer.val = footer()
|
||||
|
||||
dashboard.section.footer.opts.hl = "Type"
|
||||
dashboard.section.header.opts.hl = "Include"
|
||||
dashboard.section.buttons.opts.hl = "Keyword"
|
||||
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
alpha.setup(dashboard.opts)
|
||||
@ -1,6 +1,6 @@
|
||||
-- Use 'q' to quit from common plugins
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = { "qf", "help", "man", "lspinfo", "spectre_panel", "lir" },
|
||||
pattern = { "qf", "help", "man", "lspinfo", "spectre_panel", "lir", "git" },
|
||||
callback = function()
|
||||
vim.cmd([[ nnoremap <silent> <buffer> q :close<cr>
|
||||
set nobuflisted
|
||||
@ -84,6 +84,41 @@ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
end,
|
||||
})
|
||||
|
||||
-- vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
||||
-- vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
-- group = vim.api.nvim_create_augroup("Fugitive", {}),
|
||||
-- pattern = "*",
|
||||
-- callback = function()
|
||||
-- if vim.bo.ft ~= "fugitive" then
|
||||
-- return
|
||||
-- end
|
||||
--
|
||||
-- local bufnr = vim.api.nvim_get_current_buf()
|
||||
-- local opts = { buffer = bufnr, remap = false }
|
||||
-- vim.keymap.set("n", "<leader>p", function()
|
||||
-- vim.cmd.Git("push")
|
||||
-- end, opts)
|
||||
--
|
||||
-- -- rebase always
|
||||
-- vim.keymap.set("n", "<leader>P", function()
|
||||
-- vim.cmd.Git({ "pull", "--rebase" })
|
||||
-- end, opts)
|
||||
--
|
||||
-- -- NOTE: It allows me to easily set the branch I am pushing and any tracking
|
||||
-- -- needed if i did not set the branch up correctly
|
||||
-- vim.keymap.set("n", "<leader>t", ":Git push -u origin ", opts)
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Remove trailing whitespaces on save
|
||||
-- vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
-- group = vim.api.nvim_create_augroup("RemoveTrailingWhitespaces", { clear = true }),
|
||||
-- pattern = "*",
|
||||
-- callback = function()
|
||||
-- vim.cmd([[%s/\s\+$//e]])
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Run lazy on file save
|
||||
-- vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
-- group = vim.api.nvim_create_augroup("AutoPackerSync", { clear = true }),
|
||||
@ -94,10 +129,10 @@ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
-- })
|
||||
|
||||
-- Set vertical column for all files
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
group = vim.api.nvim_create_augroup("SetColorColumn", { clear = true }),
|
||||
pattern = { "*" },
|
||||
callback = function()
|
||||
vim.cmd.setlocal("colorcolumn=120")
|
||||
end,
|
||||
})
|
||||
-- vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
-- group = vim.api.nvim_create_augroup("SetColorColumn", { clear = true }),
|
||||
-- pattern = { "" },
|
||||
-- callback = function()
|
||||
-- vim.cmd.setlocal("colorcolumn=120")
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
require("solo.options")
|
||||
require("solo.keymaps")
|
||||
require("solo.plugin")
|
||||
require("solo.vimwiki")
|
||||
require("solo.plugins")
|
||||
require("solo.autocommands")
|
||||
require("solo.alpha")
|
||||
require("solo.autosave")
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
local bind = vim.keymap.set
|
||||
local opts = { silent = true }
|
||||
|
||||
--Remap space as leader key
|
||||
bind("", "<Space>", "<Nop>", opts)
|
||||
vim.g.mapleader = " "
|
||||
vim.keymap.set("", "<Space>", "<nop>")
|
||||
vim.keymap.set("n", "Q", "<nop>")
|
||||
vim.keymap.set("n", "q", "<nop>")
|
||||
|
||||
-- Modes
|
||||
-- normal_mode = "n",
|
||||
@ -13,81 +12,60 @@ vim.g.mapleader = " "
|
||||
-- term_mode = "t",
|
||||
-- command_mode = "c",
|
||||
|
||||
-- Normal --
|
||||
bind("n", "<C-d>", "<C-d>zz", opts)
|
||||
bind("n", "<C-u>", "<C-u>zz", opts)
|
||||
bind("n", "n", "nzzzv", opts)
|
||||
bind("n", "N", "Nzzzv", opts)
|
||||
vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
|
||||
|
||||
-- Better window navigation with tmux
|
||||
bind("n", "<C-h>", "<cmd>TmuxNavigateLeft<cr>", opts)
|
||||
bind("n", "<C-j>", "<cmd>TmuxNavigateDown<cr>", opts)
|
||||
bind("n", "<C-k>", "<cmd>TmuxNavigateUp<cr>", opts)
|
||||
bind("n", "<C-l>", "<cmd>TmuxNavigateRight<cr>", opts)
|
||||
vim.keymap.set("v", "<J>", ":m '>+1<cr>gv=gv")
|
||||
vim.keymap.set("v", "<K>", ":m '<-2<cr>gv=gv")
|
||||
|
||||
-- Resize with arrows
|
||||
bind("n", "<C-Up>", "<cmd>resize -2<cr>", opts)
|
||||
bind("n", "<C-Down>", "<cmd>resize +2<cr>", opts)
|
||||
bind("n", "<C-Left>", "<cmd>vertical resize -2<cr>", opts)
|
||||
bind("n", "<C-Right>", "<cmd>vertical resize +2<cr>", opts)
|
||||
vim.keymap.set("n", "J", "mzJ`z")
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
-- -- Navigate buffers
|
||||
-- bind("n", "<S-l>", "<cmd>bnext<cr>", opts)
|
||||
-- bind("n", "<S-h>", "<cmd>bprevious<cr>", opts)
|
||||
vim.keymap.set("n", "<C-h>", "<cmd>TmuxNavigateLeft<cr>")
|
||||
vim.keymap.set("n", "<C-j>", "<cmd>TmuxNavigateDown<cr>")
|
||||
vim.keymap.set("n", "<C-k>", "<cmd>TmuxNavigateUp<cr>")
|
||||
vim.keymap.set("n", "<C-l>", "<cmd>TmuxNavigateRight<cr>")
|
||||
|
||||
-- Better paste
|
||||
bind("v", "p", '"_dP', opts)
|
||||
vim.keymap.set("n", "<C-Up>", "<cmd>resize -2<cr>")
|
||||
vim.keymap.set("n", "<C-Down>", "<cmd>resize +2<cr>")
|
||||
vim.keymap.set("n", "<C-Left>", "<cmd>vertical resize -2<cr>")
|
||||
vim.keymap.set("n", "<C-Right>", "<cmd>vertical resize +2<cr>")
|
||||
|
||||
-- Move current line / block with Alt-j/k ala vscode
|
||||
bind("n", "<A-j>", "<cmd>m .+1<cr>==", opts)
|
||||
bind("n", "<A-k>", "<cmd>m .-2<cr>==", opts)
|
||||
vim.keymap.set("x", "<leader>p", '"_dP')
|
||||
|
||||
-- QuickFix
|
||||
bind("n", "]q", "<cmd>cnext<cr>", opts)
|
||||
bind("n", "[q", "<cmd>cprev<cr>", opts)
|
||||
vim.keymap.set("n", "<C-f>", "<cmd>!tmux neww tmux-sessionizer<cr>")
|
||||
|
||||
bind("n", "<S-s>", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", {})
|
||||
vim.keymap.set("n", "<A-j>", "<cmd>m .+1<cr>==")
|
||||
vim.keymap.set("n", "<A-k>", "<cmd>m .-2<cr>==")
|
||||
|
||||
bind("n", "<S-j>", "mzJ`z")
|
||||
vim.keymap.set("n", "<leader>j", "<cmd>lua vim.diagnostic.goto_next()<cr>zz")
|
||||
vim.keymap.set("n", "<leader>k", "<cmd>lua vim.diagnostic.goto_prev()<cr>zz")
|
||||
vim.keymap.set("n", "<leader>r", function()
|
||||
vim.lsp.buf.rename()
|
||||
end)
|
||||
|
||||
-- Insert --
|
||||
-- Press jk fast to enter
|
||||
bind("i", "jk", "<ESC>", opts)
|
||||
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
|
||||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<cr>", { silent = true })
|
||||
|
||||
-- Move current line / block with Alt-j/k ala vscode.
|
||||
bind("i", "<A-j>", "<Esc><cmd>m .+1<cr>==gi", opts)
|
||||
bind("i", "<A-k>", "<Esc><cmd>m .-2<cr>==gi", opts)
|
||||
-- navigation
|
||||
bind("i", "<A-Up>", "<C-\\><C-N><C-w>k", opts)
|
||||
bind("i", "<A-Down>", "<C-\\><C-N><C-w>j", opts)
|
||||
bind("i", "<A-Left>", "<C-\\><C-N><C-w>h", opts)
|
||||
bind("i", "<A-Right>", "<C-\\><C-N><C-w>l", opts)
|
||||
vim.keymap.set("i", "<A-Up>", "<C-\\><C-N><C-w>k")
|
||||
vim.keymap.set("i", "<A-Down>", "<C-\\><C-N><C-w>j")
|
||||
vim.keymap.set("i", "<A-Left>", "<C-\\><C-N><C-w>h")
|
||||
vim.keymap.set("i", "<A-Right>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
-- Visual --
|
||||
-- Stay in indent mode
|
||||
bind("v", "<", "<gv", opts)
|
||||
bind("v", ">", ">gv", opts)
|
||||
vim.keymap.set("v", ">", ">gv")
|
||||
vim.keymap.set("v", "<", "<gv")
|
||||
|
||||
-- bind("v", "<A-j>", "<cmd>m '>+1<cr>gv=gv")
|
||||
-- bind("v", "<A-k>", "<cmd>m '<-2<cr>gv=gv")
|
||||
vim.keymap.set("c", "<C-j>", 'pumvisible() ? "\\<C-n>" : "\\<C-j>"', { expr = true, noremap = true })
|
||||
vim.keymap.set("c", "<C-k>", 'pumvisible() ? "\\<C-p>" : "\\<C-k>"', { expr = true, noremap = true })
|
||||
|
||||
-- Visual Block --
|
||||
-- Move current line / block with Alt-j/k ala vscode.
|
||||
-- bind("x", "<A-j>", "<cmd>move '>+1<cr>gv-gv", opts)
|
||||
-- bind("x", "<A-k>", "<cmd>move '<-2<cr>gv-gv", opts)
|
||||
vim.keymap.set("t", "<C-h>", "<C-\\><C-N><C-w>h")
|
||||
vim.keymap.set("t", "<C-j>", "<C-\\><C-N><C-w>j")
|
||||
vim.keymap.set("t", "<C-k>", "<C-\\><C-N><C-w>k")
|
||||
vim.keymap.set("t", "<C-l>", "<C-\\><C-N><C-w>l")
|
||||
|
||||
-- Command --
|
||||
-- navigate tab completion with <c-j> and <c-k>
|
||||
-- runs conditionally
|
||||
bind("c", "<C-j>", 'pumvisible() ? "\\<C-n>" : "\\<C-j>"', { expr = true, noremap = true })
|
||||
bind("c", "<C-k>", 'pumvisible() ? "\\<C-p>" : "\\<C-k>"', { expr = true, noremap = true })
|
||||
vim.keymap.set("n", "<C-b>", "<cmd>w!<cr><cmd>!compiler '%:p'<cr>")
|
||||
vim.keymap.set("n", "<C-o>", "<cmd>w!<cr><cmd>!opout '%:p'<cr>")
|
||||
|
||||
-- Terminal --
|
||||
-- Terminal window navigation
|
||||
bind("t", "<C-h>", "<C-\\><C-N><C-w>h", opts)
|
||||
bind("t", "<C-j>", "<C-\\><C-N><C-w>j", opts)
|
||||
bind("t", "<C-k>", "<C-\\><C-N><C-w>k", opts)
|
||||
bind("t", "<C-l>", "<C-\\><C-N><C-w>l", opts)
|
||||
|
||||
bind("n", "<C-b>", "<cmd>w!<cr><cmd>!compiler '%:p'<cr>")
|
||||
bind("n", "<C-o>", "<cmd>w!<cr><cmd>!opout '%:p'<cr>")
|
||||
vim.keymap.set("n", "<leader>mr", "<cmd>CellularAutomation make_it_rain<cr>")
|
||||
|
||||
@ -48,32 +48,19 @@ vim.opt.fillchars.eob = " "
|
||||
vim.opt.shortmess:append("c")
|
||||
vim.opt.whichwrap:append("<,>,[,],h,l")
|
||||
vim.opt.iskeyword:append("-")
|
||||
vim.opt.isfname:append("@-@")
|
||||
|
||||
for k, v in pairs(options) do
|
||||
vim.opt[k] = v
|
||||
end
|
||||
vim.opt.spelloptions:append("camel")
|
||||
|
||||
local g = vim.g
|
||||
g.mapleader = " "
|
||||
g.maplocalleader = " "
|
||||
g.loaded_netrw = 1
|
||||
g.loaded_netrwPlugin = 1
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
vim.g.netrw_browse_split = 0
|
||||
vim.g.netrw_banner = 0
|
||||
vim.g.netrw_winsize = 25
|
||||
|
||||
vim.opt_local.suffixesadd:prepend(".lua")
|
||||
vim.opt_local.suffixesadd:prepend("init.lua")
|
||||
vim.opt_local.path:prepend(vim.fn.stdpath("config") .. "/lua")
|
||||
|
||||
vim.g.vimwiki_list = {
|
||||
{
|
||||
path = "~/vimwiki",
|
||||
syntax = "markdown",
|
||||
ext = ".md",
|
||||
},
|
||||
}
|
||||
vim.g.vimwiki_ext2syntax = {
|
||||
[".md"] = "markdown",
|
||||
[".markdown"] = "markdown",
|
||||
[".mdown"] = "markdown",
|
||||
}
|
||||
vim.g.vimwiki_global_ext = 1
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require("lazy").setup("plugins")
|
||||
197
lua/solo/plugins.lua
Normal file
197
lua/solo/plugins.lua
Normal file
@ -0,0 +1,197 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
{ "folke/lazy.nvim" },
|
||||
{ "nvim-lua/plenary.nvim" }, -- Useful lua functions used by lots of plugins
|
||||
{ "andweeb/presence.nvim" },
|
||||
{ "alvan/vim-closetag" },
|
||||
{ "mbbill/undotree" },
|
||||
{ "preservim/tagbar" },
|
||||
{ "jghauser/mkdir.nvim", lazy = true },
|
||||
{ "mtdl9/vim-log-highlighting", lazy = true },
|
||||
{ "christoomey/vim-tmux-navigator" },
|
||||
{ "ThePrimeagen/vim-be-good", lazy = true },
|
||||
{
|
||||
"chipsenkbeil/distant.nvim",
|
||||
branch = "v0.3",
|
||||
config = function()
|
||||
require("distant"):setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"danymat/neogen",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
config = true,
|
||||
version = "*",
|
||||
},
|
||||
{ "eandrju/cellular-automaton.nvim", lazy = true },
|
||||
{ "laytan/cloak.nvim" },
|
||||
{ "NvChad/nvim-colorizer.lua" },
|
||||
{ "uga-rosa/ccc.nvim" },
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tokyonight").setup({
|
||||
style = "night",
|
||||
transparent = true,
|
||||
styles = {
|
||||
keywords = { italic = false },
|
||||
sidebars = "transparent",
|
||||
floats = "transparent",
|
||||
},
|
||||
lualine_bold = true,
|
||||
})
|
||||
vim.cmd.colorscheme("tokyonight")
|
||||
end,
|
||||
},
|
||||
{ "bluz71/vim-nightfly-colors", name = "nightfly" },
|
||||
"numToStr/Comment.nvim",
|
||||
|
||||
{
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
branch = "v2.x",
|
||||
dependencies = {
|
||||
-- LSP Support
|
||||
{ "neovim/nvim-lspconfig" }, -- Required
|
||||
{ "williamboman/mason.nvim" }, -- Optional
|
||||
{ "williamboman/mason-lspconfig.nvim" }, -- Optional
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer", -- buffer completions
|
||||
"hrsh7th/cmp-path", -- path completionsplu
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
}, -- Required
|
||||
{ "hrsh7th/cmp-nvim-lsp" }, -- Required
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = "make install_jsregexp",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets", -- a bunch of snippets to use
|
||||
},
|
||||
}, -- Required
|
||||
{ "saadparwaiz1/cmp_luasnip" },
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"windwp/nvim-autopairs", -- Autopairs, integrates with both cmp and treesitter
|
||||
event = "InsertEnter",
|
||||
opts = {
|
||||
check_ts = true, -- treesitter integration
|
||||
disable_filetype = {
|
||||
"NvimTree",
|
||||
"TelescopePrompt",
|
||||
"alpha",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
},
|
||||
},
|
||||
|
||||
-- for formatters and linters
|
||||
{ "nanotee/sqls.nvim", lazy = true },
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = { "jayp0521/mason-nvim-dap.nvim" },
|
||||
},
|
||||
{
|
||||
"jayp0521/mason-nvim-dap.nvim",
|
||||
dependencies = {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
automatic_installation = true,
|
||||
automatic_setup = true,
|
||||
},
|
||||
},
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
},
|
||||
{ "ravenxrz/DAPInstall.nvim", lazy = true },
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
{ "nvim-telescope/telescope-media-files.nvim" },
|
||||
{ "xiyaowong/telescope-emoji.nvim" },
|
||||
{ "nvim-telescope/telescope-frecency.nvim" },
|
||||
{ "nvim-telescope/telescope-ui-select.nvim" },
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
{ "nat-418/telescope-color-names.nvim" },
|
||||
},
|
||||
},
|
||||
"ThePrimeagen/harpoon",
|
||||
{ "p00f/clangd_extensions.nvim", ft = { "cpp", "c" } },
|
||||
{ "Civitasv/cmake-tools.nvim", ft = { "cpp", "c" }, dependencies = { "nvim-lua/plenary.nvim" } },
|
||||
{ "nvim-lualine/lualine.nvim" },
|
||||
{
|
||||
"simrat39/rust-tools.nvim",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
ft = "rust",
|
||||
},
|
||||
{
|
||||
|
||||
"Saecki/crates.nvim",
|
||||
ft = { "rust", "toml" },
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
},
|
||||
{ "folke/todo-comments.nvim", opts = true },
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
dependencies = {
|
||||
"nvim-treesitter/playground",
|
||||
"p00f/nvim-ts-rainbow",
|
||||
"mechatroner/rainbow_csv",
|
||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
||||
},
|
||||
},
|
||||
{ "RRethy/vim-illuminate" },
|
||||
{ "vimwiki/vimwiki" },
|
||||
{ "kdheepak/lazygit.nvim" },
|
||||
{ "tpope/vim-fugitive" },
|
||||
{ "lewis6991/gitsigns.nvim" },
|
||||
{ "ThePrimeagen/git-worktree.nvim" },
|
||||
{ "lukas-reineke/indent-blankline.nvim" },
|
||||
{ "ahmedkhalf/project.nvim" },
|
||||
{ "kdheepak/lazygit.nvim" },
|
||||
{
|
||||
"epwalsh/obsidian.nvim",
|
||||
lazy = true,
|
||||
event = {
|
||||
"BufReadPre " .. vim.fn.expand("~") .. "/vimwiki/**/*.md",
|
||||
"BufReadPre " .. vim.fn.expand("~") .. "/obsidian/**/*.md",
|
||||
},
|
||||
},
|
||||
})
|
||||
13
lua/solo/vimwiki.lua
Normal file
13
lua/solo/vimwiki.lua
Normal file
@ -0,0 +1,13 @@
|
||||
vim.g.vimwiki_list = {
|
||||
{
|
||||
path = "~/vimwiki",
|
||||
syntax = "markdown",
|
||||
ext = ".md",
|
||||
},
|
||||
}
|
||||
vim.g.vimwiki_ext2syntax = {
|
||||
[".md"] = "markdown",
|
||||
[".markdown"] = "markdown",
|
||||
[".mdown"] = "markdown",
|
||||
}
|
||||
vim.g.vimwiki_global_ext = 1
|
||||
Loading…
Reference in New Issue
Block a user