This commit is contained in:
sankalp committed 2024-08-22 07:38:23 +05:45
1 parent a13ea6d3a9
commit 6224efd4a8
30 files changed
+2144 -3784

No files matched your search

+225 -200
View File
@@ -1,211 +1,236 @@
return {
{
'max397574/better-escape.nvim',
event = 'InsertEnter',
opts = {
k = function()
vim.api.nvim_input('<esc>')
local current_line = vim.api.nvim_get_current_line()
if current_line:match('^%s+j$') then
vim.schedule(function()
vim.api.nvim_set_current_line('')
end)
end
end,
},
},
{
'L3MON4D3/LuaSnip',
event = { 'BufReadPost', 'BufNewFile' },
dependencies = {
'rafamadriz/friendly-snippets',
'mstuttgart/odoo-snippets',
},
opts = {
history = true,
updateevents = 'TextChanged,TextChangedI',
},
keys = function()
return {}
end,
config = function()
require('luasnip.loaders.from_vscode').lazy_load()
end,
},
{
'altermo/ultimate-autopair.nvim',
event = { 'InsertEnter', 'CmdlineEnter' },
branch = 'v0.6', --recommended as each new version will have breaking changes
opts = {},
},
{
'hrsh7th/nvim-cmp',
event = { 'InsertEnter' },
dependencies = {
-- autocomplete plugins
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
'saadparwaiz1/cmp_luasnip',
-- "hrsh7th/cmp-nvim-lsp-signature-help",
-- "hrsh7th/cmp-calc",
{
"max397574/better-escape.nvim",
event = "InsertEnter",
opts = {
k = function()
vim.api.nvim_input("<esc>")
local current_line = vim.api.nvim_get_current_line()
if current_line:match("^%s+j$") then
vim.schedule(function()
vim.api.nvim_set_current_line("")
end)
end
end,
},
},
{
"CRAG666/code_runner.nvim",
config = true,
vim.keymap.set("n", "<leader>rc", "<cmd>RunCode<CR>", { desc = "Run Code " }),
vim.keymap.set("n", "<leader>rf", "<cmd>RunFile<CR>", { desc = "Run Code File " }),
vim.keymap.set("n", "<leader>rp", "<cmd>RunProject<CR>", { desc = "Run Code Project " }),
vim.keymap.set("n", "<leader>rx", "<cmd>RunClose<CR>", { desc = "Close Code Run " }),
opts = {
filetype = {
python = "python3 -u",
c = "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt",
sh = "bash",
go = "go run",
lua = "lua",
julia = "julia",
typescript = "ts-node",
javascript = "node",
rust = "cd $dir && cargo run",
php = "php",
java = "cd $dir && javac $fileName && java $fileNameWithoutExt",
kotlin = "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar",
},
},
},
{
"L3MON4D3/LuaSnip",
event = { "BufReadPost", "BufNewFile" },
dependencies = {
"rafamadriz/friendly-snippets",
"mstuttgart/odoo-snippets",
},
opts = {
history = true,
updateevents = "TextChanged,TextChangedI",
},
keys = function()
return {}
end,
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
{
"altermo/ultimate-autopair.nvim",
event = { "InsertEnter", "CmdlineEnter" },
branch = "v0.6", --recommended as each new version will have breaking changes
opts = {},
},
{
"hrsh7th/nvim-cmp",
event = { "InsertEnter" },
dependencies = {
-- autocomplete plugins
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lua",
"saadparwaiz1/cmp_luasnip",
-- "hrsh7th/cmp-nvim-lsp-signature-help",
-- "hrsh7th/cmp-calc",
-- vscode like icons to autocomplete list
'onsails/lspkind.nvim',
-- snippet plugin
{ 'L3MON4D3/LuaSnip', event = { 'BufReadPost', 'BufNewFile' } },
{ 'rafamadriz/friendly-snippets', event = { 'BufReadPost', 'BufNewFile' } },
},
config = function()
require('configs.cmp')
end,
},
{
'Exafunction/codeium.vim',
event = 'InsertEnter',
config = function()
local cmp = require('cmp')
cmp.event:on('menu_opened', function()
vim.g.codeium_manual = true
vim.fn['codeium#Clear']()
end)
cmp.event:on('menu_closed', function()
vim.g.codeium_manual = false
vim.fn['codeium#Complete']()
end)
-- vscode like icons to autocomplete list
"onsails/lspkind.nvim",
-- snippet plugin
{ "L3MON4D3/LuaSnip", event = { "BufReadPost", "BufNewFile" } },
{ "rafamadriz/friendly-snippets", event = { "BufReadPost", "BufNewFile" } },
},
config = function()
require("configs.cmp")
end,
},
{
"Exafunction/codeium.vim",
event = "InsertEnter",
config = function()
local cmp = require("cmp")
cmp.event:on("menu_opened", function()
vim.g.codeium_manual = true
vim.fn["codeium#Clear"]()
end)
cmp.event:on("menu_closed", function()
vim.g.codeium_manual = false
vim.fn["codeium#Complete"]()
end)
vim.g.codeium_filetypes = {
TelescopePrompt = false,
DressingInput = false,
['neo-tree-popup'] = false,
['dap-repl'] = false,
}
vim.g.codeium_filetypes = {
TelescopePrompt = false,
DressingInput = false,
["neo-tree-popup"] = false,
["dap-repl"] = false,
}
local opts = { expr = true, silent = true }
vim.g.codeium_disable_bindings = 1
local opts = { expr = true, silent = true }
vim.g.codeium_disable_bindings = 1
vim.keymap.set('i', '<M-CR>', function()
return vim.fn['codeium#Accept']()
end, opts)
vim.keymap.set("i", "<M-CR>", function()
return vim.fn["codeium#Accept"]()
end, opts)
vim.keymap.set('n', '<leader>ch', function()
return vim.fn['codeium#Chat']()
end, { desc = 'Chat with IA (Codeium)' })
vim.keymap.set("n", "<leader>ch", function()
return vim.fn["codeium#Chat"]()
end, { desc = "Chat with IA (Codeium)" })
vim.keymap.set('i', '<M-]>', function()
return vim.fn['codeium#CycleCompletions'](1)
end, opts)
vim.keymap.set("i", "<M-]>", function()
return vim.fn["codeium#CycleCompletions"](1)
end, opts)
vim.keymap.set('i', '<M-[>', function()
return vim.fn['codeium#CycleCompletions'](-1)
end, opts)
vim.keymap.set("i", "<M-[>", function()
return vim.fn["codeium#CycleCompletions"](-1)
end, opts)
vim.keymap.set('i', '<M-c>', function()
return vim.fn['codeium#Clear']()
end, opts)
vim.keymap.set("i", "<M-c>", function()
return vim.fn["codeium#Clear"]()
end, opts)
vim.keymap.set('n', '<leader>cI', '<cmd>CodeiumToggle<cr>', { desc = 'Toggle IA (Codeium)' })
end,
},
{
'nacro90/numb.nvim',
event = 'CmdlineEnter',
config = function()
require('numb').setup({
show_numbers = true, -- Enable 'number' for the window while peeking
show_cursorline = true, -- Enable 'cursorline' for the window while peeking
hide_relativenumbers = true, -- Enable turning off 'relativenumber' for the window while peeking
number_only = false, -- Peek only when the command is only a number instead of when it starts with a number
centered_peeking = true, -- Peeked line will be centered relative to window
})
end,
},
{
'NStefan002/screenkey.nvim',
cmd = 'Screenkey',
version = '*',
vim.keymap.set('n', '<leader>kt', '<cmd>Screenkey<CR>', { desc = 'Toggle keys' }),
config = function()
require('screenkey').setup({
win_opts = {
relative = 'editor',
anchor = 'SE',
width = 40,
height = 1,
border = 'single',
},
compress_after = 3,
clear_after = 3,
disable = {
filetypes = {}, -- for example: "toggleterm"
buftypes = {}, -- for example: "terminal"
},
})
end,
},
{
'gbprod/yanky.nvim',
event = 'BufReadPost',
keys = {
{ '<C-n>', '<Plug>(YankyCycleForward)' },
{ '<C-p>', '<Plug>(YankyCycleBackward)' },
{
'<leader>yp',
function()
require('telescope').extensions.yank_history.yank_history({})
end,
desc = 'Open Yank History',
},
{ 'y', '<Plug>(YankyYank)', mode = { 'n', 'x' }, desc = 'Yank text' },
{ 'p', '<Plug>(YankyPutAfter)', mode = { 'n', 'x' }, desc = 'Put yanked text after cursor' },
{ 'P', '<Plug>(YankyPutBefore)', mode = { 'n', 'x' }, desc = 'Put yanked text before cursor' },
{ 'gp', '<Plug>(YankyGPutAfter)', mode = { 'n', 'x' }, desc = 'Put yanked text after selection' },
{ 'gP', '<Plug>(YankyGPutBefore)', mode = { 'n', 'x' }, desc = 'Put yanked text before selection' },
-- This is not plugin keymaps
{ '<leader>yP', '<cmd>CopyAbsolutePath<cr>', desc = 'Absolute Path' },
{ '<leader>ya', '<cmd>%y+<cr>', desc = 'Copy Whole File' },
{ '<leader>yf', '<cmd>CopyFileName<cr>', desc = 'File Name' },
{ '<leader>yg', '<cmd>lua require"gitlinker".get_buf_range_url()<cr>', desc = 'Copy Git URL' },
{ '<leader>yp', '<cmd>CopyRelativePath<cr>', desc = 'Relative Path' },
},
opts = {
highlight = {
timer = 150,
},
},
},
{
{
'LudoPinelli/comment-box.nvim',
opts = {},
vscode = true,
keys = {
{ '<leader>Cb', '<cmd>CBccbox<CR>', mode = { 'n', 'v' }, desc = 'Comment Box' },
{ '<leader>Ct', '<cmd>CBllline<CR>', mode = { 'n', 'v' }, desc = 'Tiled line' },
{ '<leader>Cl', '<cmd>CBline<CR>', desc = 'Line' },
{ '<leader>Cm', '<cmd>CBllbox14<CR>', mode = { 'n', 'v' }, desc = 'Marked' },
{ '<leader>Cc', '<cmd>CBcatalog<CR>', desc = 'Catalog' },
{ '<leader>Cd', '<cmd>CBd<CR>', mode = { 'n', 'v' }, desc = 'Delete Comment Style' },
},
},
},
{
'm-demare/hlargs.nvim',
event = { 'BufReadPost', 'BufNewFile' },
},
{
'numToStr/Navigator.nvim',
keys = {
{ '<C-h>', '<cmd>NavigatorLeft<cr>' },
{ '<C-j>', '<cmd>NavigatorDown<cr>' },
{ '<C-k>', '<cmd>NavigatorUp<cr>' },
{ '<C-l>', '<cmd>NavigatorRight<cr>' },
{ '<C-\\>', '<cmd>NavigatorPrevious<cr>' },
},
config = function()
require('Navigator').setup()
end,
},
vim.keymap.set("n", "<leader>cI", "<cmd>CodeiumToggle<cr>", { desc = "Toggle IA (Codeium)" })
end,
},
{
"nacro90/numb.nvim",
event = "CmdlineEnter",
config = function()
require("numb").setup({
show_numbers = true, -- Enable 'number' for the window while peeking
show_cursorline = true, -- Enable 'cursorline' for the window while peeking
hide_relativenumbers = true, -- Enable turning off 'relativenumber' for the window while peeking
number_only = false, -- Peek only when the command is only a number instead of when it starts with a number
centered_peeking = true, -- Peeked line will be centered relative to window
})
end,
},
{
"NStefan002/screenkey.nvim",
cmd = "Screenkey",
version = "*",
vim.keymap.set("n", "<leader>kt", "<cmd>Screenkey<CR>", { desc = "Toggle keys" }),
config = function()
require("screenkey").setup({
win_opts = {
relative = "editor",
anchor = "SE",
width = 40,
height = 1,
border = "single",
},
compress_after = 3,
clear_after = 3,
disable = {
filetypes = {}, -- for example: "toggleterm"
buftypes = {}, -- for example: "terminal"
},
})
end,
},
{
"gbprod/yanky.nvim",
event = "BufReadPost",
keys = {
{ "<C-n>", "<Plug>(YankyCycleForward)" },
{ "<C-p>", "<Plug>(YankyCycleBackward)" },
{
"<leader>yp",
function()
require("telescope").extensions.yank_history.yank_history({})
end,
desc = "Open Yank History",
},
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" }, desc = "Yank text" },
{ "p", "<Plug>(YankyPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after cursor" },
{ "P", "<Plug>(YankyPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before cursor" },
{ "gp", "<Plug>(YankyGPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after selection" },
{ "gP", "<Plug>(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before selection" },
-- This is not plugin keymaps
{ "<leader>yP", "<cmd>CopyAbsolutePath<cr>", desc = "Absolute Path" },
{ "<leader>ya", "<cmd>%y+<cr>", desc = "Copy Whole File" },
{ "<leader>yf", "<cmd>CopyFileName<cr>", desc = "File Name" },
{ "<leader>yg", '<cmd>lua require"gitlinker".get_buf_range_url()<cr>', desc = "Copy Git URL" },
{ "<leader>yp", "<cmd>CopyRelativePath<cr>", desc = "Relative Path" },
},
opts = {
highlight = {
timer = 150,
},
},
},
{
{
"LudoPinelli/comment-box.nvim",
opts = {},
vscode = true,
keys = {
{ "<leader>Cb", "<cmd>CBccbox<CR>", mode = { "n", "v" }, desc = "Comment Box" },
{ "<leader>Ct", "<cmd>CBllline<CR>", mode = { "n", "v" }, desc = "Tiled line" },
{ "<leader>Cl", "<cmd>CBline<CR>", desc = "Line" },
{ "<leader>Cm", "<cmd>CBllbox14<CR>", mode = { "n", "v" }, desc = "Marked" },
{ "<leader>Cc", "<cmd>CBcatalog<CR>", desc = "Catalog" },
{ "<leader>Cd", "<cmd>CBd<CR>", mode = { "n", "v" }, desc = "Delete Comment Style" },
},
},
},
{
"m-demare/hlargs.nvim",
event = { "BufReadPost", "BufNewFile" },
},
{
"numToStr/Navigator.nvim",
keys = {
{ "<C-h>", "<cmd>NavigatorLeft<cr>" },
{ "<C-j>", "<cmd>NavigatorDown<cr>" },
{ "<C-k>", "<cmd>NavigatorUp<cr>" },
{ "<C-l>", "<cmd>NavigatorRight<cr>" },
{ "<C-\\>", "<cmd>NavigatorPrevious<cr>" },
},
config = function()
require("Navigator").setup()
end,
},
}
+33 -12
View File
@@ -1,14 +1,35 @@
return {
{
'bluz71/vim-moonfly-colors',
name = 'moonfly',
lazy = false,
priority = 1000,
config = function()
require('moonfly').custom_colors({
bg = '#000000',
})
vim.cmd([[colorscheme moonfly]])
end,
},
{
"navarasu/onedark.nvim",
lazy = false,
priority = 1000,
config = function()
local onedark = require("onedark")
local util = require("lib.util")
onedark.setup({
style = "deep",
transparent = true,
term_colors = false,
ending_tildes = false,
cmp_itemkind_reverse = false,
toggle_style_key = "<leader>mt",
toggle_style_list = { "dark", "darker", "cool", "warm", "warmer", "deep", "light" },
-- Options are italic, bold, underline, none and combos 'italic,bold'
code_style = {
comments = "italic",
keywords = "none",
functions = "none",
strings = "none",
variables = "none",
},
lualine = { transparent = true },
diagnostics = { darker = true, undercurl = true, background = false },
})
onedark.load()
end,
},
}
+245 -248
View File
@@ -1,50 +1,43 @@
return {
{
'echasnovski/mini.files',
version = false,
keys = {
{ '-', "<cmd>lua require('mini.files').open(vim.api.nvim_buf_get_name(0))<CR>", { silent = true } },
},
},
{
'nvim-neo-tree/neo-tree.nvim',
keys = {
{ '<leader>ee', ':Neotree toggle float<CR>', silent = true, desc = 'Float File Explorer' },
{ '<leader><tab>', ':Neotree toggle left<CR>', silent = true, desc = ' Left File Explorer' },
},
cmd = { 'Neotree' },
opts = {
filesystem = {
filtered_items = {
visible = true,
show_hidden_count = true,
hide_dotfiles = false,
hide_gitignored = true,
hide_by_name = {
'.git',
'.DS_Store',
'thumbs.db',
'.venv',
},
never_show = {},
},
},
window = {
position = 'right',
width = 35,
},
},
},
{
'folke/flash.nvim',
event = 'VeryLazy',
opts = {
modes = {
char = {
jump_labels = true,
},
},
},
{
"nvim-neo-tree/neo-tree.nvim",
keys = {
{ "<leader>ee", ":Neotree toggle float<CR>", silent = true, desc = "Float File Explorer" },
{ "<leader><tab>", ":Neotree toggle left<CR>", silent = true, desc = " Left File Explorer" },
},
cmd = { "Neotree" },
opts = {
filesystem = {
filtered_items = {
visible = true,
show_hidden_count = true,
hide_dotfiles = false,
hide_gitignored = true,
hide_by_name = {
".git",
".DS_Store",
"thumbs.db",
".venv",
},
never_show = {},
},
},
window = {
position = "right",
width = 35,
},
},
},
{
"folke/flash.nvim",
event = "VeryLazy",
opts = {
modes = {
char = {
jump_labels = true,
},
},
},
-- stylua: ignore
keys = {
{
@@ -74,208 +67,212 @@ return {
},
},
},
{
'folke/trouble.nvim',
lazy = true,
cmd = { 'Trouble', 'TroubleToggle', 'TroubleRefresh' },
opts = {
modes = {
lsp = {
win = { position = 'right' },
},
},
},
keys = {
{ '<leader>xx', '<cmd>Trouble diagnostics toggle<cr>', desc = 'Diagnostics (Trouble)' },
{ '<leader>xX', '<cmd>Trouble diagnostics toggle filter.buf=0<cr>', desc = 'Buffer Diagnostics (Trouble)' },
{ '<leader>xs', '<cmd>Trouble symbols toggle<cr>', desc = 'Symbols (Trouble)' },
{ '<leader>xS', '<cmd>Trouble lsp toggle<cr>', desc = 'LSP references/definitions/... (Trouble)' },
{ '<leader>xL', '<cmd>Trouble loclist toggle<cr>', desc = 'Location List (Trouble)' },
{ '<leader>xQ', '<cmd>Trouble qflist toggle<cr>', desc = 'Quickfix List (Trouble)' },
{
'[q',
function()
if require('trouble').is_open() then
require('trouble').prev({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cprev)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = 'Previous Trouble/Quickfix Item',
},
{
']q',
function()
if require('trouble').is_open() then
require('trouble').next({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cnext)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = 'Next Trouble/Quickfix Item',
},
},
},
{
'nvim-telescope/telescope.nvim',
cmd = 'Telescope',
version = false,
lazy = true,
dependencies = {
{ 'nvim-tree/nvim-web-devicons' },
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'zig' },
{ 'nvim-telescope/telescope-ui-select.nvim' },
{ 'nvim-telescope/telescope-symbols.nvim' },
{ 'nvim-telescope/telescope-file-browser.nvim' },
{ 'debugloop/telescope-undo.nvim' },
},
keys = {
{ '<leader>ff', '<cmd>Telescope find_files<cr>', desc = 'Find Files (CWD)' },
{ '<leader>fg', '<cmd>Telescope live_grep<cr>', desc = 'Live Grep' },
{ '<leader>fb', '<cmd>Telescope buffers<cr>', desc = 'Buffers' },
{ '<leader>fh', '<cmd>Telescope help_tags<cr>', desc = 'Find Help' },
{ '<leader>fo', '<cmd>Telescope oldfiles<cr>', desc = 'Old Recent Files' },
{ '<leader>fm', '<cmd>Telescope marks<cr>', desc = 'Marks' },
{ '<leader>fH', '<cmd>Telescope highlights<cr>', desc = 'Find Highlight Groups' },
{ '<leader>fG', '<cmd>Telescope grep_string<cr>', desc = 'Grep String' },
{ '<leader>kk', '<cmd>Telescope keymaps<cr>', desc = 'Keymaps' },
{ '<leader>kc', '<cmd>Telescope commands<cr>', desc = 'Commands' },
{ '<leader>kh', '<cmd>Telescope command_history<cr>', desc = 'Command History' },
{ '<leader>ks', '<cmd>Telescope search_history<cr>', desc = 'Search History' },
{ '<leader>fd', '<cmd>Telescope diagnostics<cr>', desc = 'Diagnostics' },
{ '<leader>ef', '<cmd>Telescope file_browser<cr>', desc = 'File Browser' },
{ '<leader>cr', '<cmd>Telescope reloader<cr>', desc = 'Reload Module' },
{ '<leader>cn', '<cmd>Telescope notify<cr>', desc = 'Notifications' },
{ '<leader>fu', '<cmd>Telescope undo<cr>', desc = 'Undo History' },
{ '<leader>fb', '<cmd>Telescope buffers<cr>', desc = 'Buffers' },
{ '<leader>fq', '<cmd>Telescope quickfix<cr>', desc = 'Quickfix' },
{ '<leader>fs', '<cmd>Telescope current_buffer_fuzzy_find<cr>', desc = 'Fuzzy Find in File' },
},
},
{
"folke/trouble.nvim",
lazy = true,
cmd = { "Trouble", "TroubleToggle", "TroubleRefresh" },
opts = {
modes = {
lsp = {
win = { position = "right" },
},
},
},
keys = {
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
{ "<leader>xs", "<cmd>Trouble symbols toggle<cr>", desc = "Symbols (Trouble)" },
{ "<leader>xS", "<cmd>Trouble lsp toggle<cr>", desc = "LSP references/definitions/... (Trouble)" },
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
{
"[q",
function()
if require("trouble").is_open() then
require("trouble").prev({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cprev)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = "Previous Trouble/Quickfix Item",
},
{
"]q",
function()
if require("trouble").is_open() then
require("trouble").next({ skip_groups = true, jump = true })
else
local ok, err = pcall(vim.cmd.cnext)
if not ok then
vim.notify(err, vim.log.levels.ERROR)
end
end
end,
desc = "Next Trouble/Quickfix Item",
},
},
},
{
"nvim-telescope/telescope.nvim",
cmd = "Telescope",
version = false,
lazy = true,
dependencies = {
{ "nvim-tree/nvim-web-devicons" },
{ "nvim-telescope/telescope-fzf-native.nvim", build = "zig" },
{ "nvim-telescope/telescope-ui-select.nvim" },
{ "nvim-telescope/telescope-symbols.nvim" },
{ "nvim-telescope/telescope-file-browser.nvim" },
{ "debugloop/telescope-undo.nvim" },
},
keys = {
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find Files (CWD)" },
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "Find Help" },
{ "<leader>fo", "<cmd>Telescope oldfiles<cr>", desc = "Old Recent Files" },
{ "<leader>fm", "<cmd>Telescope marks<cr>", desc = "Marks" },
{ "<leader>fH", "<cmd>Telescope highlights<cr>", desc = "Find Highlight Groups" },
{ "<leader>fG", "<cmd>Telescope grep_string<cr>", desc = "Grep String" },
{ "<leader>kk", "<cmd>Telescope keymaps<cr>", desc = "Keymaps" },
{ "<leader>kc", "<cmd>Telescope commands<cr>", desc = "Commands" },
{ "<leader>kh", "<cmd>Telescope command_history<cr>", desc = "Command History" },
{ "<leader>ks", "<cmd>Telescope search_history<cr>", desc = "Search History" },
{ "<leader>fd", "<cmd>Telescope diagnostics<cr>", desc = "Diagnostics" },
{ "<leader>ef", "<cmd>Telescope file_browser<cr>", desc = "File Browser" },
{ "<leader>cr", "<cmd>Telescope reloader<cr>", desc = "Reload Module" },
{ "<leader>cn", "<cmd>Telescope notify<cr>", desc = "Notifications" },
{ "<leader>fu", "<cmd>Telescope undo<cr>", desc = "Undo History" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
{ "<leader>fq", "<cmd>Telescope quickfix<cr>", desc = "Quickfix" },
{ "<leader>fs", "<cmd>Telescope current_buffer_fuzzy_find<cr>", desc = "Fuzzy Find in File" },
},
config = function()
require('configs.telescope')
end,
},
{
'smjonas/inc-rename.nvim',
cmd = 'IncRename',
config = true,
},
{
config = function()
require("configs.telescope")
end,
},
{
"smjonas/inc-rename.nvim",
cmd = "IncRename",
config = true,
},
{
'akinsho/toggleterm.nvim',
cmd = { 'ToggleTerm' },
version = 'v2.*',
keys = {
{ '<leader>t1', '<cmd>1ToggleTerm<cr>', desc = 'Toggle Terminal', mode = 'n' },
{ '<leader>t2', '<cmd>2ToggleTerm<cr>', desc = 'Toggle Terminal', mode = 'n' },
},
config = function()
require('configs.toggleterm')
end,
},
{
'2kabhishek/termim.nvim',
cmd = { 'Fterm', 'FTerm', 'Sterm', 'STerm', 'Vterm', 'VTerm' },
keys = {
{ '<leader>th', '<cmd>Sterm<cr>', desc = 'Horizontal Terminal' },
{ '<leader>tv', '<cmd>Vterm<cr>', desc = 'Vertical Terminal' },
},
},
{
'nvimdev/lspsaga.nvim',
lazy = true,
event = 'LspAttach',
config = function()
vim.keymap.set(
'n',
'<leader>lo',
'<cmd>Lspsaga outline<cr>',
{ desc = 'Lspsaga | Code Outline', silent = true }
)
require('lspsaga').setup({
ui = {
theme = 'round',
border = 'rounded',
winblend = 0,
expand = '',
collaspe = '',
preview = '',
code_action = '󱧣 ',
diagnostic = '',
hover = '',
kind = {},
},
lightbulb = {
enable = false,
enable_in_insert = true,
sign = true,
sign_priority = 40,
virtual_text = true,
},
symbol_in_winbar = {
enable = false,
separator = '',
hide_keyword = true,
show_file = true,
folder_level = 0,
},
})
end,
},
{
'HiPhish/rainbow-delimiters.nvim',
event = { 'BufReadPost', 'BufNewFile' },
config = function()
local rainbow_delimiters = require('rainbow-delimiters')
require('rainbow-delimiters.setup').setup({
{
strategy = {
[''] = rainbow_delimiters.strategy['global'],
vim = rainbow_delimiters.strategy['local'],
},
query = {
[''] = 'rainbow-delimiters',
lua = 'rainbow-blocks',
},
priority = {
[''] = 110,
lua = 210,
},
highlight = {
'RainbowDelimiterRed',
'RainbowDelimiterYellow',
'RainbowDelimiterBlue',
'RainbowDelimiterOrange',
'RainbowDelimiterGreen',
'RainbowDelimiterViolet',
'RainbowDelimiterCyan',
},
},
})
end,
},
{
'2kabhishek/tdo.nvim',
dependencies = 'nvim-telescope/telescope.nvim',
cmd = { 'Tdo', 'TdoEntry', 'TdoNote', 'TdoTodos', 'TdoToggle', 'TdoFind', 'TdoFiles' },
keys = {
{ '<leader>nd', '<cmd>Tdo<cr>', desc = "Today's Todo" },
{ '<leader>ne', '<cmd>TdoEntry<cr>', desc = "Today's Entry" },
{ '<leader>nf', '<cmd>TdoFiles<cr>', desc = 'All Notes' },
{ '<leader>ng', '<cmd>TdoFind<cr>', desc = 'Find Notes' },
{ '<leader>nh', '<cmd>Tdo -1<cr>', desc = "Yesterday's Todo" },
{ '<leader>nl', '<cmd>Tdo 1<cr>', desc = "Tomorrow's Todo" },
{ '<leader>nn', '<cmd>TdoNote<cr>', desc = 'New Note' },
{ '<leader>nt', '<cmd>TdoTodos<cr>', desc = 'Incomplete Todos' },
{ '<leader>nx', '<cmd>TdoToggle<cr>', desc = 'Toggle Todo' },
},
},
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm" },
version = "v2.*",
keys = {
{ "<leader>t1", "<cmd>1ToggleTerm<cr>", desc = "Toggle Terminal", mode = "n" },
{ "<leader>t2", "<cmd>2ToggleTerm<cr>", desc = "Toggle Terminal", mode = "n" },
},
config = function()
require("configs.toggleterm")
end,
},
{
"2kabhishek/termim.nvim",
cmd = { "Fterm", "FTerm", "Sterm", "STerm", "Vterm", "VTerm" },
keys = {
{ "<leader>th", "<cmd>Sterm<cr>", desc = "Horizontal Terminal" },
{ "<leader>tv", "<cmd>Vterm<cr>", desc = "Vertical Terminal" },
},
},
{
"nvimdev/lspsaga.nvim",
lazy = true,
event = "LspAttach",
config = function()
vim.keymap.set(
"n",
"<leader>lo",
"<cmd>Lspsaga outline<cr>",
{ desc = "Lspsaga | Code Outline", silent = true }
)
local icons = require("lib.icons")
require("lspsaga").setup({
ui = {
theme = "round",
border = "rounded",
devicon = true,
title = true,
winblend = 1,
expand = icons.ui.ArrowOpen,
collapse = icons.ui.ArrowClosed,
preview = icons.ui.List,
code_action = icons.diagnostics.Hint,
diagnostic = icons.ui.Bug,
incoming = icons.ui.Incoming,
outgoing = icons.ui.Outgoing,
hover = icons.ui.Comment,
},
lightbulb = {
enable = false,
enable_in_insert = true,
sign = true,
sign_priority = 40,
virtual_text = true,
},
symbol_in_winbar = {
enable = false,
separator = "",
hide_keyword = true,
show_file = true,
folder_level = 0,
},
})
end,
},
{
"HiPhish/rainbow-delimiters.nvim",
event = { "BufReadPost", "BufNewFile" },
config = function()
local rainbow_delimiters = require("rainbow-delimiters")
require("rainbow-delimiters.setup").setup({
{
strategy = {
[""] = rainbow_delimiters.strategy["global"],
vim = rainbow_delimiters.strategy["local"],
},
query = {
[""] = "rainbow-delimiters",
lua = "rainbow-blocks",
},
priority = {
[""] = 110,
lua = 210,
},
highlight = {
"RainbowDelimiterRed",
"RainbowDelimiterYellow",
"RainbowDelimiterBlue",
"RainbowDelimiterOrange",
"RainbowDelimiterGreen",
"RainbowDelimiterViolet",
"RainbowDelimiterCyan",
},
},
})
end,
},
{
"2kabhishek/tdo.nvim",
dependencies = "nvim-telescope/telescope.nvim",
cmd = { "Tdo", "TdoEntry", "TdoNote", "TdoTodos", "TdoToggle", "TdoFind", "TdoFiles" },
keys = {
{ "<leader>nd", "<cmd>Tdo<cr>", desc = "Today's Todo" },
{ "<leader>ne", "<cmd>TdoEntry<cr>", desc = "Today's Entry" },
{ "<leader>nf", "<cmd>TdoFiles<cr>", desc = "All Notes" },
{ "<leader>ng", "<cmd>TdoFind<cr>", desc = "Find Notes" },
{ "<leader>nh", "<cmd>Tdo -1<cr>", desc = "Yesterday's Todo" },
{ "<leader>nl", "<cmd>Tdo 1<cr>", desc = "Tomorrow's Todo" },
{ "<leader>nn", "<cmd>TdoNote<cr>", desc = "New Note" },
{ "<leader>nt", "<cmd>TdoTodos<cr>", desc = "Incomplete Todos" },
{ "<leader>nx", "<cmd>TdoToggle<cr>", desc = "Toggle Todo" },
},
},
}
+63
View File
@@ -0,0 +1,63 @@
return {
"stevearc/conform.nvim",
enabled = false,
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
conform.setup({
formatters_by_ft = {
cpp = { "clang-format" },
c = { "clang-format" },
javascript = { "prettier" },
typescript = { "prettier" },
javascriptreact = { "prettier", "biome" },
typescriptreact = { "prettier" },
css = { "prettier" },
html = { "prettier" },
json = { "prettier" },
markdown = { "markdownlint", "prettier" },
lua = { "stylua" },
python = { "isort", "black" },
php = { "php-cs-fixer" },
java = { "google-java-formatter", "trivy" },
graphql = { "prettier" },
},
format_on_save = function(bufnr)
-- Disable with a global or buffer-local variable
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
return {
lsp_fallback = true,
async = false,
timeout_ms = 500,
}
end,
})
vim.keymap.set({ "n", "v" }, "<leader>cf", function()
conform.format({
lsp_fallback = true,
async = true,
timeout_ms = 1000,
})
end, { desc = "Format file or range (in visual mode)" })
vim.keymap.set({ "n" }, "<leader>cfb", function()
vim.b.disable_autoformat = not vim.b.disable_autoformat
vim.notify(
"Buffer auto-format on-save: " .. (vim.b.disable_autoformat and "OFF" or "ON"),
vim.log.levels.INFO
)
end, { desc = "Toggle auto-format on-save for buffer." })
vim.keymap.set({ "n" }, "<leader>ftg", function()
vim.g.disable_autoformat = not vim.g.disable_autoformat
vim.notify(
"Global auto-format on-save: " .. (vim.g.disable_autoformat and "OFF" or "ON"),
vim.log.levels.INFO
)
end, { desc = "Toggle auto-format on-save globally." })
end,
}
+27
View File
@@ -0,0 +1,27 @@
return {
"mfussenegger/nvim-lint",
enabled = false,
event = { "BufReadPre", "BufNewFile" },
opts = {
linters_by_ft = {
lua = { "selene" },
cpp = { "cpplint" },
c = { "cpplint" },
javascript = { "eslint_d" },
typescript = { "eslint_d" },
javascriptreact = { "eslint_d" },
typescriptreact = { "eslint_d" },
python = { "pylint" },
markdown = { "markdownlint" },
java = { "trivy" },
php = { "phpcs" },
},
},
config = function()
local lint = require("lint")
-- TODO create auto command ran after Buffer Wrote
vim.keymap.set("n", "<leader>cl", function()
lint.try_lint()
end, { desc = "Trigger linting for current file" })
end,
}
+22 -22
View File
@@ -1,24 +1,24 @@
return {
{
'williamboman/mason.nvim',
cmd = { 'Mason', 'MasonInstall', 'MasonInstallAll', 'MasonUpdate' },
dependencies = {
{ 'williamboman/mason-lspconfig.nvim', event = { 'BufReadPre', 'BufNewFile' } },
{ 'WhoIsSethDaniel/mason-tool-installer.nvim' },
{ 'zapling/mason-lock.nvim', cmd = { 'MasonLock', 'MasonLockRestore' }, opts = {} },
},
config = function()
require('mason').setup()
end,
},
{
'nvimtools/none-ls.nvim', -- configure formatters & linters
event = { 'BufRead', 'FileType' },
dependencies = {
'jay-babu/mason-null-ls.nvim',
},
config = function()
require('configs.none-ls')
end,
},
{
"williamboman/mason.nvim",
cmd = { "Mason", "MasonInstall", "MasonInstallAll", "MasonUpdate" },
dependencies = {
{ "williamboman/mason-lspconfig.nvim", event = { "BufReadPre", "BufNewFile" } },
{ "WhoIsSethDaniel/mason-tool-installer.nvim" },
{ "zapling/mason-lock.nvim", cmd = { "MasonLock", "MasonLockRestore" }, opts = {} },
},
config = function()
require("mason").setup()
end,
},
{
"nvimtools/none-ls.nvim", -- configure formatters & linters
event = { "BufRead", "FileType" },
dependencies = {
"jay-babu/mason-null-ls.nvim",
},
config = function()
require("configs.none-ls")
end,
},
}
+79 -57
View File
@@ -1,60 +1,82 @@
return {
{
'echasnovski/mini.nvim',
event = { 'BufReadPost', 'BufAdd', 'BufNewFile' },
version = false,
config = function()
require('mini.comment').setup({})
require('mini.ai').setup({})
require('mini.cursorword').setup()
-- require("mini.tabline").setup()
require('mini.bracketed').setup({
file = { suffix = '' },
window = { suffix = '' },
quickfix = { suffix = '' },
yank = { suffix = '' },
treesitter = { suffix = 'n' },
})
require('mini.surround').setup({
mappings = {
add = 'gsa', -- Add surrounding in Normal and Visual modes
delete = 'gsd', -- Delete surrounding
replace = 'gsr', -- Replace surrounding
find = 'gsf', -- Find surrounding (to the right)
find_left = 'gsF', -- Find surrounding (to the left)
highlight = 'gsh', -- Highlight surrounding
update_n_lines = 'gsn', -- Update `n_lines`
},
keys = {
{ 'gz', '', desc = '+surround' },
},
})
require('mini.pairs').setup({
odes = { command = true },
mappings = {
['<'] = { action = 'open', pair = '<>', neigh_pattern = '[^\\].' },
['>'] = { action = 'close', pair = '<>', neigh_pattern = '[^\\].' },
},
})
require('mini.move').setup({
keys = {
{ '<M-Left>', mode = { 'n', 'v' } },
{ '<M-Down>', mode = { 'n', 'v' } },
{ '<M-Up>', mode = { 'n', 'v' } },
{ '<M-Right>', mode = { 'n', 'v' } },
},
{
"echasnovski/mini.nvim",
event = { "BufReadPost", "BufAdd", "BufNewFile" },
version = false,
config = function()
require("mini.comment").setup({})
require("mini.ai").setup({})
require("mini.cursorword").setup()
require("mini.bracketed").setup({
file = { suffix = "" },
window = { suffix = "" },
quickfix = { suffix = "" },
yank = { suffix = "" },
treesitter = { suffix = "n" },
})
require("mini.surround").setup({
mappings = {
add = "gsa", -- Add surrounding in Normal and Visual modes
delete = "gsd", -- Delete surrounding
replace = "gsr", -- Replace surrounding
find = "gsf", -- Find surrounding (to the right)
find_left = "gsF", -- Find surrounding (to the left)
highlight = "gsh", -- Highlight surrounding
update_n_lines = "gsn", -- Update `n_lines`
},
keys = {
{ "gz", "", desc = "+surround" },
},
})
require("mini.pairs").setup({
-- odes = { command = true },
-- mappings = {
-- ['<'] = { action = 'open', pair = '<>', neigh_pattern = '[^\\].' },
-- ['>'] = { action = 'close', pair = '<>', neigh_pattern = '[^\\].' },
-- },
})
require("mini.move").setup({
keys = {
{ "<M-Left>", mode = { "n", "v" } },
{ "<M-Down>", mode = { "n", "v" } },
{ "<M-Up>", mode = { "n", "v" } },
{ "<M-Right>", mode = { "n", "v" } },
},
mappings = {
left = '<M-Left>',
line_left = '<M-Left>',
right = '<M-Right>',
line_right = '<M-Right>',
down = '<M-Down>',
line_down = '<M-Down>',
up = '<M-Up>',
line_up = '<M-Up>',
},
})
end,
},
mappings = {
left = "<M-Left>",
line_left = "<M-Left>",
right = "<M-Right>",
line_right = "<M-Right>",
down = "<M-Down>",
line_down = "<M-Down>",
up = "<M-Up>",
line_up = "<M-Up>",
},
})
end,
},
{
"echasnovski/mini.files",
version = false,
keys = {
{ "-", "<cmd>lua require('mini.files').open(vim.api.nvim_buf_get_name(0))<CR>", { silent = true } },
},
},
{
"echasnovski/mini.icons",
opts = {},
lazy = true,
specs = {
{ "nvim-tree/nvim-web-devicons", enabled = false, optional = true },
},
init = function()
package.preload["nvim-web-devicons"] = function()
-- needed since it will be false when loading and mini will fail
package.loaded["nvim-web-devicons"] = {}
require("mini.icons").mock_nvim_web_devicons()
return package.loaded["nvim-web-devicons"]
end
end,
},
}
+193 -165
View File
@@ -1,170 +1,198 @@
return {
{
'folke/persistence.nvim',
event = 'BufReadPre',
opts = { options = vim.opt.sessionoptions:get() },
keys = {
{
'<leader>ms',
function()
require('persistence').load()
end,
desc = 'Restore Session',
},
{
'<leader>ml',
function()
require('persistence').load({ last = true })
end,
desc = 'Restore Last Session',
},
{
'<leader>md',
function()
require('persistence').stop()
end,
desc = "Don't Save Current Session",
},
},
},
{
'nvim-lua/plenary.nvim',
lazy = true,
},
{
'iamcco/markdown-preview.nvim',
build = 'cd app && yarn install',
ft = { 'markdown' },
keys = {
{
'<leader>cm',
'<cmd>MarkdownPreviewToggle<CR>',
desc = 'toggle markdown preview',
},
},
},
{
'nvim-pack/nvim-spectre',
build = false,
cmd = 'Spectre',
opts = { open_cmd = 'noswapfile vnew' },
keys = {
{
'<leader>mr',
function()
require('spectre').open()
end,
desc = 'Replace in Files (Spectre)',
},
},
},
{
'szw/vim-maximizer',
{
"ThePrimeagen/refactoring.nvim",
config = function()
require("refactoring").setup()
-- vim.keymap.set("x", "<leader>re", ":Refactor extract ")
-- vim.keymap.set("x", "<leader>rf", ":Refactor extract_to_file ")
--
-- vim.keymap.set("x", "<leader>rv", ":Refactor extract_var ")
--
-- vim.keymap.set({ "n", "x" }, "<leader>ri", ":Refactor inline_var")
--
-- vim.keymap.set("n", "<leader>rI", ":Refactor inline_func")
--
-- vim.keymap.set("n", "<leader>rb", ":Refactor extract_block")
-- vim.keymap.set("n", "<leader>rbf", ":Refactor extract_block_to_file")
-- load refactoring Telescope extension
require("telescope").load_extension("refactoring")
keys = {
{ '<leader>mm', '<cmd>MaximizerToggle<CR>', desc = 'Maximize/minimize a split' },
},
},
{
'folke/zen-mode.nvim',
cmd = { 'ZenMode' },
opts = {},
keys = {
{ '<leader>wz', '<cmd>ZenMode<cr>', desc = 'Toggle zen mode' },
},
},
{
'chrisgrieser/nvim-recorder',
dependencies = { 'rcarriga/nvim-notify' },
event = 'VeryLazy',
vscode = true,
keys = {
{ 'q', desc = 'Start Recording' },
{ 'Q', desc = 'Play Recording' },
{ '<C-q>', desc = 'Switch Slot' },
{ 'cq', desc = 'Edit Macro' },
{ 'yq', desc = 'Yank Macro' },
{ 'dq', desc = 'Delete All Macros' },
},
opts = {
useNerdFontsIcons = false,
slots = { 'a', 'b', 'c', 'd' },
mapping = {
startStopRecording = 'q',
playMacro = 'Q',
editMacro = 'cq',
switchSlot = '<C-q>',
deleteAllMacros = 'dq',
yankMacro = 'yq',
},
},
},
{
'creativenull/dotfyle-metadata.nvim',
cmd = { 'DotfyleGenerate', 'DotfyleOpen' },
},
{
'willothy/flatten.nvim',
priority = 1001,
opts = {
window = {
open = 'alternate',
},
},
},
{
'wakatime/vim-wakatime',
lazy = false,
},
{
'mvllow/modes.nvim',
event = { 'BufReadPost', 'BufNewFile' },
tag = 'v0.2.0',
config = function()
require('modes').setup({
vim.keymap.set({ "n", "x" }, "<leader>rr", function()
require("telescope").extensions.refactoring.refactors()
end, { desc = "Refactor" })
end,
},
{
"2kabhishek/nerdy.nvim",
dependencies = { "stevearc/dressing.nvim" },
cmd = "Nerdy",
},
{
"folke/persistence.nvim",
event = "BufReadPre",
opts = { options = vim.opt.sessionoptions:get() },
keys = {
{
"<leader>ms",
function()
require("persistence").load()
end,
desc = "Restore Session",
},
{
"<leader>ml",
function()
require("persistence").load({ last = true })
end,
desc = "Restore Last Session",
},
{
"<leader>md",
function()
require("persistence").stop()
end,
desc = "Don't Save Current Session",
},
},
},
{
"nvim-lua/plenary.nvim",
lazy = true,
},
{
"iamcco/markdown-preview.nvim",
build = "cd app && yarn install",
ft = { "markdown" },
keys = {
{
"<leader>cm",
"<cmd>MarkdownPreviewToggle<CR>",
desc = "toggle markdown preview",
},
},
},
{
"nvim-pack/nvim-spectre",
build = false,
cmd = "Spectre",
opts = { open_cmd = "noswapfile vnew" },
keys = {
{
"<leader>mr",
function()
require("spectre").open()
end,
desc = "Replace in Files (Spectre)",
},
},
},
{
"szw/vim-maximizer",
colors = {
visual = '#f5c359',
delete = '#c75c6a',
copy = '#78ccc5',
insert = '#c5739a',
},
line_opacity = 0.15,
set_cursor = true,
set_cursorline = true,
set_number = true,
ignore_filetypes = { 'NvimTree', 'TelescopePrompt' },
})
end,
},
{
'LunarVim/bigfile.nvim',
event = { 'BufEnter', 'WinEnter' },
opts = {
-- Disables LSP/treesitter, etc for files above 5000 lives (even if they have really long lines)
pattern = function(bufnr, filesize_mib)
if filesize_mib >= 2 then
return true
end
-- you can't use `nvim_buf_line_count` because this runs on BufReadPre
local file_contents = vim.fn.readfile(vim.api.nvim_buf_get_name(bufnr))
local file_length = #file_contents
if file_length > 5000 then
return true
end
keys = {
{ "<leader>mm", "<cmd>MaximizerToggle<CR>", desc = "Maximize/minimize a split" },
},
},
{
"folke/zen-mode.nvim",
cmd = { "ZenMode" },
opts = {},
keys = {
{ "<leader>wz", "<cmd>ZenMode<cr>", desc = "Toggle zen mode" },
},
},
{
"chrisgrieser/nvim-recorder",
dependencies = { "rcarriga/nvim-notify" },
event = "VeryLazy",
vscode = true,
keys = {
{ "q", desc = "Start Recording" },
{ "Q", desc = "Play Recording" },
{ "<C-q>", desc = "Switch Slot" },
{ "cq", desc = "Edit Macro" },
{ "yq", desc = "Yank Macro" },
{ "dq", desc = "Delete All Macros" },
},
opts = {
useNerdFontsIcons = false,
slots = { "a", "b", "c", "d" },
mapping = {
startStopRecording = "q",
playMacro = "Q",
editMacro = "cq",
switchSlot = "<C-q>",
deleteAllMacros = "dq",
yankMacro = "yq",
},
},
},
{
"creativenull/dotfyle-metadata.nvim",
cmd = { "DotfyleGenerate", "DotfyleOpen" },
},
{
"willothy/flatten.nvim",
priority = 1001,
opts = {
window = {
open = "alternate",
},
},
},
{
"wakatime/vim-wakatime",
lazy = false,
},
{
"mvllow/modes.nvim",
event = { "BufReadPost", "BufNewFile" },
tag = "v0.2.0",
config = function()
require("modes").setup({
return false
end,
},
},
{
'm4xshen/hardtime.nvim',
config = function()
require('hardtime').setup({ enabled = true })
end,
cmd = 'Hardtime',
init = function()
vim.keymap.set('n', '<leader>ch', '<cmd>HardtimeToggle<cr>', { desc = 'Toggle Hardtime' })
end,
},
colors = {
visual = "#f5c359",
delete = "#c75c6a",
copy = "#78ccc5",
insert = "#c5739a",
},
line_opacity = 0.15,
set_cursor = true,
set_cursorline = true,
set_number = true,
ignore_filetypes = { "NvimTree", "TelescopePrompt" },
})
end,
},
{
"LunarVim/bigfile.nvim",
event = { "BufEnter", "WinEnter" },
opts = {
-- Disables LSP/treesitter, etc for files above 5000 lives (even if they have really long lines)
pattern = function(bufnr, filesize_mib)
if filesize_mib >= 2 then
return true
end
-- you can't use `nvim_buf_line_count` because this runs on BufReadPre
local file_contents = vim.fn.readfile(vim.api.nvim_buf_get_name(bufnr))
local file_length = #file_contents
if file_length > 5000 then
return true
end
return false
end,
},
},
{
"m4xshen/hardtime.nvim",
config = function()
require("hardtime").setup({ enabled = true })
end,
cmd = "Hardtime",
init = function()
vim.keymap.set("n", "<leader>ch", "<cmd>HardtimeToggle<cr>", { desc = "Toggle Hardtime" })
end,
},
}
+184 -219
View File
@@ -1,222 +1,187 @@
return {
{
'rcarriga/nvim-notify',
event = 'VeryLazy',
keys = {
{
'<leader>mn',
function()
require('notify').dismiss({ silent = true, pending = true })
end,
desc = 'Dismiss All Notifications',
},
},
opts = {
level = 2,
minimum_width = 50,
stages = 'fade',
timeout = 3000,
top_down = true,
render = 'compact',
background_colour = '#000000',
},
},
{
'folke/noice.nvim',
event = 'UIEnter',
dependencies = {
{ 'MunifTanjim/nui.nvim', lazy = true },
'rcarriga/nvim-notify',
},
opts = {
cmdline = {
view = 'cmdline',
format = {
cmdline = { icon = '▍' },
substitute = {
pattern = '^:%%?s/',
icon = '',
ft = 'regex',
opts = { border = { text = { top = ' sub (old/new/) ' } } },
},
input = { view = 'cmdline_input', icon = '█' },
},
},
routes = {
{
view = 'notify',
filter = { event = 'msg_showmode' },
},
{
filter = {
event = 'msg_show',
kind = '',
find = 'written',
},
opts = { skip = true },
},
},
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.
format = 'lsp_progress',
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
opts = {}, -- merged with defaults from documentation
},
signature = {
enabled = false,
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
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',
opts = {
lang = 'markdown',
replace = true,
render = 'plain',
format = { '{message}' },
win_options = { concealcursor = 'n', conceallevel = 3 },
},
},
},
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = false, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = true, -- add a border to hover docs and signature help
},
},
},
{
'stevearc/dressing.nvim',
event = 'VeryLazy',
},
{
'akinsho/bufferline.nvim',
event = 'UIEnter',
version = '*',
config = function()
require('bufferline').setup({
options = {
close_command = function()
require('bufdelete').bufdelete(0, true)
end,
right_mouse_command = function()
require('bufdelete').bugdelete(0, false)
end,
diagnostics = 'nvim_lsp',
always_show_bufferline = true,
buffer_close_icon = '',
modified_icon = '',
close_icon = '',
left_trunc_marker = '',
right_trunc_marker = '',
offsets = {
{
filetype = 'neo-tree',
text = 'Neo-tree',
highlight = 'Directory',
text_align = 'left',
},
},
},
})
end,
},
{
'nvim-lualine/lualine.nvim',
event = { 'BufReadPost', 'BufNewFile' },
config = function()
require('configs.lualine')
end,
},
{
'nvim-tree/nvim-web-devicons',
config = true,
},
{
'lukas-reineke/indent-blankline.nvim',
main = 'ibl',
event = { 'BufReadPost', 'BufNewFile' },
opts = {
exclude = {
filetypes = { 'help', 'alpha', 'dashboard', 'neo-tree', 'Trouble', 'lazy' },
},
},
},
{
"rcarriga/nvim-notify",
event = "VeryLazy",
keys = {
{
"<leader>mn",
function()
require("notify").dismiss({ silent = true, pending = true })
end,
desc = "Dismiss All Notifications",
},
},
opts = {
level = 2,
minimum_width = 50,
stages = "fade",
timeout = 3000,
top_down = true,
render = "compact",
background_colour = "#000000",
},
},
{
"folke/noice.nvim",
event = "UIEnter",
dependencies = {
{ "MunifTanjim/nui.nvim", lazy = true },
"rcarriga/nvim-notify",
},
opts = {
cmdline = {
view = "cmdline",
format = {
cmdline = { icon = "▍" },
substitute = {
pattern = "^:%%?s/",
icon = "",
ft = "regex",
opts = { border = { text = { top = " sub (old/new/) " } } },
},
input = { view = "cmdline_input", icon = "█" },
},
},
routes = {
{
view = "notify",
filter = { event = "msg_showmode" },
},
{
filter = {
event = "msg_show",
kind = "",
find = "written",
},
opts = { skip = true },
},
},
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.
format = "lsp_progress",
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
opts = {}, -- merged with defaults from documentation
},
signature = {
enabled = false,
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
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",
opts = {
lang = "markdown",
replace = true,
render = "plain",
format = { "{message}" },
win_options = { concealcursor = "n", conceallevel = 3 },
},
},
},
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = false, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = true, -- add a border to hover docs and signature help
},
},
},
{
"stevearc/dressing.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local dressing = require("dressing")
{
'utilyre/barbecue.nvim',
name = 'barbecue',
version = '*',
event = { 'BufReadPost', 'BufAdd', 'BufNewFile' },
dependencies = {
'SmiteshP/nvim-navic',
},
opts = {},
keys = {
{
'<leader>bq',
function()
require('barbecue.ui').toggle()
end,
desc = 'toggle barbecue',
},
},
config = function()
require('barbecue').setup({
create_autocmd = false, -- prevent barbecue from updating itself automatically
})
vim.api.nvim_create_autocmd({
'WinScrolled', -- or WinResized on NVIM-v0.9 and higher
'BufWinEnter',
'CursorHold',
'InsertLeave',
}, {
group = vim.api.nvim_create_augroup('barbecue.updater', {}),
callback = function()
require('barbecue.ui').update()
end,
})
end,
},
{
'goolord/alpha-nvim',
event = 'VimEnter',
config = function()
require('configs.alpha')
end,
},
dressing.setup({
win_options = {
winblend = 10,
winhighlight = "Normal:DressingInputNormalFloat,NormalFloat:DressingInputNormalFloat,FloatBorder:DressingInputFloatBorder",
},
input = {
enabled = true,
default_prompt = "Input:",
prompt_align = "left",
insert_only = true,
start_in_insert = true,
border = "rounded",
relative = "cursor",
prefer_width = 40,
width = nil,
max_width = { 140, 0.9 },
min_width = { 20, 0.2 },
get_config = nil,
},
select = {
enabled = true,
backend = { "telescope", "fzf_lua", "fzf", "nui", "builtin" },
trim_prompt = true,
},
})
end,
},
{
"nvim-lualine/lualine.nvim",
event = { "BufReadPost", "BufNewFile" },
config = function()
require("configs.lualine")
end,
},
-- {
-- "nvim-tree/nvim-web-devicons",
-- config = true,
-- },
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
event = { "BufReadPost", "BufNewFile" },
opts = {
exclude = {
filetypes = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy" },
},
},
},
{
"nvimdev/dashboard-nvim",
cmd = "Dashboard",
config = function()
require("configs.dashboard")
end,
event = function()
if vim.fn.argc() == 0 then
return "VimEnter"
end
end,
},
}
+9 -4
View File
@@ -1,13 +1,17 @@
local icons = require("lib.icons")
return {
"folke/which-key.nvim",
event = "UIEnter",
opts = {
preset = "helix",
icons = {
breadcrumb = "",
separator = "",
breadcrumb = icons.ui.ArrowOpen,
separator = icons.ui.Arrow,
group = "",
rules = false,
keys = {
Space = icons.ui.Rocket,
},
rules = false, -- enable auto icon rules
},
triggers = {
{ "<auto>", mode = "nixsotc" },
@@ -30,6 +34,7 @@ return {
{ "<leader>m", group = "󰠠 Misc" },
{ "<leader>n", group = " Notes" },
{ "<leader>q", group = " Quit" },
{ "<leader>r", group = " Run" },
{ "<leader>s", group = " Split" },
{ "<leader>t", group = " Terminal" },
{ "<leader>u", group = " Test" },
@@ -51,7 +56,7 @@ return {
{ "<leader>cR", "<cmd>ReloadConfig<cr>", desc = "Reload Configs" },
{ "<leader>cd", "<cmd>RootDir<cr>", desc = "Root Directory" },
{ "<leader>cc", "<cmd>:g/^\\s*$/d<cr>", desc = "Clean Empty Lines" },
{ "<leader>co", "<cmd>Alpha<cr>", desc = "Alpha" },
{ "<leader>co", "<cmd>Dashboard<cr>", desc = "Dashboard" },
{ "<leader>cr", "<cmd>Telescope reloader<cr>", desc = "Reload Module" },
--edit
{ "<leader>ea", "<cmd>b#<cr>", desc = "Alternate File" },