feat(nvim): updated config to use vim.pack instead of lazy
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
return {
|
||||
{ 'j-hui/fidget.nvim', lazy = true },
|
||||
{
|
||||
"utilyre/barbecue.nvim",
|
||||
dependencies = {
|
||||
{ 'SmiteshP/nvim-navic', lazy = true },
|
||||
},
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
---@type Flash.Config
|
||||
opts = {
|
||||
modes = {
|
||||
char = {
|
||||
jump_labels = true,
|
||||
search = { wrap = true },
|
||||
highlight = { backdrop = false },
|
||||
},
|
||||
search = {
|
||||
-- when `true`, flash will be activated during regular search by default.
|
||||
-- You can always toggle when searching with `require("flash").toggle()`
|
||||
enabled = true,
|
||||
highlight = { backdrop = false },
|
||||
jump = { history = true, register = true, nohlsearch = true, autojump = true },
|
||||
search = {
|
||||
wrap = true,
|
||||
-- `forward` will be automatically set to the search direction
|
||||
-- `mode` is always set to `search`
|
||||
-- `incremental` is set to `true` when `incsearch` is enabled
|
||||
},
|
||||
},
|
||||
treesitter = {
|
||||
search = { wrap = true },
|
||||
}
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>/", mode = { "n" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||
{ "s", mode = { "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||
{ "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
|
||||
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
|
||||
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
notifier = {
|
||||
timeout = 4000,
|
||||
},
|
||||
picker = {
|
||||
win = {
|
||||
input = {
|
||||
keys = {
|
||||
["<a-s>"] = { "flash", mode = { "n", "i" } },
|
||||
["s"] = { "flash" },
|
||||
},
|
||||
},
|
||||
},
|
||||
actions = {
|
||||
flash = function(picker)
|
||||
require("flash").jump({
|
||||
pattern = "^",
|
||||
label = { after = { 0, 0 } },
|
||||
search = {
|
||||
mode = "search",
|
||||
exclude = {
|
||||
function(win)
|
||||
return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list"
|
||||
end,
|
||||
},
|
||||
},
|
||||
action = function(match)
|
||||
local idx = picker.list:row2idx(match.pos[1])
|
||||
picker.list:_move(idx, true, true)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
local function truncate_branch_name(branch)
|
||||
if not branch or branch == "" then
|
||||
return ""
|
||||
end
|
||||
|
||||
-- Match the branch name to the specified format
|
||||
local _, _, ticket_number = string.find(branch, "skdillon/sko%-(%d+)%-")
|
||||
|
||||
-- If the branch name matches the format, display sko-{ticket_number}, otherwise display the full branch name
|
||||
if ticket_number then
|
||||
return "sko-" .. ticket_number
|
||||
else
|
||||
return branch
|
||||
end
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
-- theme = "rose-pine",
|
||||
globalstatus = true,
|
||||
-- component_separators = { left = "", right = "" },
|
||||
-- section_separators = { left = "█", right = "█" },
|
||||
icons_enabled = true,
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
tabline = {
|
||||
lualine_a = {},
|
||||
lualine_b = {'branch'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {}
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_b = {
|
||||
{ "branch", icon = "", fmt = truncate_branch_name },
|
||||
"diff",
|
||||
"diagnostics",
|
||||
},
|
||||
lualine_c = {
|
||||
{ 'lsp_progress' },
|
||||
{
|
||||
'buffers',
|
||||
show_filename_only = true, -- Shows shortened relative path when set to false.
|
||||
hide_filename_extension = false, -- Hide filename extension when set to true.
|
||||
show_modified_status = true, -- Shows indicator when the buffer is modified.
|
||||
mode = 0,
|
||||
max_length = vim.o.columns * 2 / 3,
|
||||
filetype_names = {
|
||||
TelescopePrompt = ' ',
|
||||
},
|
||||
-- it can also be a function that returns
|
||||
-- the value of `max_length` dynamically.
|
||||
use_mode_colors = false,
|
||||
symbols = {
|
||||
modified = ' ●', -- Text to show when the buffer is modified
|
||||
alternate_file = '#', -- Text to show to identify the alternate file
|
||||
directory = '', -- Text to show when the buffer is a directory
|
||||
},
|
||||
},
|
||||
},
|
||||
lualine_x = {
|
||||
"windows",
|
||||
"fileformat",
|
||||
"filetype",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hedyhli/outline.nvim",
|
||||
lazy = true,
|
||||
cmd = { "Outline", "OutlineOpen" },
|
||||
keys = { -- Example mapping to toggle outline
|
||||
{ "<leader>so", "<cmd>Outline<CR>", desc = "Toggle outline" },
|
||||
},
|
||||
opts = {
|
||||
symbol_folding = {
|
||||
-- Unfold entire symbol tree by default with false, otherwise enter a
|
||||
-- number starting from 1
|
||||
autofold_depth = false,
|
||||
-- autofold_depth = 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'stevearc/quicker.nvim',
|
||||
ft = "qf",
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"christoomey/vim-tmux-navigator",
|
||||
cmd = {
|
||||
"TmuxNavigateLeft",
|
||||
"TmuxNavigateDown",
|
||||
"TmuxNavigateUp",
|
||||
"TmuxNavigateRight",
|
||||
"TmuxNavigatePrevious",
|
||||
},
|
||||
keys = {
|
||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||
-- { "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||
},
|
||||
},
|
||||
{
|
||||
'akinsho/toggleterm.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("toggleterm").setup({
|
||||
-- highlights = require("rose-pine.plugins.toggleterm"),
|
||||
size = 20,
|
||||
open_mapping = [[<c-\>]],
|
||||
hide_numbers = true,
|
||||
shade_terminals = true,
|
||||
shading_factor = 2,
|
||||
start_in_insert = true,
|
||||
insert_mappings = true,
|
||||
persiste_size = true,
|
||||
direction = 'horizontal',
|
||||
close_on_exit = true,
|
||||
float_opts = {
|
||||
border = "curved",
|
||||
}
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{ "<Esc><Esc>", "<c-\\><c-n>", desc = "Escape input", mode = { "t" } }
|
||||
},
|
||||
},
|
||||
{
|
||||
'ten3roberts/window-picker.nvim',
|
||||
opts = {
|
||||
-- Default keys to annotate, keys will be used in order. The default uses the
|
||||
-- most accessible keys from the home row and then top row.
|
||||
keys = 'alskdjfhgwoeiruty',
|
||||
-- Swap windows by holding shift + letter
|
||||
swap_shift = true,
|
||||
-- Windows containing filetype to exclude
|
||||
exclude = { qf = true, NvimTree = true, aerial = true },
|
||||
-- Flash the cursor line of the newly focused window for 300ms.
|
||||
-- Set to 0 or false to disable.
|
||||
flash_duration = 300,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>a", "<cmd>WindowPick<cr>", desc = "Windows Pick"},
|
||||
{ "<C-w>a", "<cmd>WindowPick<cr>", desc = "Windows Pick"},
|
||||
{ "<C-w>D", "<cmd>WindowZap<cr>", desc = "Windows Delete"},
|
||||
{ "<C-w>S", "<cmd>WindowSwap<cr>", desc = "Windows Swap"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VimEnter",
|
||||
opts = {
|
||||
icons = {
|
||||
-- set icon mappings to true if you have a Nerd Font
|
||||
mappings = vim.g.have_nerd_font,
|
||||
-- If you are using a Nerd Font: set icons.keys to an empty table which will use the
|
||||
-- default whick-key.nvim defined Nerd Font icons, otherwise define a string table
|
||||
keys = vim.g.have_nerd_font and {} or {
|
||||
Up = '<Up> ',
|
||||
Down = '<Down> ',
|
||||
Left = '<Left> ',
|
||||
Right = '<Right> ',
|
||||
C = '<C-…> ',
|
||||
M = '<M-…> ',
|
||||
D = '<D-…> ',
|
||||
S = '<S-…> ',
|
||||
CR = '<CR> ',
|
||||
Esc = '<Esc> ',
|
||||
ScrollWheelDown = '<ScrollWheelDown> ',
|
||||
ScrollWheelUp = '<ScrollWheelUp> ',
|
||||
NL = '<NL> ',
|
||||
BS = '<BS> ',
|
||||
Space = '<Space> ',
|
||||
Tab = '<Tab> ',
|
||||
F1 = '<F1>',
|
||||
F2 = '<F2>',
|
||||
F3 = '<F3>',
|
||||
F4 = '<F4>',
|
||||
F5 = '<F5>',
|
||||
F6 = '<F6>',
|
||||
F7 = '<F7>',
|
||||
F8 = '<F8>',
|
||||
F9 = '<F9>',
|
||||
F10 = '<F10>',
|
||||
F11 = '<F11>',
|
||||
F12 = '<F12>',
|
||||
},
|
||||
},
|
||||
spec = {
|
||||
{ "g", group = "+goto" },
|
||||
{ "]", group = "+next" },
|
||||
{ "[", group = "+prev" },
|
||||
{ "<leader>c", group = "+code", mode = { 'n', 'x' } },
|
||||
{ "<leader>b", group = "+buffer" },
|
||||
{ "<leader>f", group = "+find" },
|
||||
{ "<leader>g", group = "+goto" },
|
||||
{ "<leader>k", group = "+obsidian" },
|
||||
{ "<leader>l", group = "+lsp" },
|
||||
{ "<leader>m", group = "+bookmark" },
|
||||
{ "<leader>o", group = "+notes" },
|
||||
{ "<leader>r", group = "+ai" },
|
||||
{ "<leader>s", group = "+search" },
|
||||
{ "<leader>t", group = "+trouble" },
|
||||
{ "<leader>v", group = "+vcs", mode = { 'n', 'v' } },
|
||||
{ "<leader>w", group = "+workspace" },
|
||||
{ "<leader>x", group = "+extra" },
|
||||
{ "<leader>u", group = "+toggle" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user