[Perf] Improve startup performance by over 2x
This commit is contained in:
@@ -42,9 +42,6 @@ keymap.set("n", "<leader>lc", ":VimtexCompile<CR>", opts("Compile latex document
|
||||
keymap.set("n", "<leader>lv", ":VimtexView<CR>", opts("View compiled latex pdf")) -- View compiled PDF
|
||||
keymap.set("n", "<leader>lq", ":VimtexStop<CR>", opts("Stop Compiling document")) -- Stop compilation
|
||||
|
||||
-- Markdown-Preview
|
||||
keymap.set("n", "<leader><leader>m", ":MarkdownPreview<CR>", opts("Preview Markdown document in browser")) -- Stop compilation
|
||||
|
||||
-- window navigation
|
||||
keymap.set("n", "<A-h>", "<C-w>h", opts())
|
||||
keymap.set("n", "<A-j>", "<C-w>j", opts())
|
||||
|
||||
@@ -2,6 +2,7 @@ vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
vim.opt.backspace = "2"
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
-- title
|
||||
vim.opt.title = true
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
return {
|
||||
"aznhe21/actions-preview.nvim",
|
||||
config = function()
|
||||
-- Configure actions-preview.nvim
|
||||
require("actions-preview").setup({
|
||||
opts = {
|
||||
-- Floating window configuration (optional)
|
||||
max_width = 80, -- Max width of the preview window
|
||||
max_height = 12, -- Max height of the preview window
|
||||
@@ -10,10 +8,8 @@ return {
|
||||
min_height = 4, -- Minimum height for the preview window
|
||||
|
||||
-- Keymaps (optional)
|
||||
keymaps = {
|
||||
-- Trigger code action preview with a keybinding (example using <leader>a)
|
||||
{ "n", "<leader>ca", vim.lsp.buf.code_action },
|
||||
},
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>ca", vim.lsp.buf.code_action, desc = "View code actions" },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ return {
|
||||
dependencies = {
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
},
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
local null_ls = require("null-ls")
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
return {
|
||||
"lervag/vimtex",
|
||||
event = "BufNew",
|
||||
config = function()
|
||||
-- vimtex settings
|
||||
-- vim.g.vimtex_view_method = 'zathura' -- PDF viewer (example: zathura, or use 'skim' for macOS)
|
||||
|
||||
@@ -3,6 +3,7 @@ return {
|
||||
"akinsho/bufferline.nvim",
|
||||
version = "*",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
event = "BufRead",
|
||||
config = function()
|
||||
local bufferline = require("bufferline")
|
||||
bufferline.setup({
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
return {
|
||||
-- open file at previous position
|
||||
"ethanholz/nvim-lastplace",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
require("nvim-lastplace").setup({})
|
||||
end,
|
||||
|
||||
@@ -5,6 +5,9 @@ return {
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
opts = { lsp = { auto_attach = true } },
|
||||
keys = {
|
||||
{ "<leader><leader>n", ":Navbuddy<CR>", desc = "open navbuddy menu" }
|
||||
},
|
||||
config = function()
|
||||
local actions = require("nvim-navbuddy.actions")
|
||||
require("nvim-navbuddy").setup({
|
||||
@@ -140,7 +143,5 @@ return {
|
||||
},
|
||||
custom_hl_group = nil, -- "Visual" or any other hl group to use instead of inverted colors
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader><leader>n", ":Navbuddy<CR>", { silent = true, desc = "open navbuddy menu" })
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -11,12 +11,53 @@ return {
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>ff", require("telescope.builtin").find_files, desc = "Telescope find files" },
|
||||
|
||||
{ "<leader>flg", require("telescope.builtin").live_grep, desc = "Telescope live grep" },
|
||||
|
||||
{ "<leader>fg", function ()
|
||||
require( 'telescope' ).extensions.live_grep_args.live_grep_args()
|
||||
end, desc = "Telescope live grep args" },
|
||||
|
||||
{ "<leader>fb", require("telescope.builtin").buffers, desc = "Telescope buffers" },
|
||||
|
||||
{ "<leader>fh", require("telescope.builtin").help_tags, desc = "Telescope nvim functions" },
|
||||
|
||||
{ "<leader>ft", ":TodoTelescope<CR>", desc = "Telescope TODOs" },
|
||||
|
||||
-- Git
|
||||
{ "<leader>fld", require("telescope.builtin").git_status, desc = "Telescope git diff" },
|
||||
|
||||
{ "<leader>flc", require("telescope.builtin").git_commits, desc = "Telescope git commits" },
|
||||
|
||||
{ "<leader>flf", require("telescope.builtin").git_files, desc = "Telescope git files" },
|
||||
|
||||
-- Recent Commands
|
||||
{ "<leader>foc", ":Telescope command_history<CR>", desc = "Telescope recent commands" },
|
||||
|
||||
-- Recent Searches
|
||||
{ "<leader>fos", ":Telescope search_history<CR>", desc = "Telescope recent searches" },
|
||||
|
||||
-- Old Files
|
||||
{ "<leader>fr", require("telescope.builtin").oldfiles, desc = "Telescope recent files" },
|
||||
|
||||
-- Quickfix Items
|
||||
{ "<leader>fq", ":Telescope quickfix<CR>", desc = "Telescope quickfix items" },
|
||||
|
||||
-- Spell Suggestions
|
||||
{ "<leader>fs", ":Telescope spell_suggest<CR>", desc = "Telescope spellsuggestions" },
|
||||
|
||||
-- Diagnostics
|
||||
{ "<leader>fd", ":Telescope diagnostics<CR>", desc = "Telescope Diagnostics" },
|
||||
|
||||
-- Notifications
|
||||
{ "<leader>fn", ":Telescope notify<CR>", desc = "Telescope Notifications" },
|
||||
|
||||
-- Implementations
|
||||
{ "<leader>fi", ":Telescope lsp_implementations<CR>", desc = "Telescope lsp implementations" },
|
||||
},
|
||||
config = function()
|
||||
local builtin = require("telescope.builtin")
|
||||
local actions = require("telescope.actions")
|
||||
local opts = { silent = true }
|
||||
local telescope = require("telescope")
|
||||
local lga_actions = require("telescope-live-grep-args.actions")
|
||||
|
||||
@@ -42,72 +83,5 @@ return {
|
||||
})
|
||||
|
||||
telescope.load_extension("live_grep_args")
|
||||
|
||||
opts.desc = "telescope find files"
|
||||
vim.keymap.set("n", "<leader>ff", builtin.find_files, opts)
|
||||
|
||||
opts.desc = "telescope live grep"
|
||||
vim.keymap.set("n", "<leader>flg", builtin.live_grep, opts)
|
||||
|
||||
opts.desc = "telescope live grep args"
|
||||
local function start_live_grep_args()
|
||||
telescope.extensions.live_grep_args.live_grep_args()
|
||||
end
|
||||
vim.keymap.set("n", "<leader>fg", start_live_grep_args, opts)
|
||||
|
||||
opts.desc = "telescope buffers"
|
||||
vim.keymap.set("n", "<leader>fb", builtin.buffers, opts)
|
||||
|
||||
opts.desc = "Show nvim functions"
|
||||
vim.keymap.set("n", "<leader>fh", builtin.help_tags, opts)
|
||||
|
||||
opts.desc = "Telescope TODOs"
|
||||
vim.keymap.set("n", "<leader>ft", ":TodoTelescope<CR>", opts)
|
||||
|
||||
-- Git
|
||||
opts.desc = "Show git diff"
|
||||
vim.keymap.set("n", "<leader>fld", builtin.git_status, opts)
|
||||
|
||||
opts.desc = "Show git commits"
|
||||
vim.keymap.set("n", "<leader>flc", builtin.git_commits, opts)
|
||||
|
||||
opts.desc = "Show git files"
|
||||
vim.keymap.set("n", "<leader>flf", builtin.git_files, opts)
|
||||
|
||||
-- Recent Commands
|
||||
opts.desc = "Show recent commands"
|
||||
vim.keymap.set("n", "<leader>foc", ":Telescope command_history<CR>", opts)
|
||||
|
||||
-- Recent Searches
|
||||
opts.desc = "Show recent searches"
|
||||
vim.keymap.set("n", "<leader>fos", ":Telescope search_history<CR>", opts)
|
||||
|
||||
-- Old Files
|
||||
opts.desc = "Show recent files"
|
||||
vim.keymap.set("n", "<leader>fr", builtin.oldfiles, opts)
|
||||
|
||||
-- Quickfix Items
|
||||
opts.desc = "Show quickfix items"
|
||||
vim.keymap.set("n", "<leader>fq", ":Telescope quickfix<CR>", opts)
|
||||
|
||||
-- Spell Suggestions
|
||||
opts.desc = "Show spell suggestions"
|
||||
vim.keymap.set("n", "<leader>fs", ":Telescope spell_suggest<CR>", opts)
|
||||
|
||||
-- Diagnostics
|
||||
opts.desc = "Show diagnostics"
|
||||
vim.keymap.set("n", "<leader>fd", ":Telescope diagnostics<CR>", opts)
|
||||
|
||||
-- Notifications
|
||||
opts.desc = "Show notifications"
|
||||
vim.keymap.set("n", "<leader>fn", ":Telescope notify<CR>", opts)
|
||||
|
||||
-- Implementations
|
||||
opts.desc = "Show implementations"
|
||||
vim.keymap.set("n", "<leader>fi", ":Telescope lsp_implementations<CR>", opts)
|
||||
|
||||
-- quickfix
|
||||
opts.desc = "Show quickfix list"
|
||||
vim.keymap.set("n", "<leader>fq", ":Telescope quickfix<CR>", opts)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -9,10 +9,36 @@ return {
|
||||
"orjangj/neotest-ctest",
|
||||
"rouge8/neotest-rust",
|
||||
},
|
||||
keys = {},
|
||||
keys = {
|
||||
-- Run nearest test
|
||||
{ "<leader><leader>tr", '<cmd>lua require("neotest").run.run()<cr>', desc = "Run nearest test" },
|
||||
|
||||
-- Run all tests in the current file
|
||||
{
|
||||
"<leader><leader>tf",
|
||||
'<cmd>lua require("neotest").run.run(vim.fn.expand("%"))<cr>',
|
||||
desc = "Run all tests in current file",
|
||||
},
|
||||
|
||||
-- Stop running tests
|
||||
{ "<leader><leader>ts", '<cmd>lua require("neotest").run.stop()<cr>', desc = "Stop tests" },
|
||||
|
||||
{ "<leader><leader>ta", '<cmd>lua require("neotest").run.attach()<cr>', desc = "Attach to nearest test" },
|
||||
|
||||
{ "<leader><leader>tn", "<cmd>Neotest jump next<cr>", desc = "Jump to next test" },
|
||||
|
||||
{ "<leader><leader>tp", "<cmd>Neotest jump prev<cr>", desc = "Jump to previous test" },
|
||||
|
||||
-- Show test summary
|
||||
{ "<leader><leader>tv", "<cmd>Neotest summary<cr>", desc = "Show neotest test summary" },
|
||||
|
||||
-- Toggle the Neotest panel
|
||||
{ "<leader><leader>to", "<cmd>Neotest output<cr>", desc = "Show neotest output" },
|
||||
|
||||
{ "<leader><leader>tn", "<cmd>Neotest output-panel<cr>", desc = "Show neotest output as panel" },
|
||||
},
|
||||
config = function()
|
||||
local neotest = require("neotest")
|
||||
local keymap = vim.keymap.set
|
||||
|
||||
-- General setup for neotest
|
||||
neotest.setup({
|
||||
@@ -31,38 +57,5 @@ return {
|
||||
})
|
||||
|
||||
-- Keybinding Setup
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- Run nearest test
|
||||
opts.desc = "Run nearest test"
|
||||
keymap("n", "<leader><leader>tr", '<cmd>lua require("neotest").run.run()<cr>', opts)
|
||||
|
||||
-- Run all tests in the current file
|
||||
opts.desc = "Run all tests in current file"
|
||||
keymap("n", "<leader><leader>tf", '<cmd>lua require("neotest").run.run(vim.fn.expand("%"))<cr>', opts)
|
||||
|
||||
-- Stop running tests
|
||||
opts.desc = "Stop tests"
|
||||
keymap("n", "<leader><leader>ts", '<cmd>lua require("neotest").run.stop()<cr>', opts)
|
||||
|
||||
opts.desc = "Attach to nearest test"
|
||||
keymap("n", "<leader><leader>ta", '<cmd>lua require("neotest").run.attach()<cr>', opts)
|
||||
|
||||
opts.desc = "Jump to next test"
|
||||
keymap("n", "<leader><leader>tn", "<cmd>Neotest jump next<cr>", opts)
|
||||
|
||||
opts.desc = "Jump to previous test"
|
||||
keymap("n", "<leader><leader>tp", "<cmd>Neotest jump prev<cr>", opts)
|
||||
|
||||
-- Show test summary
|
||||
opts.desc = "Show neotest test summary"
|
||||
keymap("n", "<leader><leader>tv", "<cmd>Neotest summary<cr>", opts)
|
||||
|
||||
-- Toggle the Neotest panel
|
||||
opts.desc = "Show neotest output"
|
||||
keymap("n", "<leader><leader>to", "<cmd>Neotest output<cr>", opts)
|
||||
|
||||
opts.desc = "Show neotest output as panel"
|
||||
keymap("n", "<leader><leader>tn", "<cmd>Neotest output-panel<cr>", opts)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
return {
|
||||
"uga-rosa/ccc.nvim",
|
||||
config = function()
|
||||
local ccc = require("ccc")
|
||||
vim.opt.termguicolors = true
|
||||
ccc.setup({
|
||||
opts = {
|
||||
highlighter = {
|
||||
auto_enable = false,
|
||||
lsp = true,
|
||||
},
|
||||
})
|
||||
|
||||
local keymap = vim.keymap
|
||||
keymap.set(
|
||||
"n",
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>cp",
|
||||
"<cmd>CccPick<CR>",
|
||||
{ noremap = true, silent = true, desc = "Toggle colour picker" }
|
||||
)
|
||||
end,
|
||||
desc = "Toggle colour picker",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ return {
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
keys = {
|
||||
{ "<leader><leader>m", ":MarkdownPreview<CR>", desc = "Preview Markdown document in browser" },
|
||||
},
|
||||
build = function(plugin)
|
||||
if vim.fn.executable("npx") then
|
||||
vim.cmd("!cd " .. plugin.dir .. " && cd app && npx --yes yarn install")
|
||||
|
||||
@@ -1,22 +1,17 @@
|
||||
return {
|
||||
"fedepujol/move.nvim",
|
||||
config = function()
|
||||
local opts = require("utils").opts
|
||||
require("move").setup({})
|
||||
local keymap = vim.keymap
|
||||
|
||||
-- Move lines up and down
|
||||
keymap.set("n", "<A-S-k>", ":MoveLine(-1)<CR>", opts("Move line up"))
|
||||
keymap.set("n", "<A-S-j>", ":MoveLine(1)<CR>", opts("Move line down"))
|
||||
keymap.set("n", "<leader>mk", ":MoveLine(-1)<CR>", opts("Move line up"))
|
||||
keymap.set("n", "<leader>mj", ":MoveLine(1)<CR>", opts("Move line down"))
|
||||
keys = {
|
||||
{ "<A-S-k>", ":MoveLine(-1)<CR>", desc = "Move line up" },
|
||||
{ "<A-S-j>", ":MoveLine(1)<CR>", desc = "Move line down" },
|
||||
{ "<leader>mk", ":MoveLine(-1)<CR>", desc = "Move line up" },
|
||||
{ "<leader>mj", ":MoveLine(1)<CR>", desc = "Move line down" },
|
||||
|
||||
-- Move blocks in visual mode
|
||||
keymap.set("v", "<A-k>", ":MoveBlock(-1)<CR>", opts("Move line up"))
|
||||
keymap.set("v", "<A-j>", ":MoveBlock(1)<CR>", opts("Move line down"))
|
||||
{ "<A-k>", ":MoveBlock(-1)<CR>", desc = "Move line up" },
|
||||
{ "<A-j>", ":MoveBlock(1)<CR>", desc = "Move line down" },
|
||||
|
||||
-- Move lines in insert mode
|
||||
keymap.set("i", "<A-k>", "<C-o>:MoveLine(-1)<CR>", opts("Move line up"))
|
||||
keymap.set("i", "<A-j>", "<C-o>:MoveLine(1)<CR>", opts("Move line down"))
|
||||
end,
|
||||
{ "<A-k>", "<C-o>:MoveLine(-1)<CR>", desc = "Move line up" },
|
||||
{ "<A-j>", "<C-o>:MoveLine(1)<CR>", desc = "Move line down" },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
return {
|
||||
"smoka7/multicursors.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvimtools/hydra.nvim",
|
||||
},
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
return {
|
||||
"danymat/neogen",
|
||||
config = function()
|
||||
local opts = { noremap = true, silent = true, desc = "Generate docs" }
|
||||
vim.keymap.set("n", "<leader>gd", ":lua require('neogen').generate()<CR>", opts)
|
||||
|
||||
opts.desc = "Generate function docs"
|
||||
vim.keymap.set("n", "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", opts)
|
||||
|
||||
opts.desc = "Generate type docs"
|
||||
vim.keymap.set("n", "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", opts)
|
||||
|
||||
opts.desc = "Generate class docs"
|
||||
vim.keymap.set("n", "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", opts)
|
||||
require("neogen").setup({
|
||||
opts = {
|
||||
snippet_engine = "luasnip",
|
||||
})
|
||||
end,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>gd", ":lua require('neogen').generate()<CR>", desc = "Autogenerate docs" },
|
||||
|
||||
{ "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", desc = "Generate function docs" },
|
||||
|
||||
{ "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", desc = "Generate type docs" },
|
||||
|
||||
{ "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", desc = "Generate class docs" },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
"kylechui/nvim-surround",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("nvim-surround").setup()
|
||||
end,
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
return {
|
||||
-- view buffer w/o distractions
|
||||
"folke/zen-mode.nvim",
|
||||
config = function()
|
||||
require("zen-mode").setup({
|
||||
opts = {
|
||||
window = {
|
||||
width = 1,
|
||||
height = 1,
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>z", ":ZenMode<CR>", { silent = true, desc = "open current buffer in zen mode" })
|
||||
end,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>z", ":ZenMode<CR>", desc = "open current buffer in zen mode" },
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user