functionally complete, whichkey not showing help window :(
This commit is contained in:
parent
a3a79d9e4d
commit
212a138f5d
@ -40,8 +40,8 @@ map("n", "<C-p>", '"+p', opts)
|
||||
map("n", "<C-s>", ":w<CR>", opts)
|
||||
|
||||
-- Switch between buffers
|
||||
map("n", "<S-l>", ":CybuNext<CR>", opts)
|
||||
map("n", "<S-h>", ":CybuPrev<CR>", opts)
|
||||
map("n", "<S-l>", ":bnext<CR>", opts)
|
||||
map("n", "<S-h>", ":bprevious<CR>", opts)
|
||||
|
||||
-- center after up and down movements
|
||||
map("n", "<C-u>", "<C-u>zz", opts)
|
||||
@ -64,5 +64,33 @@ map("v", ">", ">gv", opts)
|
||||
map("v", "<C-j>", ":m .+1<CR>==<ESC>V", opts)
|
||||
map("v", "<C-k>", ":m .-2<CR>==<ESC>V", opts)
|
||||
|
||||
-- Copy
|
||||
map("v", "<C-y>", '"+y', opts)
|
||||
local util = require("lazyvim.functions")
|
||||
|
||||
-- lazygit
|
||||
vim.keymap.set("n", "<leader>gg", function()
|
||||
require("lazyvim.util").float_term({ "lazygit" })
|
||||
end, { desc = "Lazygit (cwd)" })
|
||||
vim.keymap.set("n", "<leader>gG", function()
|
||||
util.float_term({ "lazygit" }, { cwd = util.get_root() })
|
||||
end, { desc = "Lazygit (root dir)" })
|
||||
|
||||
-- toggle options
|
||||
vim.keymap.set("n", "<leader>of", require("lazyvim.plugins.lsp.format").toggle, { desc = "Toggle format on Save" })
|
||||
vim.keymap.set("n", "<leader>os", function()
|
||||
util.toggle("spell")
|
||||
end, { desc = "Toggle Spelling" })
|
||||
vim.keymap.set("n", "<leader>ow", function()
|
||||
util.toggle("wrap")
|
||||
end, { desc = "Toggle Word Wrap" })
|
||||
vim.keymap.set("n", "<leader>on", function()
|
||||
util.toggle("relativenumber", true)
|
||||
util.toggle("number")
|
||||
end, { desc = "Toggle Line Numbers" })
|
||||
vim.keymap.set("n", "<leader>od", util.toggle_diagnostics, { desc = "Toggle Diagnostics" })
|
||||
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
|
||||
vim.keymap.set("n", "<leader>oc", function()
|
||||
util.toggle("conceallevel", false, { 0, conceallevel })
|
||||
end, { desc = "Toggle Conceal" })
|
||||
|
||||
vim.keymap.set("n", "<leader>ll", "<cmd>lopen<cr>", { desc = "Open Location List" })
|
||||
vim.keymap.set("n", "<leader>lq", "<cmd>copen<cr>", { desc = "Open Quickfix List" })
|
||||
|
||||
@ -33,7 +33,7 @@ require("lazy").setup({
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>l", "<cmd>:Lazy<cr>")
|
||||
vim.keymap.set("n", "<leader>L", "<cmd>:Lazy<cr>")
|
||||
|
||||
local colorscheme = "base16-gruvbox-dark-medium"
|
||||
|
||||
|
||||
@ -1,47 +1,48 @@
|
||||
return {
|
||||
{
|
||||
"goolord/alpha-nvim" ,
|
||||
config = function()
|
||||
local dashboard = require"alpha.themes.dashboard"
|
||||
{
|
||||
"goolord/alpha-nvim",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
local function button(sc, txt, key, key_opts)
|
||||
local b = dashboard.button(sc, txt, key, key_opts)
|
||||
b.opts.hl_shortcut = "Macro"
|
||||
return b
|
||||
end
|
||||
local function button(sc, txt, key, key_opts)
|
||||
local b = dashboard.button(sc, txt, key, key_opts)
|
||||
b.opts.hl_shortcut = "Macro"
|
||||
return b
|
||||
end
|
||||
|
||||
local icons = require"user.icons"
|
||||
local icons = require("lazyvim.config.icons")
|
||||
|
||||
dashboard.section.header.val = {
|
||||
[[ , __ ___ __. _ __ ` , _ , _ ]],
|
||||
[[ |' `. .' ` .' \ | / | |' `|' `.]],
|
||||
[[ | | |----' | | ` / | | | |]],
|
||||
[[ / | `.___, `._.' \/ / / ' /]],
|
||||
}
|
||||
dashboard.section.header.val = {
|
||||
[[ , __ ___ __. _ __ ` , _ , _ ]],
|
||||
[[ |' `. .' ` .' \ | / | |' `|' `.]],
|
||||
[[ | | |----' | | ` / | | | |]],
|
||||
[[ / | `.___, `._.' \/ / / ' /]],
|
||||
}
|
||||
|
||||
dashboard.section.buttons.val = {
|
||||
button("f", icons.documents.Files .. " Find file", ":Telescope find_files <CR>"),
|
||||
button("e", icons.ui.NewFile .. " New file", ":ene <BAR> startinsert <CR>"),
|
||||
button("r", icons.ui.History .. " Recent files", ":Telescope oldfiles <CR>"),
|
||||
button("t", icons.ui.List .. " Find text", ":Telescope live_grep <CR>"),
|
||||
button("c", icons.ui.Gear .. " Config", ":e ~/.config/nvim/init.lua <CR>"),
|
||||
button("u", icons.ui.CloudDownload .. " Update", ":PackerSync<CR>"),
|
||||
button("q", icons.ui.SignOut .. " Quit", ":qa<CR>"),
|
||||
}
|
||||
dashboard.section.buttons.val = {
|
||||
button("f", icons.documents.Files .. " Find file", ":Telescope find_files <CR>"),
|
||||
button("e", icons.ui.NewFile .. " New file", ":ene <BAR> startinsert <CR>"),
|
||||
button("r", icons.ui.History .. " Recent files", ":Telescope oldfiles <CR>"),
|
||||
button("t", icons.ui.List .. " Find text", ":Telescope live_grep <CR>"),
|
||||
button("c", icons.ui.Gear .. " Config", ":e ~/.config/nvim/init.lua <CR>"),
|
||||
button("u", icons.ui.CloudDownload .. " Update", ":Lazy<CR>"),
|
||||
button("q", icons.ui.SignOut .. " Quit", ":qa<CR>"),
|
||||
}
|
||||
|
||||
dashboard.section.footer.val = {
|
||||
[[┬┌┐┌┬┌─┬ ┌─┐┌┬┐┌┐ ┬ ┌─┐┌┬┐┌─┐┌─┐┌┬┐]],
|
||||
[[││││├┴┐│ ├┤ │ ├┴┐│ │ │ │ │ │ ││││]],
|
||||
[[┴┘└┘┴ ┴┴─┘└─┘ ┴ └─┘┴─┘└─┘ ┴o└─┘└─┘┴ ┴]],
|
||||
}
|
||||
dashboard.section.footer.val = {
|
||||
[[┬┌┐┌┬┌─┬ ┌─┐┌┬┐┌┐ ┬ ┌─┐┌┬┐┌─┐┌─┐┌┬┐]],
|
||||
[[││││├┴┐│ ├┤ │ ├┴┐│ │ │ │ │ │ ││││]],
|
||||
[[┴┘└┘┴ ┴┴─┘└─┘ ┴ └─┘┴─┘└─┘ ┴o└─┘└─┘┴ ┴]],
|
||||
}
|
||||
|
||||
dashboard.section.header.opts.hl = "Include"
|
||||
dashboard.section.buttons.opts.hl = "Macro"
|
||||
dashboard.section.footer.opts.hl = "Type"
|
||||
dashboard.section.header.opts.hl = "Include"
|
||||
dashboard.section.buttons.opts.hl = "Macro"
|
||||
dashboard.section.footer.opts.hl = "Type"
|
||||
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
|
||||
require"alpha".setup(dashboard.opts)
|
||||
end,
|
||||
}
|
||||
require("alpha").setup(dashboard.opts)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@ -26,6 +26,26 @@ return {
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
else
|
||||
-- fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
-- fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
|
||||
31
.config/nvim/lua/lazyvim/plugins/comments.lua
Normal file
31
.config/nvim/lua/lazyvim/plugins/comments.lua
Normal file
@ -0,0 +1,31 @@
|
||||
return {
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
cmd = { "TodoTrouble", "TodoTelescope" },
|
||||
event = "BufReadPost",
|
||||
config = true,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
||||
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
||||
{ "<leader>tt", "<cmd>TodoTrouble<cr>", desc = "Todo Trouble" },
|
||||
{ "<leader>tT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo Trouble" },
|
||||
{ "<leader>tf", "<cmd>TodoTelescope<cr>", desc = "Todo Telescope" },
|
||||
},
|
||||
},
|
||||
{ "JoosepAlviste/nvim-ts-context-commentstring" },
|
||||
{
|
||||
"echasnovski/mini.comment",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
hooks = {
|
||||
pre = function()
|
||||
require("ts_context_commentstring.internal").update_commentstring({})
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("mini.comment").setup(opts)
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
return {
|
||||
{
|
||||
"folke/lazy.nvim"
|
||||
"folke/lazy.nvim",
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,228 +0,0 @@
|
||||
local util = require("lazyvim.functions")
|
||||
|
||||
return {
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
cmd = "NvimTreeToggle",
|
||||
config = function()
|
||||
local nvim_tree = require("nvim-tree")
|
||||
local nvim_tree_config = require("nvim-tree.config")
|
||||
local icons = require("lazyvim.config.icons")
|
||||
|
||||
local tree_cb = nvim_tree_config.nvim_tree_callback
|
||||
|
||||
nvim_tree.setup({
|
||||
hijack_directories = {
|
||||
enable = false,
|
||||
},
|
||||
ignore_ft_on_setup = {
|
||||
"alpha",
|
||||
},
|
||||
filters = {
|
||||
custom = { ".git" },
|
||||
exclude = { ".gitignore" },
|
||||
},
|
||||
hijack_cursor = false,
|
||||
update_cwd = true,
|
||||
renderer = {
|
||||
add_trailing = false,
|
||||
group_empty = false,
|
||||
highlight_git = false,
|
||||
highlight_opened_files = "none",
|
||||
root_folder_modifier = ":t",
|
||||
indent_markers = {
|
||||
enable = false,
|
||||
icons = {
|
||||
corner = "└ ",
|
||||
edge = "│ ",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
git_placement = "before",
|
||||
padding = " ",
|
||||
symlink_arrow = " ➛ ",
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
glyphs = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
folder = {
|
||||
arrow_open = icons.ui.ArrowOpen,
|
||||
arrow_closed = icons.ui.ArrowClosed,
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = "",
|
||||
},
|
||||
git = {
|
||||
unstaged = "",
|
||||
staged = "S",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "U",
|
||||
deleted = "",
|
||||
ignored = "◌",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
icons = {
|
||||
hint = icons.diagnostics.Hint,
|
||||
info = icons.diagnostics.Information,
|
||||
warning = icons.diagnostics.Warning,
|
||||
error = icons.diagnostics.Error,
|
||||
},
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_cwd = true,
|
||||
ignore_list = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = true,
|
||||
timeout = 500,
|
||||
},
|
||||
view = {
|
||||
width = 30,
|
||||
hide_root_folder = false,
|
||||
side = "left",
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
list = {
|
||||
{ key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
|
||||
{ key = "h", cb = tree_cb("close_node") },
|
||||
{ key = "v", cb = tree_cb("vsplit") },
|
||||
},
|
||||
},
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
quit_on_open = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"windwp/nvim-spectre",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in files (Spectre)" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
cmd = "Telescope",
|
||||
keys = {
|
||||
{ "<leader>/", util.telescope("live_grep"), desc = "Find in Files (Grep)" },
|
||||
{ "<leader><space>", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
||||
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
|
||||
{ "<leader>ff", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
||||
{ "<leader>fF", util.telescope("find_files", { cwd = false }), desc = "Find Files (cwd)" },
|
||||
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Recent" },
|
||||
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", desc = "commits" },
|
||||
{ "<leader>gs", "<cmd>Telescope git_status<CR>", desc = "status" },
|
||||
{ "<leader>ha", "<cmd>Telescope autocommands<cr>", desc = "Auto Commands" },
|
||||
{ "<leader>hc", "<cmd>Telescope commands<cr>", desc = "Commands" },
|
||||
{ "<leader>hf", "<cmd>Telescope filetypes<cr>", desc = "File Types" },
|
||||
{ "<leader>hh", "<cmd>Telescope help_tags<cr>", desc = "Help Pages" },
|
||||
{ "<leader>hk", "<cmd>Telescope keymaps<cr>", desc = "Key Maps" },
|
||||
{ "<leader>hm", "<cmd>Telescope man_pages<cr>", desc = "Man Pages" },
|
||||
{ "<leader>ho", "<cmd>Telescope vim_options<cr>", desc = "Options" },
|
||||
{ "<leader>hs", "<cmd>Telescope highlights<cr>", desc = "Search Highlight Groups" },
|
||||
{ "<leader>ht", "<cmd>Telescope builtin<cr>", desc = "Telescope" },
|
||||
{ "<leader>sb", "<cmd>Telescope current_buffer_fuzzy_find<cr>", desc = "Buffer" },
|
||||
{ "<leader>sc", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
||||
{ "<leader>sg", util.telescope("live_grep"), desc = "Grep (root dir)" },
|
||||
{ "<leader>sG", util.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" },
|
||||
{ "<leader>sm", "<cmd>Telescope marks<cr>", desc = "Jump to Mark" },
|
||||
{ "<leader>,", "<cmd>Telescope buffers show_all_buffers=true<cr>", desc = "Switch Buffer" },
|
||||
{ "<leader>:", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
||||
{
|
||||
"<leader>ss",
|
||||
util.telescope("lsp_document_symbols", {
|
||||
symbols = {
|
||||
"Class",
|
||||
"Function",
|
||||
"Method",
|
||||
"Constructor",
|
||||
"Interface",
|
||||
"Module",
|
||||
"Struct",
|
||||
"Trait",
|
||||
"Field",
|
||||
"Property",
|
||||
},
|
||||
}),
|
||||
desc = "Goto Symbol",
|
||||
},
|
||||
},
|
||||
config = {
|
||||
defaults = {
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
mappings = {
|
||||
i = {
|
||||
["<c-t>"] = function(...)
|
||||
return require("trouble.providers.telescope").open_with_trouble(...)
|
||||
end,
|
||||
["<C-i>"] = function()
|
||||
util.telescope("find_files", { no_ignore = true })()
|
||||
end,
|
||||
["<C-h>"] = function()
|
||||
util.telescope("find_files", { hidden = true })()
|
||||
end,
|
||||
["<C-Down>"] = function(...)
|
||||
return require("telescope.actions").cycle_history_next(...)
|
||||
end,
|
||||
["<C-Up>"] = function(...)
|
||||
return require("telescope.actions").cycle_history_prev(...)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
cmd = { "TroubleToggle", "Trouble" },
|
||||
config = { use_diagnostic_signs = true },
|
||||
keys = {
|
||||
{ "<leader>xx", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "Document Diagnostics (Trouble)" },
|
||||
{ "<leader>xX", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "Workspace Diagnostics (Trouble)" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
cmd = { "TodoTrouble", "TodoTelescope" },
|
||||
event = "BufReadPost",
|
||||
config = true,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
||||
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
||||
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo Trouble" },
|
||||
{ "<leader>xtt", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo Trouble" },
|
||||
{ "<leader>xT", "<cmd>TodoTelescope<cr>", desc = "Todo Telescope" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"numToStr/Comment.nvim",
|
||||
config = function()
|
||||
require("Comment").setup({})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@ -1,22 +1,22 @@
|
||||
return {
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
event = "BufReadPre",
|
||||
config = {
|
||||
signs = {
|
||||
add = { text = "▎" },
|
||||
change = { text = "▎" },
|
||||
delete = { text = "契" },
|
||||
topdelete = { text = "契" },
|
||||
changedelete = { text = "▎" },
|
||||
untracked = { text = "▎" },
|
||||
},
|
||||
on_attach = function(buffer)
|
||||
local gs = package.loaded.gitsigns
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
event = "BufReadPre",
|
||||
config = {
|
||||
signs = {
|
||||
add = { text = "▎" },
|
||||
change = { text = "▎" },
|
||||
delete = { text = "契" },
|
||||
topdelete = { text = "契" },
|
||||
changedelete = { text = "▎" },
|
||||
untracked = { text = "▎" },
|
||||
},
|
||||
on_attach = function(buffer)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
local function map(mode, l, r, desc)
|
||||
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
||||
end
|
||||
local function map(mode, l, r, desc)
|
||||
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
||||
end
|
||||
|
||||
-- stylua: ignore start
|
||||
map("n", "]h", gs.prev_hunk, "Next Hunk")
|
||||
@ -31,13 +31,11 @@ return {
|
||||
map("n", "<leader>ghd", gs.diffthis, "Diff This")
|
||||
map("n", "<leader>ghD", function() gs.diffthis("~") end, "Diff This ~")
|
||||
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "GitSigns Select Hunk")
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
"f-person/git-blame.nvim",
|
||||
},
|
||||
{
|
||||
"tpope/vim-fugitive",
|
||||
},
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
"f-person/git-blame.nvim",
|
||||
event = "BufEnter",
|
||||
},
|
||||
}
|
||||
|
||||
16
.config/nvim/lua/lazyvim/plugins/harpoon.lua
Normal file
16
.config/nvim/lua/lazyvim/plugins/harpoon.lua
Normal file
@ -0,0 +1,16 @@
|
||||
return {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
keys = {
|
||||
{ "]m", '<cmd>lua require("harpoon.ui").nav_next()<cr>', desc = "Harpoon Next" },
|
||||
{ "[m", '<cmd>lua require("harpoon.ui").nav_prev()<cr>', desc = "Harpoon Prev" },
|
||||
{ "mm", '<cmd>lua require("harpoon.mark").add_file()<cr>', desc = "Harpoon" },
|
||||
{ "ms", "<cmd>Telescope harpoon marks<cr>", desc = "Search Files" },
|
||||
{ "mu", '<cmd>lua require("harpoon.ui").toggle_quick_menu()<cr>', desc = "Harpoon UI" },
|
||||
{ "m1", '<cmd> lua require("harpoon.ui").nav_file(1)<cr>', desc = "Goto 1" },
|
||||
{ "m2", '<cmd> lua require("harpoon.ui").nav_file(2)<cr>', desc = "Goto 2" },
|
||||
{ "m3", '<cmd> lua require("harpoon.ui").nav_file(3)<cr>', desc = "Goto 3" },
|
||||
{ "m4", '<cmd> lua require("harpoon.ui").nav_file(4)<cr>', desc = "Goto 4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -33,7 +33,6 @@ return {
|
||||
setup_server = function(server, opts)
|
||||
return false
|
||||
end,
|
||||
|
||||
config = function(plugin)
|
||||
-- setup formatting and keymaps
|
||||
require("lazyvim.functions").on_attach(function(client, buffer)
|
||||
@ -63,7 +62,7 @@ return {
|
||||
function(server)
|
||||
local opts = servers[server] or {}
|
||||
opts.capabilities = capabilities
|
||||
if not plugin.setup_server(opts) then
|
||||
if not plugin.setup_server(server, opts) then
|
||||
require("lspconfig")[server].setup(opts)
|
||||
end
|
||||
end,
|
||||
@ -79,10 +78,25 @@ return {
|
||||
config = function()
|
||||
local nls = require("null-ls")
|
||||
nls.setup({
|
||||
debug = false,
|
||||
sources = {
|
||||
-- nls.builtins.formatting.prettierd,
|
||||
nls.builtins.formatting.stylua,
|
||||
nls.builtins.diagnostics.flake8,
|
||||
nls.builtins.formatting.prettier.with({
|
||||
filetypes = {
|
||||
"javascript",
|
||||
"typescript",
|
||||
"css",
|
||||
"scss",
|
||||
"html",
|
||||
"json",
|
||||
"yaml",
|
||||
},
|
||||
}),
|
||||
nls.builtins.formatting.black.with({ extra_args = { "--fast" } }),
|
||||
nls.builtins.formatting.bibclean,
|
||||
nls.builtins.formatting.beautysh,
|
||||
nls.builtins.diagnostics.shellcheck,
|
||||
},
|
||||
})
|
||||
end,
|
||||
@ -90,10 +104,9 @@ return {
|
||||
|
||||
-- cmdline tools and lsp servers
|
||||
{
|
||||
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
keys = { { "<leader>lM", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
|
||||
@ -3,9 +3,9 @@ local M = {}
|
||||
function M.on_attach(client, buffer)
|
||||
local self = M.new(client, buffer)
|
||||
|
||||
self:map("<leader>cd", vim.diagnostic.open_float, { desc = "Line Diagnostics" })
|
||||
self:map("<leader>cl", "LspInfo", { desc = "Lsp Info" })
|
||||
self:map("<leader>xd", "Telescope diagnostics", { desc = "Telescope Diagnostics" })
|
||||
self:map("<leader>ld", vim.diagnostic.open_float, { desc = "Line Diagnostics" })
|
||||
self:map("<leader>lI", "LspInfo", { desc = "Lsp Info" })
|
||||
self:map("<leader>ls", "Telescope diagnostics", { desc = "Telescope Diagnostics" })
|
||||
self:map("gd", "Telescope lsp_definitions", { desc = "Goto Definition" })
|
||||
self:map("gr", "Telescope lsp_references", { desc = "References" })
|
||||
self:map("gD", "Telescope lsp_declarations", { desc = "Goto Declaration" })
|
||||
@ -19,16 +19,16 @@ function M.on_attach(client, buffer)
|
||||
self:map("[e", M.diagnostic_goto(false, "ERROR"), { desc = "Prev Error" })
|
||||
self:map("]w", M.diagnostic_goto(true, "WARNING"), { desc = "Next Warning" })
|
||||
self:map("[w", M.diagnostic_goto(false, "WARNING"), { desc = "Prev Warning" })
|
||||
self:map("<leader>ca", vim.lsp.buf.code_action, { desc = "Code Action", mode = { "n", "v" }, has = "codeAction" })
|
||||
self:map("<leader>la", vim.lsp.buf.code_action, { desc = "Code Action", mode = { "n", "v" }, has = "codeAction" })
|
||||
|
||||
local format = require("lazyvim.plugins.lsp.format").format
|
||||
self:map("<leader>cf", format, { desc = "Format Document", has = "documentFormatting" })
|
||||
self:map("<leader>cf", format, { desc = "Format Range", mode = "v", has = "documentRangeFormatting" })
|
||||
self:map("<leader>cr", M.rename, { expr = true, desc = "Rename", has = "rename" })
|
||||
self:map("<leader>lf", format, { desc = "Format Document", has = "documentFormatting" })
|
||||
self:map("<leader>lF", format, { desc = "Format Range", mode = "v", has = "documentRangeFormatting" })
|
||||
self:map("<leader>lr", M.rename, { expr = true, desc = "Rename", has = "rename" })
|
||||
|
||||
if client.name == "tsserver" and pcall(require, "typescript") then
|
||||
self:map("<leader>co", "TypescriptOrganizeImports", { desc = "Organize Imports" })
|
||||
self:map("<leader>cR", "TypescriptRenameFile", { desc = "Rename File" })
|
||||
self:map("<leader>lo", "TypescriptOrganizeImports", { desc = "Organize Imports" })
|
||||
self:map("<leader>lR", "TypescriptRenameFile", { desc = "Rename File" })
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -1,28 +1,28 @@
|
||||
return {
|
||||
{
|
||||
-- "folke/noice.nvim",
|
||||
-- event = "VeryLazy",
|
||||
-- config = {
|
||||
-- lsp = {
|
||||
-- override = {
|
||||
-- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
-- ["vim.lsp.util.stylize_markdown"] = true,
|
||||
-- },
|
||||
-- },
|
||||
-- presets = {
|
||||
-- bottom_search = true,
|
||||
-- command_palette = true,
|
||||
-- long_message_to_split = true,
|
||||
-- },
|
||||
-- },
|
||||
-- -- stylua: ignore
|
||||
-- keys = {
|
||||
-- { "<S-Enter>", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" },
|
||||
-- { "<leader>nl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
|
||||
-- { "<leader>nh", function() require("noice").cmd("history") end, desc = "Noice History" },
|
||||
-- { "<leader>na", function() require("noice").cmd("all") end, desc = "Noice All" },
|
||||
-- { "<c-f>", function() if not require("noice.lsp").scroll(4) then return "<c-f>" end end, silent = true, expr = true },
|
||||
-- { "<c-b>", function() if not require("noice.lsp").scroll(-4) then return "<c-b>" end end, silent = true, expr = true },
|
||||
-- },
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
config = {
|
||||
lsp = {
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
},
|
||||
},
|
||||
presets = {
|
||||
bottom_search = true,
|
||||
command_palette = true,
|
||||
long_message_to_split = true,
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<S-Enter>", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" },
|
||||
{ "<leader>Nl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
|
||||
{ "<leader>Nh", function() require("noice").cmd("history") end, desc = "Noice History" },
|
||||
{ "<leader>Na", function() require("noice").cmd("all") end, desc = "Noice All" },
|
||||
{ "<c-f>", function() if not require("noice.lsp").scroll(4) then return "<c-f>" end end, silent = true, expr = true },
|
||||
{ "<c-b>", function() if not require("noice.lsp").scroll(-4) then return "<c-b>" end end, silent = true, expr = true },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
117
.config/nvim/lua/lazyvim/plugins/nvim-tree.lua
Normal file
117
.config/nvim/lua/lazyvim/plugins/nvim-tree.lua
Normal file
@ -0,0 +1,117 @@
|
||||
return {
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
cmd = "NvimTreeToggle",
|
||||
config = function()
|
||||
local nvim_tree = require("nvim-tree")
|
||||
local nvim_tree_config = require("nvim-tree.config")
|
||||
local icons = require("lazyvim.config.icons")
|
||||
|
||||
local tree_cb = nvim_tree_config.nvim_tree_callback
|
||||
|
||||
nvim_tree.setup({
|
||||
hijack_directories = {
|
||||
enable = false,
|
||||
},
|
||||
ignore_ft_on_setup = {
|
||||
"alpha",
|
||||
},
|
||||
filters = {
|
||||
custom = { ".git" },
|
||||
exclude = { ".gitignore" },
|
||||
},
|
||||
hijack_cursor = false,
|
||||
update_cwd = true,
|
||||
renderer = {
|
||||
add_trailing = false,
|
||||
group_empty = false,
|
||||
highlight_git = false,
|
||||
highlight_opened_files = "none",
|
||||
root_folder_modifier = ":t",
|
||||
indent_markers = {
|
||||
enable = false,
|
||||
icons = {
|
||||
corner = "└ ",
|
||||
edge = "│ ",
|
||||
none = " ",
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
webdev_colors = true,
|
||||
git_placement = "before",
|
||||
padding = " ",
|
||||
symlink_arrow = " ➛ ",
|
||||
show = {
|
||||
file = true,
|
||||
folder = true,
|
||||
folder_arrow = true,
|
||||
git = true,
|
||||
},
|
||||
glyphs = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
folder = {
|
||||
arrow_open = icons.ui.ArrowOpen,
|
||||
arrow_closed = icons.ui.ArrowClosed,
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = "",
|
||||
},
|
||||
git = {
|
||||
unstaged = "",
|
||||
staged = "S",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "U",
|
||||
deleted = "",
|
||||
ignored = "◌",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
icons = {
|
||||
hint = icons.diagnostics.Hint,
|
||||
info = icons.diagnostics.Information,
|
||||
warning = icons.diagnostics.Warning,
|
||||
error = icons.diagnostics.Error,
|
||||
},
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_cwd = true,
|
||||
ignore_list = {},
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = true,
|
||||
timeout = 500,
|
||||
},
|
||||
view = {
|
||||
width = 30,
|
||||
hide_root_folder = false,
|
||||
side = "left",
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
list = {
|
||||
{ key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
|
||||
{ key = "h", cb = tree_cb("close_node") },
|
||||
{ key = "v", cb = tree_cb("vsplit") },
|
||||
},
|
||||
},
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
quit_on_open = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
11
.config/nvim/lua/lazyvim/plugins/spectre.lua
Normal file
11
.config/nvim/lua/lazyvim/plugins/spectre.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
{
|
||||
"windwp/nvim-spectre",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>rr", function() require("spectre").open() end, desc = "Replace in files" },
|
||||
{ "<leader>rw", function() require("spectre").open_visual({ select_word = true }) end, desc = "Relpace Word" },
|
||||
{ "<leader>rb", function() require("spectre").open_file_search() end, desc = "Relpace in Buffer" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,24 +1,24 @@
|
||||
return {
|
||||
{
|
||||
"echasnovski/mini.starter",
|
||||
enabled = false,
|
||||
version = false, -- wait till new 0.7.0 release to put it back on semver
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
local logo = table.concat({
|
||||
"██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z",
|
||||
"██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z",
|
||||
"██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z",
|
||||
"██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z",
|
||||
"███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║",
|
||||
"╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝",
|
||||
}, "\n")
|
||||
local pad = string.rep(" ", 22)
|
||||
local new_section = function(name, action, section)
|
||||
return { name = name, action = action, section = pad .. section }
|
||||
end
|
||||
{
|
||||
"echasnovski/mini.starter",
|
||||
enabled = false,
|
||||
version = false, -- wait till new 0.7.0 release to put it back on semver
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
local logo = table.concat({
|
||||
"██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z",
|
||||
"██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z",
|
||||
"██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z",
|
||||
"██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z",
|
||||
"███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║",
|
||||
"╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝",
|
||||
}, "\n")
|
||||
local pad = string.rep(" ", 22)
|
||||
local new_section = function(name, action, section)
|
||||
return { name = name, action = action, section = pad .. section }
|
||||
end
|
||||
|
||||
local starter = require("mini.starter")
|
||||
local starter = require("mini.starter")
|
||||
--stylua: ignore
|
||||
local config = {
|
||||
evaluate_single = true,
|
||||
@ -38,29 +38,34 @@ return {
|
||||
},
|
||||
}
|
||||
|
||||
-- close Lazy and re-open when starter is ready
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "MiniStarterOpened",
|
||||
callback = function()
|
||||
require("lazy").show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
-- close Lazy and re-open when starter is ready
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "MiniStarterOpened",
|
||||
callback = function()
|
||||
require("lazy").show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
starter.setup(config)
|
||||
starter.setup(config)
|
||||
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "LazyVimStarted",
|
||||
callback = function()
|
||||
local stats = require("lazy").stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
local pad_footer = string.rep(" ", 8)
|
||||
MiniStarter.config.footer = pad_footer .. "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms"
|
||||
pcall(MiniStarter.refresh)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "LazyVimStarted",
|
||||
callback = function()
|
||||
local stats = require("lazy").stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
local pad_footer = string.rep(" ", 8)
|
||||
MiniStarter.config.footer = pad_footer
|
||||
.. "⚡ Neovim loaded "
|
||||
.. stats.count
|
||||
.. " plugins in "
|
||||
.. ms
|
||||
.. "ms"
|
||||
pcall(MiniStarter.refresh)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
80
.config/nvim/lua/lazyvim/plugins/telescope.lua
Normal file
80
.config/nvim/lua/lazyvim/plugins/telescope.lua
Normal file
@ -0,0 +1,80 @@
|
||||
local util = require("lazyvim.functions")
|
||||
|
||||
return {
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
cmd = "Telescope",
|
||||
keys = {
|
||||
{ "<leader>/", util.telescope("live_grep"), desc = "Find in Files (Grep)" },
|
||||
{ "<leader><space>", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
||||
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
|
||||
{ "<leader>ff", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
||||
{ "<leader>fF", util.telescope("find_files", { cwd = false }), desc = "Find Files (cwd)" },
|
||||
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Recent" },
|
||||
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", desc = "commits" },
|
||||
{ "<leader>gs", "<cmd>Telescope git_status<CR>", desc = "status" },
|
||||
{ "<leader>gb", "<cmd>Telescope git_branches<CR>", desc = "branches" },
|
||||
{ "<leader>ha", "<cmd>Telescope autocommands<cr>", desc = "Auto Commands" },
|
||||
{ "<leader>hc", "<cmd>Telescope commands<cr>", desc = "Commands" },
|
||||
{ "<leader>hf", "<cmd>Telescope filetypes<cr>", desc = "File Types" },
|
||||
{ "<leader>hh", "<cmd>Telescope help_tags<cr>", desc = "Help Pages" },
|
||||
{ "<leader>hk", "<cmd>Telescope keymaps<cr>", desc = "Key Maps" },
|
||||
{ "<leader>hm", "<cmd>Telescope man_pages<cr>", desc = "Man Pages" },
|
||||
{ "<leader>ho", "<cmd>Telescope vim_options<cr>", desc = "Options" },
|
||||
{ "<leader>hs", "<cmd>Telescope highlights<cr>", desc = "Search Highlight Groups" },
|
||||
{ "<leader>ht", "<cmd>Telescope builtin<cr>", desc = "Telescope" },
|
||||
{ "<leader>sb", "<cmd>Telescope current_buffer_fuzzy_find<cr>", desc = "Buffer" },
|
||||
{ "<leader>sc", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
||||
{ "<leader>sg", util.telescope("live_grep"), desc = "Grep (root dir)" },
|
||||
{ "<leader>sG", util.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" },
|
||||
{ "<leader>sm", "<cmd>Telescope marks<cr>", desc = "Jump to Mark" },
|
||||
{ "<leader>so", "<cmd>Telescope resume<cr>", desc = "Resume last search" },
|
||||
{ "<leader>sC", "<cmd>Telescope colorscheme<cr>", desc = "Colorscheme" },
|
||||
{
|
||||
"<leader>ss",
|
||||
util.telescope("lsp_document_symbols", {
|
||||
symbols = {
|
||||
"Class",
|
||||
"Function",
|
||||
"Method",
|
||||
"Constructor",
|
||||
"Interface",
|
||||
"Module",
|
||||
"Struct",
|
||||
"Trait",
|
||||
"Field",
|
||||
"Property",
|
||||
},
|
||||
}),
|
||||
desc = "Goto Symbol",
|
||||
},
|
||||
{ "<leader>,", "<cmd>Telescope buffers show_all_buffers=true<cr>", desc = "Switch Buffer" },
|
||||
{ "<leader>:", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
||||
},
|
||||
config = {
|
||||
defaults = {
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
mappings = {
|
||||
i = {
|
||||
["<c-t>"] = function(...)
|
||||
return require("trouble.providers.telescope").open_with_trouble(...)
|
||||
end,
|
||||
["<C-i>"] = function()
|
||||
util.telescope("find_files", { no_ignore = true })()
|
||||
end,
|
||||
["<C-h>"] = function()
|
||||
util.telescope("find_files", { hidden = true })()
|
||||
end,
|
||||
["<C-Down>"] = function(...)
|
||||
return require("telescope.actions").cycle_history_next(...)
|
||||
end,
|
||||
["<C-Up>"] = function(...)
|
||||
return require("telescope.actions").cycle_history_prev(...)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,19 +1,19 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
event = "BufReadPost",
|
||||
ensure_installed = "all",
|
||||
config = function(plugin)
|
||||
require("nvim-treesitter.configs").setup({
|
||||
sync_install = false,
|
||||
ensure_installed = plugin.ensure_installed,
|
||||
matchup = { enable = true },
|
||||
highlight = { enable = true },
|
||||
autopairs = { enable = true },
|
||||
indent = { enable = true },
|
||||
context_commentstring = { enable = true, enable_autocmd = false },
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
event = "BufReadPost",
|
||||
ensure_installed = "all",
|
||||
config = function(plugin)
|
||||
require("nvim-treesitter.configs").setup({
|
||||
sync_install = false,
|
||||
ensure_installed = plugin.ensure_installed,
|
||||
matchup = { enable = true },
|
||||
highlight = { enable = true },
|
||||
autopairs = { enable = true },
|
||||
indent = { enable = true },
|
||||
context_commentstring = { enable = true, enable_autocmd = false },
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
11
.config/nvim/lua/lazyvim/plugins/trouble.lua
Normal file
11
.config/nvim/lua/lazyvim/plugins/trouble.lua
Normal file
@ -0,0 +1,11 @@
|
||||
return {
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
cmd = { "TroubleToggle", "Trouble" },
|
||||
config = { use_diagnostic_signs = true },
|
||||
keys = {
|
||||
{ "<leader>lt", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "Document Diagnostics (Trouble)" },
|
||||
{ "<leader>lT", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "Workspace Diagnostics (Trouble)" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -8,11 +8,11 @@ return {
|
||||
config = function()
|
||||
require("illuminate").configure({ delay = 200 })
|
||||
end,
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "]]", function() require("illuminate").goto_next_reference(false) end, desc = "Next Reference", },
|
||||
{ "[[", function() require("illuminate").goto_prev_reference(false) end, desc = "Prev Reference" },
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "]]", function() require("illuminate").goto_next_reference(false) end, desc = "Next Reference", },
|
||||
{ "[[", function() require("illuminate").goto_prev_reference(false) end, desc = "Prev Reference" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-lua/popup.nvim",
|
||||
@ -53,7 +53,12 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
"moll/vim-bbye",
|
||||
"echasnovski/mini.bufremove",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>bd", function() require("mini.bufremove").delete(0, false) end, desc = "Delete Buffer" },
|
||||
{ "<leader>bD", function() require("mini.bufremove").delete(0, true) end, desc = "Delete Buffer (Force)" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"lewis6991/impatient.nvim",
|
||||
@ -63,7 +68,10 @@ return {
|
||||
},
|
||||
{
|
||||
"ghillb/cybu.nvim",
|
||||
cmd = { "CybuNext", "CybuPrev" },
|
||||
keys = {
|
||||
{ "<leader>bl", "<cmd>CybuNext<cr>", desc = "Next Buffer" },
|
||||
{ "<leader>bh", "<cmd>CybuPrev<cr>", desc = "Prev Buffer" },
|
||||
},
|
||||
config = function()
|
||||
require("cybu").setup({
|
||||
position = {
|
||||
@ -93,6 +101,7 @@ return {
|
||||
},
|
||||
{
|
||||
"mbbill/undotree",
|
||||
cmd = { "UndotreeToggle" },
|
||||
},
|
||||
{
|
||||
"MunifTanjim/nui.nvim",
|
||||
@ -128,19 +137,19 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
"windwp/nvim-autopairs",
|
||||
config = function()
|
||||
require("nvim-autopairs").setup({
|
||||
disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
||||
ignore_next_char = "[%w%.*]", -- don't place pair when cursor sits in front of any char
|
||||
})
|
||||
"echasnovski/mini.pairs",
|
||||
event = "VeryLazy",
|
||||
config = function(_, opts)
|
||||
require("mini.pairs").setup(opts)
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"preservim/vim-markdown",
|
||||
},
|
||||
{
|
||||
"nacro90/numb.nvim",
|
||||
event = "BufEnter",
|
||||
config = function()
|
||||
require("numb").setup({
|
||||
show_numbers = true, -- enable 'number' for the window while peeking
|
||||
@ -148,14 +157,12 @@ return {
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"andymass/vim-matchup",
|
||||
},
|
||||
{
|
||||
"junegunn/vim-slash",
|
||||
},
|
||||
{
|
||||
"folke/zen-mode.nvim",
|
||||
cmd = { "ZenMode" },
|
||||
config = function()
|
||||
require("zen-mode").setup({
|
||||
window = {
|
||||
@ -178,27 +185,36 @@ return {
|
||||
on_open = function()
|
||||
vim.g.cmp_active = false
|
||||
vim.cmd([[LspStop]])
|
||||
local status_ok, _ = pcall(vim.api.nvim_set_option_value, "winbar", nil, { scope = "local" })
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
if vim.fn.exists("#" .. "_winbar") == 1 then
|
||||
vim.cmd("au! " .. "_winbar")
|
||||
end
|
||||
end,
|
||||
on_close = function()
|
||||
vim.g.cmp_active = true
|
||||
vim.cmd([[LspStart]])
|
||||
require("winbar").create_winbar()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"tpope/vim-surround",
|
||||
"echasnovski/mini.surround",
|
||||
keys = { "gz" },
|
||||
opts = {
|
||||
mappings = {
|
||||
add = "gza", -- Add surrounding in Normal and Visual modes
|
||||
delete = "gzd", -- Delete surrounding
|
||||
find = "gzf", -- Find surrounding (to the right)
|
||||
find_left = "gzF", -- Find surrounding (to the left)
|
||||
highlight = "gzh", -- Highlight surrounding
|
||||
replace = "gzr", -- Replace surrounding
|
||||
update_n_lines = "gzn", -- Update `n_lines`
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
-- use gz mappings instead of s to prevent conflict with leap
|
||||
require("mini.surround").setup(opts)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"danymat/neogen",
|
||||
event = "BufEnter",
|
||||
config = function()
|
||||
require("neogen").setup({
|
||||
enabled = true,
|
||||
@ -206,88 +222,4 @@ return {
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"monaqa/dial.nvim",
|
||||
config = function()
|
||||
local dial_config = require("dial.config")
|
||||
|
||||
local y = "2024/05/29"
|
||||
|
||||
local augend = require("dial.augend")
|
||||
dial_config.augends:register_group({
|
||||
default = {
|
||||
augend.integer.alias.decimal,
|
||||
augend.integer.alias.hex,
|
||||
augend.date.alias["%Y/%m/%d"],
|
||||
},
|
||||
typescript = {
|
||||
augend.integer.alias.decimal,
|
||||
augend.integer.alias.hex,
|
||||
augend.constant.new({ elements = { "let", "const" } }),
|
||||
},
|
||||
visual = {
|
||||
augend.integer.alias.decimal,
|
||||
augend.integer.alias.hex,
|
||||
augend.date.alias["%Y/%m/%d"],
|
||||
augend.constant.alias.alpha,
|
||||
augend.constant.alias.Alpha,
|
||||
},
|
||||
mygroup = {
|
||||
augend.constant.new({
|
||||
elements = { "and", "or" },
|
||||
word = true, -- if false, "sand" is incremented into "sor", "doctor" into "doctand", etc.
|
||||
cyclic = true, -- "or" is incremented into "and".
|
||||
}),
|
||||
augend.constant.new({
|
||||
elements = { "True", "False" },
|
||||
word = true,
|
||||
cyclic = true,
|
||||
}),
|
||||
augend.constant.new({
|
||||
elements = { "public", "private" },
|
||||
word = true,
|
||||
cyclic = true,
|
||||
}),
|
||||
augend.constant.new({
|
||||
elements = { "&&", "||" },
|
||||
word = false,
|
||||
cyclic = true,
|
||||
}),
|
||||
augend.date.alias["%d/%m/%Y"], -- date (02/19/2022, etc.)
|
||||
augend.constant.alias.bool, -- boolean value (true <-> false)
|
||||
augend.integer.alias.decimal,
|
||||
augend.integer.alias.hex,
|
||||
augend.semver.alias.semver,
|
||||
},
|
||||
})
|
||||
|
||||
local map = require("dial.map")
|
||||
|
||||
-- change augends in VISUAL mode
|
||||
vim.api.nvim_set_keymap("n", "<C-a>", map.inc_normal("mygroup"), { noremap = true })
|
||||
vim.api.nvim_set_keymap("n", "<C-x>", map.dec_normal("mygroup"), { noremap = true })
|
||||
vim.api.nvim_set_keymap("v", "<C-a>", map.inc_normal("visual"), { noremap = true })
|
||||
vim.api.nvim_set_keymap("v", "<C-x>", map.dec_normal("visual"), { noremap = true })
|
||||
|
||||
vim.cmd([[
|
||||
" enable only for specific FileType
|
||||
autocmd FileType typescript,javascript lua vim.api.nvim_buf_set_keymap(0, "n", "<C-a>", require("dial.map").inc_normal("typescript"), {noremap = true})
|
||||
]])
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
keys = {
|
||||
{ "mm", '<cmd>lua require("harpoon.mark").add_file()<cr>', desc = "Harpoon" },
|
||||
{ "ml", '<cmd>lua require("harpoon.ui").nav_next()<cr>', desc = "Harpoon Next" },
|
||||
{ "mh", '<cmd>lua require("harpoon.ui").nav_prev()<cr>', desc = "Harpoon Prev" },
|
||||
{ "ms", "<cmd>Telescope harpoon marks<cr>", desc = "Search Files" },
|
||||
{ "mu", '<cmd>lua require("harpoon.ui").toggle_quick_menu()<cr>', desc = "Harpoon UI" },
|
||||
|
||||
{ "m1", '<cmd> lua require("harpoon.ui").nav_file(1)<cr>', desc = "Goto 1" },
|
||||
{ "m2", '<cmd> lua require("harpoon.ui").nav_file(2)<cr>', desc = "Goto 2" },
|
||||
{ "m3", '<cmd> lua require("harpoon.ui").nav_file(3)<cr>', desc = "Goto 3" },
|
||||
{ "m4", '<cmd> lua require("harpoon.ui").nav_file(4)<cr>', desc = "Goto 4" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -15,9 +15,9 @@ return {
|
||||
-- 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 = false, -- adds help for motions
|
||||
text_objects = false, -- help for text objects triggered after entering an operator
|
||||
operators = true, -- 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
|
||||
@ -63,7 +63,7 @@ return {
|
||||
})
|
||||
|
||||
local leader_opts = {
|
||||
mode = "n", -- NORMAL mode
|
||||
mode = { "n", "v" }, -- NORMAL/VISUAL mode
|
||||
buffer = nil, -- Global mappings
|
||||
prefix = "<leader>",
|
||||
silent = true, -- use 'silent'
|
||||
@ -78,20 +78,26 @@ return {
|
||||
})
|
||||
|
||||
local leader_mappings = {
|
||||
a = { "<cmd>Lspsaga code_action<cr>", "Action" },
|
||||
c = { "<cmd>Bdelete<cr>", "Close Buffer" },
|
||||
l = { name = "+lsp" },
|
||||
b = { name = "+buffer" },
|
||||
r = { name = "+replace" },
|
||||
f = { name = "+file" },
|
||||
s = { name = "+search" },
|
||||
h = { name = "+help" },
|
||||
g = { name = "+git" },
|
||||
t = { name = "+todo" },
|
||||
N = { name = "+noice" },
|
||||
o = { name = "+option" },
|
||||
|
||||
H = { "<cmd>split<cr>", "split" },
|
||||
h = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Hover" },
|
||||
V = { "<cmd>vsplit<cr>", "vsplit" },
|
||||
n = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
|
||||
O = { "<cmd>setlocal spell! spelllang=en_us<CR>", "Toggle Spelling" },
|
||||
P = { "<cmd>!opout %<cr><cr>", "Preview Document" },
|
||||
q = { '<cmd>lua require("lazyvim.functions").smart_quit()<CR>', "Quit" },
|
||||
V = { "<cmd>vsplit<cr>", "vsplit" },
|
||||
w = { "<cmd>w<CR>", "Write" },
|
||||
z = { "<cmd>ZenMode<cr>", "Zen" },
|
||||
["/"] = { '<cmd>lua require("Comment.api").toggle.linewise.current()<CR>', "Comment" },
|
||||
["'"] = { "<cmd>close<CR>", "Close split" },
|
||||
u = { "<cmd>UndoTreeToggle", "Undo Tree" },
|
||||
u = { "<cmd>UndotreeToggle<cr>", "Undo Tree" },
|
||||
|
||||
C = {
|
||||
name = "Compiler",
|
||||
@ -99,136 +105,31 @@ return {
|
||||
b = { "<cmd>w! | !pandoc % -t beamer -o presentation.pdf<cr>", "Beamer Presentation" },
|
||||
},
|
||||
|
||||
b = {
|
||||
name = "Buffer",
|
||||
b = { "<cmd>Telescope buffers<cr>", "Telescope" },
|
||||
c = { "<cmd>Bdelete!<cr>", "Close Buffer" },
|
||||
h = { "<cmd>BufferLineCyclePrev<cr>", "Cycle Previous" },
|
||||
l = { "<cmd>BufferLineCycleNext<cr>", "Cycle Next" },
|
||||
p = { "<cmd>BufferLinePickClose", "Pick Close" },
|
||||
},
|
||||
-- o = {
|
||||
-- name = "Options",
|
||||
-- c = { "<cmd>lua vim.g.cmp_active=false<cr>", "Completion off" },
|
||||
-- C = { "<cmd>lua vim.g.cmp_active=true<cr>", "Completion on" },
|
||||
-- w = { '<cmd>lua require("user.functions").toggle_option("wrap")<cr>', "Wrap" },
|
||||
-- r = { '<cmd>lua require("user.functions").toggle_option("relativenumber")<cr>', "Relative" },
|
||||
-- l = { '<cmd>lua require("user.functions").toggle_option("cursorline")<cr>', "Cursorline" },
|
||||
-- s = { '<cmd>lua require("user.functions").toggle_option("spell")<cr>', "Spell" },
|
||||
-- t = { '<cmd>lua require("user.functions").toggle_tabline()<cr>', "Tabline" },
|
||||
-- },
|
||||
|
||||
p = {
|
||||
name = "Packer",
|
||||
c = { "<cmd>PackerCompile<cr>", "Compile" },
|
||||
i = { "<cmd>PackerInstall<cr>", "Install" },
|
||||
s = { "<cmd>PackerSync<cr>", "Sync" },
|
||||
S = { "<cmd>PackerStatus<cr>", "Status" },
|
||||
u = { "<cmd>PackerUpdate<cr>", "Update" },
|
||||
},
|
||||
|
||||
o = {
|
||||
name = "Options",
|
||||
c = { "<cmd>lua vim.g.cmp_active=false<cr>", "Completion off" },
|
||||
C = { "<cmd>lua vim.g.cmp_active=true<cr>", "Completion on" },
|
||||
w = { '<cmd>lua require("user.functions").toggle_option("wrap")<cr>', "Wrap" },
|
||||
r = { '<cmd>lua require("user.functions").toggle_option("relativenumber")<cr>', "Relative" },
|
||||
l = { '<cmd>lua require("user.functions").toggle_option("cursorline")<cr>', "Cursorline" },
|
||||
s = { '<cmd>lua require("user.functions").toggle_option("spell")<cr>', "Spell" },
|
||||
t = { '<cmd>lua require("user.functions").toggle_tabline()<cr>', "Tabline" },
|
||||
},
|
||||
|
||||
r = {
|
||||
name = "Replace",
|
||||
r = { "<cmd>lua require('spectre').open()<cr>", "Replace" },
|
||||
w = { "<cmd>lua require('spectre').open_visual({select_word=true})<cr>", "Replace Word" },
|
||||
f = { "<cmd>lua require('spectre').open_file_search()<cr>", "Replace Buffer" },
|
||||
},
|
||||
|
||||
d = {
|
||||
name = "Debug",
|
||||
b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
|
||||
c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
|
||||
i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
|
||||
o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
|
||||
O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
|
||||
r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
|
||||
l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
|
||||
u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
|
||||
x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
|
||||
},
|
||||
|
||||
f = {
|
||||
name = "Find",
|
||||
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
||||
c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
|
||||
f = { "<cmd>Telescope find_files<cr>", "Find files" },
|
||||
t = { "<cmd>Telescope live_grep<cr>", "Find Text" },
|
||||
s = { "<cmd>Telescope grep_string<cr>", "Find String" },
|
||||
h = { "<cmd>Telescope help_tags<cr>", "Help" },
|
||||
H = { "<cmd>Telescope highlights<cr>", "Highlights" },
|
||||
l = { "<cmd>Telescope resume<cr>", "Last Search" },
|
||||
M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
|
||||
r = { "<cmd>Telescope oldfiles<cr>", "Recent File" },
|
||||
R = { "<cmd>Telescope registers<cr>", "Registers" },
|
||||
k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
|
||||
C = { "<cmd>Telescope commands<cr>", "Commands" },
|
||||
},
|
||||
|
||||
g = {
|
||||
name = "Git",
|
||||
g = { "<cmd>Git<CR>", "Git" },
|
||||
j = { "<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk" },
|
||||
k = { "<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk" },
|
||||
l = { "<cmd>GitBlameToggle<cr>", "Blame" },
|
||||
p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" },
|
||||
r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" },
|
||||
R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" },
|
||||
s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" },
|
||||
u = {
|
||||
"<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
|
||||
"Undo Stage Hunk",
|
||||
},
|
||||
o = { "<cmd>Telescope git_status<cr>", "Open changed file" },
|
||||
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
||||
c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
|
||||
d = {
|
||||
"<cmd>Gitsigns diffthis HEAD<cr>",
|
||||
"Diff",
|
||||
},
|
||||
},
|
||||
|
||||
l = {
|
||||
name = "LSP",
|
||||
a = { "<cmd>Lspsaga code_action<cr>", "Code Action" },
|
||||
t = { "<cmd>TroubleToggle document_diagnostics<cr>", "Diagnostics" },
|
||||
d = { "<cmd>lua vim.lsp.buf.definition()<cr>", "Definition" },
|
||||
w = {
|
||||
"<cmd>TroubleToggle workspace_diagnostics<cr>",
|
||||
"Workspace Diagnostics",
|
||||
},
|
||||
f = { "<cmd>lua vim.lsp.buf.format({ async = true })<cr>", "Format" },
|
||||
F = { "<cmd>LspToggleAutoFormat<cr>", "Toggle Autoformat" },
|
||||
h = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Hover" },
|
||||
i = { "<cmd>lua vim.lsp.buf.implementation()<cr>", "Implementation" },
|
||||
I = { "<cmd>LspInfo<cr>", "Info" },
|
||||
j = {
|
||||
"<cmd>lua vim.diagnostic.goto_next({buffer=0})<CR>",
|
||||
"Next Diagnostic",
|
||||
},
|
||||
k = {
|
||||
"<cmd>lua vim.diagnostic.goto_prev({buffer=0})<cr>",
|
||||
"Prev Diagnostic",
|
||||
},
|
||||
v = { "<cmd>lua require('lsp_lines').toggle()<cr>", "Virtual Text" },
|
||||
l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },
|
||||
o = { "<cmd>SymbolsOutline<cr>", "Outline" },
|
||||
r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
|
||||
R = { "<cmd>TroubleToggle lsp_references<cr>", "References" },
|
||||
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
|
||||
S = {
|
||||
"<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
|
||||
"Workspace Symbols",
|
||||
},
|
||||
T = { '<cmd>lua require("user.functions").toggle_diagnostics()<cr>', "Toggle Diagnostics" },
|
||||
u = { "<cmd>LuaSnipUnlinkCurrent<cr>", "Unlink Snippet" },
|
||||
M = { "<cmd>Mason<cr>", "Open Mason UI" },
|
||||
},
|
||||
-- d = {
|
||||
-- name = "Debug",
|
||||
-- b = { "<cmd>lua require'dap'.toggle_breakpoint()<cr>", "Breakpoint" },
|
||||
-- c = { "<cmd>lua require'dap'.continue()<cr>", "Continue" },
|
||||
-- i = { "<cmd>lua require'dap'.step_into()<cr>", "Into" },
|
||||
-- o = { "<cmd>lua require'dap'.step_over()<cr>", "Over" },
|
||||
-- O = { "<cmd>lua require'dap'.step_out()<cr>", "Out" },
|
||||
-- r = { "<cmd>lua require'dap'.repl.toggle()<cr>", "Repl" },
|
||||
-- l = { "<cmd>lua require'dap'.run_last()<cr>", "Last" },
|
||||
-- u = { "<cmd>lua require'dapui'.toggle()<cr>", "UI" },
|
||||
-- x = { "<cmd>lua require'dap'.terminate()<cr>", "Exit" },
|
||||
-- },
|
||||
}
|
||||
|
||||
-- whichkey.register(m_mappings, m_opts)
|
||||
|
||||
whichkey.register(mappings, opts)
|
||||
whichkey.register(leader_mappings, leader_opts)
|
||||
end,
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user