From 39d19909525940cc16695ad3e7fcdb5812f744ac Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 6 Jul 2024 20:07:41 +0300 Subject: Neovim: started rework on the conifg, changed a bunch of stuff --- .config/nvim/lua/colorschemes/dapui.lua | 328 +++++++++++++++++++++ .config/nvim/lua/custom/plugins/TODO-alpha.lua | 68 +++++ .../nvim/lua/custom/plugins/TODO-auto-session.lua | 12 + .config/nvim/lua/custom/plugins/TODO-autopair.lua | 5 + .config/nvim/lua/custom/plugins/TODO-color.lua | 13 + .config/nvim/lua/custom/plugins/TODO-comment.lua | 27 ++ .../nvim/lua/custom/plugins/TODO-completions.lua | 50 ++++ .config/nvim/lua/custom/plugins/TODO-debug.lua | 27 ++ .config/nvim/lua/custom/plugins/TODO-edgy.lua | 37 +++ .config/nvim/lua/custom/plugins/TODO-ftFT.lua | 8 + .config/nvim/lua/custom/plugins/TODO-git.lua | 28 ++ .../nvim/lua/custom/plugins/TODO-illuminate.lua | 6 + .../lua/custom/plugins/TODO-indent-blankline.lua | 8 + .config/nvim/lua/custom/plugins/TODO-lazydev.lua | 15 + .config/nvim/lua/custom/plugins/TODO-leap.lua | 16 + .config/nvim/lua/custom/plugins/TODO-lightbulb.lua | 20 ++ .config/nvim/lua/custom/plugins/TODO-lsp-saga.lua | 51 ++++ .config/nvim/lua/custom/plugins/TODO-lsp.lua | 48 +++ .../nvim/lua/custom/plugins/TODO-lsp_signature.lua | 20 ++ .config/nvim/lua/custom/plugins/TODO-lualine.lua | 12 + .config/nvim/lua/custom/plugins/TODO-neoclip.lua | 22 ++ .config/nvim/lua/custom/plugins/TODO-neotree.lua | 15 + .config/nvim/lua/custom/plugins/TODO-noice.lua | 204 +++++++++++++ .config/nvim/lua/custom/plugins/TODO-none-ls.lua | 13 + .config/nvim/lua/custom/plugins/TODO-obsidian.lua | 15 + .config/nvim/lua/custom/plugins/TODO-overseer.lua | 10 + .config/nvim/lua/custom/plugins/TODO-surround.lua | 21 ++ .../nvim/lua/custom/plugins/TODO-time-tracking.lua | 4 + .config/nvim/lua/custom/plugins/TODO-todo.lua | 105 +++++++ .config/nvim/lua/custom/plugins/TODO-trouble.lua | 37 +++ .../lua/custom/plugins/TODO-vim-tmux-navigator.lua | 7 + .config/nvim/lua/custom/plugins/colorschemes.lua | 26 ++ .config/nvim/lua/custom/plugins/harpoon.lua | 24 ++ .config/nvim/lua/custom/plugins/oil.lua | 21 ++ .config/nvim/lua/custom/plugins/telescope.lua | 14 + .config/nvim/lua/custom/plugins/treesitter.lua | 13 + .config/nvim/lua/custom/telescope.lua | 50 ++++ .config/nvim/lua/dapui-colorscheme.lua | 328 --------------------- .config/nvim/lua/keymaps.lua | 44 +-- .config/nvim/lua/options.lua | 20 +- .config/nvim/lua/plugin-manager.lua | 4 +- .config/nvim/lua/plugins.lua | 1 - .config/nvim/lua/plugins/alpha.lua | 68 ----- .config/nvim/lua/plugins/auto-session.lua | 12 - .config/nvim/lua/plugins/autopair.lua | 5 - .config/nvim/lua/plugins/color.lua | 13 - .config/nvim/lua/plugins/colorschemes.lua | 31 -- .config/nvim/lua/plugins/comment.lua | 27 -- .config/nvim/lua/plugins/completions.lua | 50 ---- .config/nvim/lua/plugins/debug.lua | 27 -- .config/nvim/lua/plugins/edgy.lua | 37 --- .config/nvim/lua/plugins/ftFT.lua | 8 - .config/nvim/lua/plugins/git.lua | 28 -- .config/nvim/lua/plugins/harpoon.lua | 23 -- .config/nvim/lua/plugins/illuminate.lua | 6 - .config/nvim/lua/plugins/indent-blankline.lua | 8 - .config/nvim/lua/plugins/lazydev.lua | 15 - .config/nvim/lua/plugins/leap.lua | 16 - .config/nvim/lua/plugins/lightbulb.lua | 20 -- .config/nvim/lua/plugins/lsp-saga.lua | 51 ---- .config/nvim/lua/plugins/lsp.lua | 48 --- .config/nvim/lua/plugins/lsp_signature.lua | 20 -- .config/nvim/lua/plugins/lualine.lua | 12 - .config/nvim/lua/plugins/neoclip.lua | 22 -- .config/nvim/lua/plugins/neotree.lua | 15 - .config/nvim/lua/plugins/noice.lua | 204 ------------- .config/nvim/lua/plugins/none-ls.lua | 13 - .config/nvim/lua/plugins/obsidian.lua | 15 - .config/nvim/lua/plugins/oil.lua | 9 - .config/nvim/lua/plugins/overseer.lua | 10 - .../overseer/template/user/c_build_make.lua | 17 -- .config/nvim/lua/plugins/surround.lua | 21 -- .config/nvim/lua/plugins/telescope.lua | 73 ----- .config/nvim/lua/plugins/time-tracking.lua | 4 - .config/nvim/lua/plugins/todo.lua | 105 ------- .config/nvim/lua/plugins/treesitter.lua | 12 - .config/nvim/lua/plugins/trouble.lua | 37 --- .config/nvim/lua/plugins/vim-tmux-navigator.lua | 7 - .config/nvim/lua/plugins/which-key.lua | 8 - 79 files changed, 1437 insertions(+), 1457 deletions(-) create mode 100644 .config/nvim/lua/colorschemes/dapui.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-alpha.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-auto-session.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-autopair.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-color.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-comment.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-completions.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-debug.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-edgy.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-ftFT.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-git.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-illuminate.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-indent-blankline.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lazydev.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-leap.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lightbulb.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lsp-saga.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lsp.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lsp_signature.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-lualine.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-neoclip.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-neotree.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-noice.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-none-ls.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-obsidian.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-overseer.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-surround.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-time-tracking.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-todo.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-trouble.lua create mode 100644 .config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua create mode 100644 .config/nvim/lua/custom/plugins/colorschemes.lua create mode 100644 .config/nvim/lua/custom/plugins/harpoon.lua create mode 100644 .config/nvim/lua/custom/plugins/oil.lua create mode 100644 .config/nvim/lua/custom/plugins/telescope.lua create mode 100644 .config/nvim/lua/custom/plugins/treesitter.lua create mode 100644 .config/nvim/lua/custom/telescope.lua delete mode 100644 .config/nvim/lua/dapui-colorscheme.lua delete mode 100644 .config/nvim/lua/plugins.lua delete mode 100644 .config/nvim/lua/plugins/alpha.lua delete mode 100644 .config/nvim/lua/plugins/auto-session.lua delete mode 100644 .config/nvim/lua/plugins/autopair.lua delete mode 100644 .config/nvim/lua/plugins/color.lua delete mode 100644 .config/nvim/lua/plugins/colorschemes.lua delete mode 100644 .config/nvim/lua/plugins/comment.lua delete mode 100644 .config/nvim/lua/plugins/completions.lua delete mode 100644 .config/nvim/lua/plugins/debug.lua delete mode 100644 .config/nvim/lua/plugins/edgy.lua delete mode 100644 .config/nvim/lua/plugins/ftFT.lua delete mode 100644 .config/nvim/lua/plugins/git.lua delete mode 100644 .config/nvim/lua/plugins/harpoon.lua delete mode 100644 .config/nvim/lua/plugins/illuminate.lua delete mode 100644 .config/nvim/lua/plugins/indent-blankline.lua delete mode 100644 .config/nvim/lua/plugins/lazydev.lua delete mode 100644 .config/nvim/lua/plugins/leap.lua delete mode 100644 .config/nvim/lua/plugins/lightbulb.lua delete mode 100644 .config/nvim/lua/plugins/lsp-saga.lua delete mode 100644 .config/nvim/lua/plugins/lsp.lua delete mode 100644 .config/nvim/lua/plugins/lsp_signature.lua delete mode 100644 .config/nvim/lua/plugins/lualine.lua delete mode 100644 .config/nvim/lua/plugins/neoclip.lua delete mode 100644 .config/nvim/lua/plugins/neotree.lua delete mode 100644 .config/nvim/lua/plugins/noice.lua delete mode 100644 .config/nvim/lua/plugins/none-ls.lua delete mode 100644 .config/nvim/lua/plugins/obsidian.lua delete mode 100644 .config/nvim/lua/plugins/oil.lua delete mode 100644 .config/nvim/lua/plugins/overseer.lua delete mode 100644 .config/nvim/lua/plugins/overseer/template/user/c_build_make.lua delete mode 100644 .config/nvim/lua/plugins/surround.lua delete mode 100644 .config/nvim/lua/plugins/telescope.lua delete mode 100644 .config/nvim/lua/plugins/time-tracking.lua delete mode 100644 .config/nvim/lua/plugins/todo.lua delete mode 100644 .config/nvim/lua/plugins/treesitter.lua delete mode 100644 .config/nvim/lua/plugins/trouble.lua delete mode 100644 .config/nvim/lua/plugins/vim-tmux-navigator.lua delete mode 100644 .config/nvim/lua/plugins/which-key.lua (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/colorschemes/dapui.lua b/.config/nvim/lua/colorschemes/dapui.lua new file mode 100644 index 0000000..25278da --- /dev/null +++ b/.config/nvim/lua/colorschemes/dapui.lua @@ -0,0 +1,328 @@ +-- Took from this repo https://github.com/rcarriga/dotfiles/blob/master/.config/nvim/init.lua +local c = { + transparent = 'NONE', + grey1 = '#262626', + grey2 = '#424242', + grey3 = '#8B8B8B', + grey4 = '#bdbdbd', + grey5 = '#F8F8F8', + violet = '#D484FF', + blue = '#2f628e', + cyan = '#00f1f5', + cyan2 = '#7EC9D8', -- by Kyren (from catpuccin-mocha) + green = '#A9FF68', + dark_green = '#142818', + yellow = '#FFF59D', + orange = '#F79000', + orange2 = '#ff9e64', -- by Kyren (from tokyonight-night) + red = '#F70067', + dark_red = '#3F0001', + float_background = '#132434', + background = 'NONE', + mocha = '#1E1E2E', -- by Kyren + mocha_search = '#3E5767', -- by Kyren (from catppuccin-mocha) + -- mocha_hi1 = '#28283e', -- by Kyren + mocha_hi1 = '#2A2B3C', -- by Kyren (from tokyonight-night) + -- mocha_hi2 = '#3c3c5c', -- by Kyren + -- mocha_hi2 = '#283457', -- by Kyren (from tokyonight-night) + mocha_hi2 = '#45475A', -- by Kyren (from catpuccin-mocha) + black = '#15161E', -- by Kyren (from tokyonight-night) + -- black = '#181825' -- by Kyren (from catpuccin-mocha) +} + +c.normal = c.grey5 +c.border = c.grey3 +c.decoration = c.orange +c.hidden = c.grey3 +c.built_in = c.red +c.var_name = c.grey5 +c.func_name = c.cyan +c.type_name = c.violet +c.key = c.cyan +c.val = c.violet +-- c.parameter = c.green -- original +c.parameter = c.orange2 -- by Kyren +c.string = c.yellow +c.operator = c.orange +c.success = c.green +c.warning = c.orange +c.info = c.cyan +c.error = c.red + +local highlights = { + Normal = { fg = c.normal }, + NormalFloat = { fg = c.normal }, + Border = { fg = c.border }, + FloatBorder = { fg = c.border }, + Decoration = { fg = c.orange }, + Hidden = { fg = c.grey3 }, + Path = { fg = c.blue }, + BuiltIn = { fg = c.red }, + VarName = { fg = c.grey5, bold = true }, + FuncName = { fg = c.cyan }, + TypeName = { fg = c.violet }, + Key = { fg = c.cyan }, + Val = { fg = c.violet }, + String = { fg = c.yellow }, + Operator = { fg = c.orange }, + Success = { fg = c.green }, + Warning = { fg = c.yellow }, + Info = { fg = c.cyan }, + Error = { fg = c.red }, + User1 = { fg = c.success, bg = c.float_background }, + User2 = { fg = c.warning, bg = c.float_background }, + User3 = { fg = c.error, bg = c.float_background }, + User4 = { fg = c.grey1, bg = c.info }, + -- Vim + Cursor = { fg = c.grey1, bg = c.red }, + -- CursorLine = { fg = c.transparent, bg = c.grey1 }, -- original + -- CursorColumn = { fg = c.transparent, bg = c.grey1 }, -- original + -- ColorColumn = { fg = c.transparent, bg = c.grey1 }, -- original + CursorLine = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren + CursorColumn = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren + ColorColumn = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren + LineNr = { fg = c.hidden }, + -- CursorLineNr = { fg = c.success, bold = true }, -- original + CursorLineNr = { fg = c.orange2, bold = true }, -- by Kyren + VertSplit = { fg = c.hidden }, + MatchParen = { fg = c.key, underline = true }, + StatusLine = { fg = c.normal }, + StatusLineNC = { fg = c.hidden }, + WinBar = { fg = c.normal }, + WinBarNC = { fg = c.normal }, + WinBarSep = { fg = c.decoration, bg = c.grey1 }, + WinBarPath = { fg = c.grey5, bg = c.grey1 }, + -- IncSearch = { fg = c.green, bold = true, underline = true }, -- original + -- Search = { fg = c.green, bold = true, underline = true }, -- original + IncSearch = { fg = c.black, bg = c.orange2, bold = true }, -- by Kyren + Search = { fg = c.black, bg = c.orange2, bold = true }, -- by Kyren + Directory = { fg = c.cyan }, + Folded = { fg = c.grey3 }, + WildMenu = { fg = c.cyan }, + VisualNOS = { fg = c.grey3, bg = c.yellow }, + ModeMsg = { fg = c.yellow }, + FoldColumn = { fg = c.grey4 }, + MoreMsg = { fg = c.yellow }, + cursorim = { fg = c.violet }, + Pmenu = { fg = c.grey4 }, + PmenuSel = { fg = c.transparent, bg = c.grey2, bold = true }, + PMenuSbar = { fg = c.transparent }, + PMenuThumb = { fg = c.transparent, bg = c.grey4 }, + -- Visual = { fg = c.transparent, bg = c.grey1, bold = true, underline = true }, -- original + Visual = { fg = c.transparent, bg = c.mocha_hi2, bold = true }, -- by Kyren + EndOfBuffer = { fg = c.grey1 }, + Underlined = { fg = c.transparent, underline = true }, + SpellBad = { fg = c.transparent, undercurl = true }, + SpellCap = { fg = c.transparent, undercurl = true }, + SpellLocal = { fg = c.transparent, undercurl = true }, + SignColumn = { fg = c.key }, + Question = { fg = c.info }, + TabLineFill = { fg = c.grey3 }, + NotificationInfo = { fg = c.normal, bg = c.float_background }, + NotificationError = { fg = c.error, bg = c.float_background }, + NotificationWarning = { fg = c.warning, bg = c.float_background }, + WinSeparator = { fg = c.grey2 }, + -- General + Boolean = { fg = c.val }, + Character = { fg = c.val }, + Comment = { fg = c.hidden }, + Conditional = { fg = c.built_in }, + Constant = { fg = c.var_name }, + Define = { fg = c.built_in }, + DiffAdd = { fg = c.background, bg = c.dark_green }, + DiffChange = { fg = c.background, bg = c.grey1 }, + DiffDelete = { fg = c.background, bg = c.dark_red }, + DiffText = { fg = c.background, bg = c.dark_red }, + ErrorMsg = { fg = c.error }, + WarningMsg = { fg = c.warning }, + Float = { fg = c.val }, + Function = { fg = c.func_name }, + Identifier = { fg = c.var_name }, + Keyword = { fg = c.built_in }, + Label = { fg = c.key }, + NonText = { fg = c.hidden }, + Number = { fg = c.val }, + PreProc = { fg = c.key }, + Special = { fg = c.cyan }, + SpecialKey = { fg = c.built_in }, + Statement = { fg = c.built_in }, + Tag = { fg = c.key }, + Title = { fg = c.normal, bold = true }, + Todo = { fg = c.normal, bold = true }, + Type = { fg = c.type_name }, + SpecialComment = { fg = c.info, bold = true }, + Typedef = { fg = c.type_name }, + PreCondit = { fg = c.built_in }, + Include = { fg = c.built_in }, + Ignore = { fg = c.built_in }, + Delimiter = { fg = c.decoration }, + Conceal = { fg = c.transparent, bold = true }, + -- gitsigns + GitSignsAdd = { fg = c.success, bold = true }, + GitSignsDelete = { fg = c.error, bold = true }, + GitSignsChange = { fg = c.yellow, bold = true }, + --ini + dosiniLabel = { fg = c.key }, + dosiniValue = { fg = c.val }, + dosiniHeader = { fg = c.built_in }, + -- TreeSitter + ['@error'] = { fg = c.error }, + ['@comment'] = { fg = c.hidden }, + ['@punct.delimiter'] = { fg = c.decoration }, + ['@punct.bracket'] = { fg = c.decoration }, + ['@punct.special'] = { fg = c.decoration }, + ['@constant'] = { fg = c.var_name }, + ['@const.builtin'] = { fg = c.built_in }, + ['@const.macro'] = { fg = c.built_in }, + ['@string'] = { fg = c.string }, + ['@string.regex'] = { fg = c.operator }, + ['@string.escape'] = { fg = c.operator }, + ['@character'] = { fg = c.val }, + ['@number'] = { fg = c.val }, + ['@boolean'] = { fg = c.val }, + ['@float'] = { fg = c.val }, + ['@function'] = { fg = c.func_name }, + ['@func.builtin'] = { fg = c.built_in }, + ['@func.macro'] = { fg = c.built_in }, + ['@parameter'] = { fg = c.green }, + ['@parameter.reference'] = { fg = c.green }, + ['@method'] = { fg = c.func_name }, + ['@field'] = { fg = c.func_name }, + ['@property'] = { fg = c.parameter }, + ['@tag'] = { fg = c.func_name }, + ['@constructor'] = { fg = c.type_name }, + ['@conditional'] = { fg = c.built_in }, + ['@repeat'] = { fg = c.built_in }, + ['@label'] = { fg = c.key }, + ['@operator'] = { fg = c.operator }, + ['@keyword'] = { fg = c.built_in }, + ['@keyword.function'] = { fg = c.built_in }, + ['@exception'] = { fg = c.error }, + ['@type'] = { fg = c.type_name }, + ['@type.builtin'] = { fg = c.type_name }, + ['@structure'] = { fg = c.error }, + ['@include'] = { fg = c.built_in }, + ['@annotation'] = { fg = c.string }, + ['@text'] = { fg = c.string }, + ['@strong'] = { fg = c.transparent, bold = true }, + ['@emphasis'] = { fg = c.transparent, bold = true, underline = true }, + ['@underline'] = { fg = c.transparent, underline = true }, + ['@title'] = { fg = c.key, bold = true }, + ['@literal'] = { fg = c.decoration }, + ['@uri'] = { fg = c.info }, + ['@variable'] = { fg = c.var_name }, + ['@variable.builtin'] = { fg = c.built_in }, + ['@definition'] = { fg = c.transparent, bold = true }, + ['@definition.usage'] = { fg = c.transparent, bold = true, underline = true }, + ['@current.scope'] = { fg = c.transparent, bold = true }, + ['@text.reference'] = { fg = c.normal, bold = true, underline = true }, + -- Golang + goFunctionCall = { fg = c.func_name }, + goVarDefs = { fg = c.var_name }, + -- Telescope + TelescopeBorder = { fg = c.border }, + -- LSP + LspReferenceText = { fg = c.background, bold = true, underline = true }, + LspReferenceRead = { fg = c.background, bold = true, underline = true }, + LspReferenceWrite = { fg = c.background, bold = true, underline = true }, + DiagnosticTruncateLine = { fg = c.hidden }, + DiagnosticError = { fg = c.error }, + DiagnosticWarn = { fg = c.warning }, + DiagnosticInfo = { fg = c.info }, + DiagnosticHint = { fg = c.info }, + LspCodeLens = { fg = c.type_name, italic = true }, + IblIndent = { fg = c.grey2 }, + + ['@lsp.type.property.lua'] = { fg = c.key }, + ['@lsp.mod.defaultLibrary.lua'] = { fg = c.built_in }, + ['@lsp.type.parameter.python'] = { fg = c.parameter }, + + -- LSP Signature + LspSelectedParam = { fg = c.normal, bold = true, underline = true }, + + --lsp-inlayhints.nvim + LspInlayHint = { fg = c.type_name, italic = true }, + + --nvim-cmp + CmpItemAbbr = { fg = c.normal }, + CmpDocumentationBorder = { fg = c.border }, + CmpItemAbbrMatch = { fg = c.normal, bold = true }, + CmpItemAbbrMatchFuzzy = { fg = c.normal, bold = true, underline = true }, + CmpItemAbbrDeprecated = { fg = c.normal, bold = true }, + CmpItemKindVariable = { fg = c.var_name, bold = true }, + CmpItemKindInterface = { fg = c.type_name, bold = true }, + CmpItemKindText = { fg = c.normal, bold = true }, + CmpItemKindFunction = { fg = c.func_name, bold = true }, + CmpItemKindMethod = { fg = c.func_name, bold = true }, + CmpItemKindKeyword = { fg = c.built_in, bold = true }, + CmpItemKindProperty = { fg = c.key, bold = true }, + CmpItemKindUnit = { fg = c.yellow, bold = true }, + CmpItemKindCopilt = { fg = c.green, bold = true }, + CmpBorderedWindow_FloatBorder = { fg = c.border }, + + --neorg + ['@neorg.headings.1.title'] = { fg = c.red, bold = true }, + ['@neorg.headings.2.title'] = { fg = c.orange, bold = true }, + ['@neorg.headings.3.title'] = { fg = c.cyan, bold = true }, + ['@neorg.headings.4.title'] = { fg = c.green, bold = true }, + ['@neorg.headings.5.title'] = { fg = c.yellow, bold = true }, + ['@neorg.headings.6.title'] = { fg = c.grey3, bold = true }, + ['@neorg.headings.1.prefix'] = { fg = c.red, bold = true }, + ['@neorg.headings.2.prefix'] = { fg = c.orange, bold = true }, + ['@neorg.headings.3.prefix'] = { fg = c.cyan, bold = true }, + ['@neorg.headings.4.prefix'] = { fg = c.green, bold = true }, + ['@neorg.headings.5.prefix'] = { fg = c.yellow, bold = true }, + ['@neorg.headings.6.prefix'] = { fg = c.grey3, bold = true }, + ['@neorg.todo_items.done.1'] = { fg = c.success }, + ['@neorg.todo_items.done.2'] = { fg = c.success }, + ['@neorg.todo_items.done.3'] = { fg = c.success }, + ['@neorg.todo_items.done.4'] = { fg = c.success }, + ['@neorg.todo_items.done.5'] = { fg = c.success }, + ['@neorg.todo_items.done.6'] = { fg = c.success }, + ['@neorg.todo_items.undone.1'] = { fg = c.cyan }, + ['@neorg.todo_items.undone.2'] = { fg = c.cyan }, + ['@neorg.todo_items.undone.3'] = { fg = c.cyan }, + ['@neorg.todo_items.undone.4'] = { fg = c.cyan }, + ['@neorg.todo_items.undone.5'] = { fg = c.cyan }, + ['@neorg.todo_items.undone.6'] = { fg = c.cyan }, + ['@neorg.todo_items.pending.1'] = { fg = c.yellow }, + ['@neorg.todo_items.pending.2'] = { fg = c.yellow }, + ['@neorg.todo_items.pending.3'] = { fg = c.yellow }, + ['@neorg.todo_items.pending.4'] = { fg = c.yellow }, + ['@neorg.todo_items.pending.5'] = { fg = c.yellow }, + ['@neorg.todo_items.pending.6'] = { fg = c.yellow }, + + logDate = { fg = c.info }, + logLevelDebug = { fg = c.grey3 }, + logLevelInfo = { fg = c.info }, + + MiniMapNormal = { fg = c.hidden }, + MiniMapSymbolCount = { fg = c.info }, + MiniMapSymbolLine = { fg = c.cyan }, + MiniMapSymbolView = { fg = c.hidden }, + + NeogitDiffAddHighlight = { fg = '#859900' }, + NeogitDiffDeleteHighlight = { fg = '#dc322f' }, + NeogitDiffContextHighlight = { fg = '#b2b2b2' }, + NeogitHunkHeader = { fg = '#cccccc' }, + NeogitHunkHeaderHighlight = { fg = '#cccccc' }, + + FzfLuaBorder = { fg = c.border }, + + NeotestPassedWinBar = { fg = c.success, bg = c.grey1 }, + NeotestFailedWinBar = { fg = c.error, bg = c.grey1 }, + NeotestRunningWinBar = { fg = c.yellow, bg = c.grey1 }, + NeotestSkippedWinBar = { fg = c.cyan, bg = c.grey1 }, + + AerialVariableIcon = { fg = c.green }, +} + +local M = {} + +function M.set() + for group, args in pairs(highlights) do + vim.api.nvim_set_hl(0, group, args) + end +end + +return M diff --git a/.config/nvim/lua/custom/plugins/TODO-alpha.lua b/.config/nvim/lua/custom/plugins/TODO-alpha.lua new file mode 100644 index 0000000..e1b9532 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-alpha.lua @@ -0,0 +1,68 @@ +return { + 'goolord/alpha-nvim', + dependencies = { + 'nvim-tree/nvim-web-devicons', + }, + config = function() + local alpha = require('alpha') + local dashboard = require('alpha.themes.dashboard') + + local function get_natural_day(day) + local suffix = 'th' + local day_mod = day % 10 + + if day_mod == 1 and day ~= 11 then + suffix = 'st' + elseif day_mod == 2 and day ~= 12 then + suffix = 'nd' + elseif day_mod == 3 and day ~= 13 then + suffix = 'rd' + end + + return tostring(day) .. suffix + end + + local find_file_path = '$HOME' + local date = os.date('  %A, %B ') .. get_natural_day(tonumber(os.date('%d'))) + local plugins = '  ' .. require('lazy').stats().count .. ' plugins ' + local v = vim.version() + local version = '  v' .. v.major .. '.' .. v.minor .. '.' .. v.patch + local info_line = date .. plugins .. version + + -- WARN: Just hardcoded the length of the first line in the header + local header_length = #'  ' + local padding = (header_length - #info_line) / 2 + info_line = string.rep(' ', padding) .. info_line + + dashboard.section.header.val = { + [[  ]], + [[ ████ ██████ █████ ██ ██ ]], + [[ ███████████ █████ ███ ]], + [[ █████████ ███████████████████ ███ ███████████ ]], + [[ █████████ ███ █████████████ █████ ██████████████ ]], + [[ █████████ ██████████ █████████ █████ █████ ████ █████ ]], + [[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]], + [[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]], + [[ ]], + info_line, + } + + dashboard.section.buttons.opts.spacing = 0 + dashboard.section.buttons.val = { + dashboard.button('e', ' > New file', 'ene startinsert'), + dashboard.button('w', ' > Find file', 'cd ' .. find_file_path .. ' | Telescope find_files'), + dashboard.button('r', ' > Recent', 'Telescope oldfiles'), + dashboard.button('c', ' > Configuration', 'e $MYVIMRC | cd %:p:h'), + dashboard.button( + 's', + '󱎠 > Last Session', + 'lua require("auto-session.session-lens.actions").alternate_session()' + ), + dashboard.button('q', '󰈆 > Quit NVIM', 'qa'), + } + + dashboard.section.footer.val = require('alpha.fortune')() + + alpha.setup(dashboard.opts) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-auto-session.lua b/.config/nvim/lua/custom/plugins/TODO-auto-session.lua new file mode 100644 index 0000000..bf4fa27 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-auto-session.lua @@ -0,0 +1,12 @@ +return { + 'rmagatti/auto-session', + config = function() + vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions' + require('auto-session').setup({ + log_level = 'error', + auto_session_suppress_dirs = { '~/', '/' }, + }) + local session = require('auto-session.session-lens') + vim.keymap.set('n', '', session.search_session, { desc = '[S]ession Manager' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-autopair.lua b/.config/nvim/lua/custom/plugins/TODO-autopair.lua new file mode 100644 index 0000000..c51bf19 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-autopair.lua @@ -0,0 +1,5 @@ +return { + 'windwp/nvim-autopairs', + event = 'InsertEnter', + config = true, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-color.lua b/.config/nvim/lua/custom/plugins/TODO-color.lua new file mode 100644 index 0000000..0597733 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-color.lua @@ -0,0 +1,13 @@ +return { + 'uga-rosa/ccc.nvim', + lazy = false, + config = function() + require('ccc').setup({ + highlighter = { + auto_enable = true, + }, + }) + vim.keymap.set('n', 'cp', ':CccPick', { desc = '[C]olor [P]icker' }) + vim.keymap.set('n', 'ct', ':CccHighlighterToggle', { desc = '[C]olor [T]oggle' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-comment.lua b/.config/nvim/lua/custom/plugins/TODO-comment.lua new file mode 100644 index 0000000..02eb39d --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-comment.lua @@ -0,0 +1,27 @@ +return { + 'numToStr/Comment.nvim', + opts = { + padding = true, + ignore = nil, + + toggler = { line = 'gcc', block = 'gbc' }, + opleader = { line = 'gc', block = 'gb' }, + extra = { above = 'gcO', below = 'gco', eol = 'gcA' }, + + mappings = { + basic = true, -- `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}` + extra = false, -- `gco`, `gcO`, `gcA` + }, + }, + config = function() + local api = require('Comment.api') + local esc = vim.api.nvim_replace_termcodes('', true, false, true) + local toggole_linewise_selection = function() + vim.api.nvim_feedkeys(esc, 'nx', false) + api.toggle.linewise(vim.fn.visualmode()) + end + + vim.keymap.set('n', '', api.toggle.linewise.current, { noremap = true, silent = true }) + vim.keymap.set('v', '', toggole_linewise_selection, { noremap = true, silent = true }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-completions.lua b/.config/nvim/lua/custom/plugins/TODO-completions.lua new file mode 100644 index 0000000..0699e9b --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-completions.lua @@ -0,0 +1,50 @@ +return { + { + 'hrsh7th/cmp-nvim-lsp', + }, + { + 'L3MON4D3/LuaSnip', + dependencies = { + 'saadparwaiz1/cmp_luasnip', + 'rafamadriz/friendly-snippets', + }, + }, + { + 'hrsh7th/nvim-cmp', + opts = function(_, opts) + -- Setup options for lazydev.nvim + opts.sources = opts.sources or {} + table.insert(opts.sources, { + name = 'lazydev', + group_index = 0, + }) + end, + config = function() + local cmp = require('cmp') + require('luasnip.loaders.from_vscode').lazy_load() + + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + }, { { name = 'buffer' } }), + }) + end, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-debug.lua b/.config/nvim/lua/custom/plugins/TODO-debug.lua new file mode 100644 index 0000000..191dd33 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-debug.lua @@ -0,0 +1,27 @@ +return { + 'mfussenegger/nvim-dap', + dependencies = { + 'rcarriga/nvim-dap-ui', + 'nvim-neotest/nvim-nio', -- dependency for nvim-dap-ui + }, + config = function() + local dap = require('dap') + local dapui = require('dapui') + + dap.listeners.before.attach.dapui_config = function() + dapui.open() + end + dap.listeners.before.launch.dapui_config = function() + dapui.open() + end + dap.listeners.before.event_terminated.dapui_config = function() + dapui.close() + end + dap.listeners.before.event_exited.dapui_config = function() + dapui.close() + end + + vim.keymap.set('n', 'bp', dap.toggle_breakpoint, { desc = 'Set [B]reak[p]oint (toggle)' }) + vim.keymap.set('n', 'dd', dap.continue, { desc = '[D]ebugger [D]ebug (start)' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-edgy.lua b/.config/nvim/lua/custom/plugins/TODO-edgy.lua new file mode 100644 index 0000000..7f01245 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-edgy.lua @@ -0,0 +1,37 @@ +return { + 'folke/edgy.nvim', + event = 'VeryLazy', + opts = { + bottom = { + 'Trouble', + { ft = 'qf', title = 'QuickFix' }, + { + ft = 'help', + size = { height = 20 }, + filter = function(buf) -- only show help buffers + return vim.bo[buf].buftype == 'help' + end, + }, + { ft = 'spectre_panel', size = { height = 0.4 } }, + }, + left = { + { + title = 'Neo-Tree', + ft = 'neo-tree', + filter = function(buf) + return vim.b[buf].neo_tree_source == 'filesystem' + end, + size = { height = 0.5 }, + }, + { + title = 'Neo-Tree Git', + ft = 'neo-tree', + filter = function(buf) + return vim.b[buf].neo_tree_source == 'git_status' + end, + pinned = true, + open = 'Neotree position=right git_status', + }, + }, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-ftFT.lua b/.config/nvim/lua/custom/plugins/TODO-ftFT.lua new file mode 100644 index 0000000..fcf37d8 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-ftFT.lua @@ -0,0 +1,8 @@ +return { + "gukz/ftFT.nvim", + opts = { + keys = { "f", "t", "F", "T" }, + modes = {"n", "v"}, + }, + config = true, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-git.lua b/.config/nvim/lua/custom/plugins/TODO-git.lua new file mode 100644 index 0000000..bd022b9 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-git.lua @@ -0,0 +1,28 @@ +return { + { + 'lewis6991/gitsigns.nvim', + config = function() + require('gitsigns').setup() + vim.keymap.set('n', 'gp', ':Gitsigns preview_hunk', { desc = '[G]it [P]review' }) + vim.keymap.set('n', 'gb', ':Gitsigns toggle_current_line_blame', { desc = '[G]it [B]lame' }) + end, + }, + { 'tpope/vim-fugitive' }, + { 'sindrets/diffview.nvim' }, + { + 'pwntester/octo.nvim', + config = function() + require('octo').setup() + vim.treesitter.language.register('markdown', 'octo') + + vim.api.nvim_create_autocmd('FileType', { + pattern = 'octo', + callback = function() + vim.keymap.set('i', '@', '@', { silent = true, buffer = true }) + vim.keymap.set('i', '#', '#', { silent = true, buffer = true }) + end, + }) + vim.keymap.set('n', 'gi', ':Octo issue search', { desc = '[G]thub [I]ssues' }) + end, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-illuminate.lua b/.config/nvim/lua/custom/plugins/TODO-illuminate.lua new file mode 100644 index 0000000..ae99f39 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-illuminate.lua @@ -0,0 +1,6 @@ +return { + 'RRethy/vim-illuminate', + config = function() + vim.keymap.set('n', 'it', ':IlluminateToggle', { desc = '[I]lluminate [Tloggle]' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-indent-blankline.lua b/.config/nvim/lua/custom/plugins/TODO-indent-blankline.lua new file mode 100644 index 0000000..7130fbb --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-indent-blankline.lua @@ -0,0 +1,8 @@ +return { + 'lukas-reineke/indent-blankline.nvim', + main = 'ibl', + opts = {}, + config = function() + require('ibl').setup() + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lazydev.lua b/.config/nvim/lua/custom/plugins/TODO-lazydev.lua new file mode 100644 index 0000000..ab0de90 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lazydev.lua @@ -0,0 +1,15 @@ +return { + { + 'folke/lazydev.nvim', + ft = 'lua', + opts = { + library = { + { path = 'luvit-meta/library', words = { 'vim%.uv' } }, + }, + }, + }, + { + 'Bilal2453/luvit-meta', + lazy = true, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-leap.lua b/.config/nvim/lua/custom/plugins/TODO-leap.lua new file mode 100644 index 0000000..3c4e99e --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-leap.lua @@ -0,0 +1,16 @@ +return { + 'ggandor/leap.nvim', + dependencies = { "tpope/vim-repeat" }, + config = function() + vim.keymap.set({ 'n', 'x', 'o' }, 's', '(leap-forward)') + vim.keymap.set({ 'n', 'x', 'o' }, 'S', '(leap-backward)') + vim.keymap.set({ 'n', 'x', 'o' }, 'gs', '(leap-from-window)') + + -- Define equivalence classes for brackets and quotes, in addition to + -- the default whitespace group. + require('leap').opts.equivalence_classes = { ' \t\r\n', '([{', ')]}', '\'"`' } + + -- Set background to gray in searchable area + vim.api.nvim_set_hl(0, 'LeapBackdrop', { fg = '#777777' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lightbulb.lua b/.config/nvim/lua/custom/plugins/TODO-lightbulb.lua new file mode 100644 index 0000000..29aeffb --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lightbulb.lua @@ -0,0 +1,20 @@ +return { + 'kosayoda/nvim-lightbulb', + config = function() + require('nvim-lightbulb').setup({ + autocmd = { + enabled = true, + updatetime = 50, + }, + action_kinds = { 'quickfix', 'refactor.rewrite' }, + sign = { enabled = false }, + virtual_text = { enabled = true }, + float = { enabled = true }, + ignore = { + ft = { 'neo-tree' }, + actions_without_kind = true, + }, + }) + local test = "" + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lsp-saga.lua b/.config/nvim/lua/custom/plugins/TODO-lsp-saga.lua new file mode 100644 index 0000000..edbe855 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lsp-saga.lua @@ -0,0 +1,51 @@ +return { + 'nvimdev/lspsaga.nvim', + dependencies = { + 'nvim-treesitter/nvim-treesitter', + 'nvim-tree/nvim-web-devicons', + }, + config = function() + require('lspsaga').setup({ + lightbulb = { + enable = false, + sign = false, + virtual_text = true, + }, + implement = { + sign = false, + virtual_text = true, + }, + floaterm = { + height = 0.7, + width = 0.7, + }, + outline = { + layout = 'float', + }, + }) + local diagnostic = require('lspsaga.diagnostic') + + vim.keymap.set('n', 'K', ':Lspsaga hover_doc', { desc = 'Display Docs' }) + vim.keymap.set('n', 'R', ':Lspsaga rename', { desc = '[R]ename' }) + + vim.keymap.set('n', 'os', 'Lspsaga outline', { desc = '[T]erminal' }) + + vim.keymap.set({ 'n', 'i' }, '', 'Lspsaga code_action', { desc = 'Code Actions' }) + vim.keymap.set('n', 'ca', ':Lspsaga code_action', { desc = '[C]ode [A]ctions' }) + + vim.keymap.set('n', 'ge', function() + diagnostic:goto_next({ severity = vim.diagnostic.severity.WARN }) + end, { desc = '[G]oto [E]rror' }) + vim.keymap.set('n', 'gE', function() + diagnostic:goto_prev({ severity = vim.diagnostic.severity.WARN }) + end, { desc = '[G]oto [E]rror (prev)' }) + vim.keymap.set( + 'n', + 'dw', + 'Lspsaga show_workspace_diagnostics ++normal', + { desc = '[D]iagnostics for [W]orkspace' } + ) + + vim.keymap.set({ 'n', 't' }, '', 'Lspsaga term_toggle', { desc = '[T]erminal' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lsp.lua b/.config/nvim/lua/custom/plugins/TODO-lsp.lua new file mode 100644 index 0000000..74b9ed4 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lsp.lua @@ -0,0 +1,48 @@ +return { + { + 'williamboman/mason.nvim', + lazy = false, + config = function() + require('mason').setup() + end, + }, + { + 'williamboman/mason-lspconfig.nvim', + lazy = false, + config = function() + require('mason-lspconfig').setup({ + ensure_installed = { + 'lua_ls', + 'clangd', + 'gradle_ls', + 'jdtls', + 'kotlin_language_server', + 'pyright', + 'rust_analyzer', + 'taplo', + 'bashls', + 'lemminx', + 'yamlls', + }, + }) + end, + }, + { + 'neovim/nvim-lspconfig', + lazy = false, + config = function() + local lspconfig = require('lspconfig') + lspconfig.lua_ls.setup({}) + lspconfig.clangd.setup({}) + lspconfig.gradle_ls.setup({}) + lspconfig.jdtls.setup({}) + lspconfig.kotlin_language_server.setup({}) + lspconfig.pyright.setup({}) + lspconfig.rust_analyzer.setup({}) + lspconfig.taplo.setup({}) + lspconfig.bashls.setup({}) + lspconfig.lemminx.setup({}) + lspconfig.yamlls.setup({}) + end, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lsp_signature.lua b/.config/nvim/lua/custom/plugins/TODO-lsp_signature.lua new file mode 100644 index 0000000..33c2429 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lsp_signature.lua @@ -0,0 +1,20 @@ +return { + -- 'ray-x/lsp_signature.nvim', + -- event = 'VeryLazy', + -- config = function() + -- local lsp_signature = require('lsp_signature') + -- vim.api.nvim_create_autocmd('LspAttach', { + -- callback = function(args) + -- local bufnr = args.buf + -- local client = vim.lsp.get_client_by_id(args.data.client_id) + -- if vim.tbl_contains({ 'null-ls' }, client.name) then + -- return + -- end + -- lsp_signature.on_attach({}, bufnr) + -- end, + -- }) + -- + -- require('lsp_signature').setup({}) + -- vim.keymap.set({ 'i', 'n' }, '', lsp_signature.toggle_float_win, { desc = 'toggle signature' }) + -- end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-lualine.lua b/.config/nvim/lua/custom/plugins/TODO-lualine.lua new file mode 100644 index 0000000..99dd11f --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-lualine.lua @@ -0,0 +1,12 @@ +return { + 'nvim-lualine/lualine.nvim', + config = function() + -- TODO: Configure this to make the status line fully customizable + require('lualine').setup({ + options = { + theme = 'tokyonight', + }, + sections = { lualine_c = { require('auto-session.lib').current_session_name } }, + }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-neoclip.lua b/.config/nvim/lua/custom/plugins/TODO-neoclip.lua new file mode 100644 index 0000000..ef4f15b --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-neoclip.lua @@ -0,0 +1,22 @@ +return { + 'AckslD/nvim-neoclip.lua', + dependencies = { + { 'kkharji/sqlite.lua', module = 'sqlite' }, + { 'nvim-telescope/telescope.nvim' }, + }, + config = function() + require('neoclip').setup({ + enable_persistent_history = true, + keys = { + telescope = { + i = { + paste = '', + paste_behind = '', + }, + }, + } + }) + -- NOTE: Using `plus` to set the plus register to the selected value + vim.keymap.set('n', 'nc', ':Telescope neoclip plus', { desc = '[N]eo[c]lip History' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-neotree.lua b/.config/nvim/lua/custom/plugins/TODO-neotree.lua new file mode 100644 index 0000000..b8a4ee9 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-neotree.lua @@ -0,0 +1,15 @@ +return { + 'nvim-neo-tree/neo-tree.nvim', + branch = 'v3.x', + dependencies = { + 'nvim-lua/plenary.nvim', + 'nvim-tree/nvim-web-devicons', + 'MunifTanjim/nui.nvim', + }, + opts = { + open_files_do_not_replace_types = { 'terminal', 'Trouble', 'qf', 'edgy' }, + }, + config = function() + vim.keymap.set('n', 'nt', ':Neotree toggle reveal left', { desc = '[N]eotree [T]oggle' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-noice.lua b/.config/nvim/lua/custom/plugins/TODO-noice.lua new file mode 100644 index 0000000..f4acfe4 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-noice.lua @@ -0,0 +1,204 @@ +return { + --[[ + 'folke/noice.nvim', + dependencies = { + 'MunifTanjim/nui.nvim', + 'rcarriga/nvim-notify', + }, + event = 'VeryLazy', + config = function() + require('noice').setup({ + cmdline = { + enabled = false, -- enables the Noice cmdline UI + view = 'cmdline_popup', -- view for rendering the cmdline. Change to `cmdline` to get a classic cmdline at the bottom + opts = {}, -- global options for the cmdline. See section on views + ---@type table + format = { + -- conceal: (default=true) This will hide the text in the cmdline that matches the pattern. + -- view: (default is cmdline view) + -- opts: any options passed to the view + -- icon_hl_group: optional hl_group for the icon + -- title: set to anything or empty string to hide + cmdline = { pattern = '^:', icon = '', lang = 'vim' }, + search_down = { kind = 'search', pattern = '^/', icon = ' ', lang = 'regex' }, + search_up = { kind = 'search', pattern = '^%?', icon = ' ', lang = 'regex' }, + filter = { pattern = '^:%s*!', icon = '$', lang = 'bash' }, + lua = { pattern = { '^:%s*lua%s+', '^:%s*lua%s*=%s*', '^:%s*=%s*' }, icon = '', lang = 'lua' }, + help = { pattern = '^:%s*he?l?p?%s+', icon = '' }, + input = { view = 'cmdline_input', icon = '󰥻 ' }, -- Used by input() + -- lua = false, -- to disable a format, set to `false` + }, + }, + messages = { + -- NOTE: If you enable messages, then the cmdline is enabled automatically. + -- This is a current Neovim limitation. + enabled = false, -- enables the Noice messages UI + view = 'notify', -- default view for messages + view_error = 'notify', -- view for errors + view_warn = 'notify', -- view for warnings + view_history = 'messages', -- view for :messages + view_search = 'virtualtext', -- view for search count messages. Set to `false` to disable + }, + popupmenu = { + enabled = true, -- enables the Noice popupmenu UI + ---@type 'nui'|'cmp' + backend = 'nui', -- backend to use to show regular cmdline completions + ---@type NoicePopupmenuItemKind|false + -- Icons for completion item kinds (see defaults at noice.config.icons.kinds) + kind_icons = {}, -- set to `false` to disable icons + }, + -- default options for require('noice').redirect + -- see the section on Command Redirection + ---@type NoiceRouteConfig + redirect = { + view = 'popup', + filter = { event = 'msg_show' }, + }, + -- You can add any custom commands below that will be available with `:Noice command` + ---@type table + commands = { + history = { + -- options for the message history that you get with `:Noice` + view = 'split', + opts = { enter = true, format = 'details' }, + filter = { + any = { + { event = 'notify' }, + { error = true }, + { warning = true }, + { event = 'msg_show', kind = { '' } }, + { event = 'lsp', kind = 'message' }, + }, + }, + }, + -- :Noice last + last = { + view = 'popup', + opts = { enter = true, format = 'details' }, + filter = { + any = { + { event = 'notify' }, + { error = true }, + { warning = true }, + { event = 'msg_show', kind = { '' } }, + { event = 'lsp', kind = 'message' }, + }, + }, + filter_opts = { count = 1 }, + }, + -- :Noice errors + errors = { + -- options for the message history that you get with `:Noice` + view = 'popup', + opts = { enter = true, format = 'details' }, + filter = { error = true }, + filter_opts = { reverse = true }, + }, + all = { + -- options for the message history that you get with `:Noice` + view = 'split', + opts = { enter = true, format = 'details' }, + filter = {}, + }, + }, + notify = { + -- Noice can be used as `vim.notify` so you can route any notification like other messages + -- Notification messages have their level and other properties set. + -- event is always "notify" and kind can be any log level as a string + -- The default routes will forward notifications to nvim-notify + -- Benefit of using Noice for this is the routing and consistent history view + enabled = true, + view = 'notify', + }, + lsp = { + progress = { + enabled = true, + -- Lsp Progress is formatted using the builtins for lsp_progress. See config.format.builtin + -- See the section on formatting for more details on how to customize. + --- @type NoiceFormat|string + format = 'lsp_progress', + --- @type NoiceFormat|string + format_done = 'lsp_progress_done', + throttle = 1000 / 30, -- frequency to update lsp progress message + view = 'mini', + }, + override = { + ['vim.lsp.util.convert_input_to_markdown_lines'] = true, + ['vim.lsp.util.stylize_markdown'] = true, + ['cmp.entry.get_documentation'] = true, + }, + hover = { + enabled = true, + silent = false, -- set to true to not show a message if hover is not available + view = nil, -- when nil, use defaults from documentation + ---@type NoiceViewOptions + opts = {}, -- merged with defaults from documentation + }, + signature = { + enabled = true, + auto_open = { + enabled = true, + trigger = true, -- Automatically show signature help when typing a trigger character from the LSP + luasnip = true, -- Will open signature help when jumping to Luasnip insert nodes + throttle = 50, -- Debounce lsp signature help request by 50ms + }, + view = nil, -- when nil, use defaults from documentation + ---@type NoiceViewOptions + opts = {}, -- merged with defaults from documentation + }, + message = { + -- Messages shown by lsp servers + enabled = true, + view = 'notify', + opts = {}, + }, + -- defaults for hover and signature help + documentation = { + view = 'hover', + ---@type NoiceViewOptions + opts = { + lang = 'markdown', + replace = true, + render = 'plain', + format = { '{message}' }, + win_options = { concealcursor = 'n', conceallevel = 3 }, + }, + }, + }, + markdown = { + hover = { + ['|(%S-)|'] = vim.cmd.help, -- vim help links + ['%[.-%]%((%S-)%)'] = require('noice.util').open, -- markdown links + }, + highlights = { + ['|%S-|'] = '@text.reference', + ['@%S+'] = '@parameter', + ['^%s*(Parameters:)'] = '@text.title', + ['^%s*(Return:)'] = '@text.title', + ['^%s*(See also:)'] = '@text.title', + ['{%S-}'] = '@parameter', + }, + }, + health = { + checker = true, -- Disable if you don't want health checks to run + }, + ---@type NoicePresets + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = false, -- add a border to hover docs and signature help + }, + throttle = 1000 / 30, -- how frequently does Noice need to check for ui updates? + ---@type NoiceConfigViews + views = {}, ---@see section on views + ---@type NoiceRouteConfig[] + routes = {}, --- @see section on routes + ---@type table + status = {}, --- @see section on statusline components + ---@type NoiceFormatOptions + format = {}, --- @see section on formatting + }) + end,]] +} diff --git a/.config/nvim/lua/custom/plugins/TODO-none-ls.lua b/.config/nvim/lua/custom/plugins/TODO-none-ls.lua new file mode 100644 index 0000000..3a09d95 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-none-ls.lua @@ -0,0 +1,13 @@ +return { + 'nvimtools/none-ls.nvim', + config = function() + local null_ls = require('null-ls') + null_ls.setup({ + sources = { + null_ls.builtins.formatting.stylua, + }, + }) + + vim.keymap.set('n', '=', vim.lsp.buf.format, { desc = 'Format File' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-obsidian.lua b/.config/nvim/lua/custom/plugins/TODO-obsidian.lua new file mode 100644 index 0000000..55a242d --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-obsidian.lua @@ -0,0 +1,15 @@ +return { + 'epwalsh/obsidian.nvim', + version = '*', + lazy = true, + ft = 'markdown', + dependencies = { 'nvim-lua/plenary.nvim', 'hrsh7th/nvim-cmp' }, + opts = { + workspaces = { + { + name = 'personal', + path = '/mnt/c/users/owner/Projects/ObsidianSync', + }, + }, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-overseer.lua b/.config/nvim/lua/custom/plugins/TODO-overseer.lua new file mode 100644 index 0000000..6362f2a --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-overseer.lua @@ -0,0 +1,10 @@ +return { + 'stevearc/overseer.nvim', + opts = {}, + config = function() + require('overseer').setup({ + templates = { 'builtin', 'user.c_build_make' }, + }) + vim.keymap.set('n', 'r', ':OverseerRun', { desc = '[R]un Task' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-surround.lua b/.config/nvim/lua/custom/plugins/TODO-surround.lua new file mode 100644 index 0000000..7f8c88b --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-surround.lua @@ -0,0 +1,21 @@ +return { + 'kylechui/nvim-surround', + version = '*', + event = 'VeryLazy', + config = function() + require('nvim-surround').setup({}) + local opts = {} + vim.keymap.set('v', '(', '(nvim-surround-visual)(', opts) + vim.keymap.set('v', ')', '(nvim-surround-visual))', opts) + vim.keymap.set('v', '{', '(nvim-surround-visual){', opts) + vim.keymap.set('v', '}', '(nvim-surround-visual)}', opts) + -- NOTE: I still want to be able to do < and > for indentation + -- vim.keymap.set('v', '<', '(nvim-surround-visual)<', opts) + -- vim.keymap.set('v', '>', '(nvim-surround-visual)>', opts) + vim.keymap.set('v', '[', '(nvim-surround-visual)[', opts) + vim.keymap.set('v', ']', '(nvim-surround-visual)]', opts) + vim.keymap.set('v', "'", "(nvim-surround-visual)'", opts) + vim.keymap.set('v', '"', '(nvim-surround-visual)"', opts) + vim.keymap.set('v', '`', '(nvim-surround-visual)`', opts) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-time-tracking.lua b/.config/nvim/lua/custom/plugins/TODO-time-tracking.lua new file mode 100644 index 0000000..d63a22b --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-time-tracking.lua @@ -0,0 +1,4 @@ +return { + 'wakatime/vim-wakatime', + lazy = false, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-todo.lua b/.config/nvim/lua/custom/plugins/TODO-todo.lua new file mode 100644 index 0000000..86175a2 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-todo.lua @@ -0,0 +1,105 @@ +-- Showcase +-- TODO: lorem ipsum + +-- FIX: lorem ipsum + +-- OPTIMIZE: lorem ipsum + +-- WARN: lorem ipsum + +-- PERF: lorem ipsum + +-- HACK: lorem ipsum + +-- NOTE: lorem ipsum + +-- TEST: lorem ipsum + +-- UNSAFE: lorem ipsum + +-- NORMAL: lorem ipsum + +return { + 'folke/todo-comments.nvim', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + require('todo-comments').setup({ + signs = true, -- show icons in the signs column + sign_priority = 8, -- sign priority + + keywords = { + -- NOTE: These are "todos" + TODO = { icon = ' ', color = 'info', alt = { 'todo' } }, + FIX = { icon = ' ', color = 'error', alt = { 'FIXME', 'BUG', 'ISSUE' } }, + OPTIMIZE = { icon = ' ', color = 'performance' }, + -- NOTE: These are "notes" + WARN = { icon = ' ', color = 'warning', alt = { 'WARNING' } }, + PERF = { icon = ' ', color = 'performance', alt = { 'PERFORMANCE' } }, + HACK = { icon = ' ', color = 'warning', alt = { 'SMELL', 'CODE SMELL', 'BAD', 'BAD PRACTICE' } }, + NOTE = { icon = ' ', color = 'hint', alt = { 'INFO' } }, + TEST = { icon = '󰙨 ', color = 'test', alt = { 'TESTING', 'PASSED', 'FAILED' } }, + UNSAFE = { icon = '󰍛 ', color = 'error', alt = { 'SAFETY' } }, + }, + + gui_style = { + fg = 'NONE', + bg = 'BOLD', + }, + + merge_keywords = true, -- when true, custom keywords will be merged with the defaults + + -- highlighting of the line containing the todo comment + -- * before: highlights before the keyword (typically comment characters) + -- * keyword: highlights of the keyword + -- * after: highlights after the keyword (todo text) + highlight = { + multiline = true, + multiline_pattern = '^.', -- lua pattern to match the next multiline from the start of the matched keyword + multiline_context = 10, -- extra lines that will be re-evaluated when changing a line + before = '', -- "fg" or "bg" or empty + keyword = 'wide', -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg) + after = 'fg', -- "fg" or "bg" or empty + pattern = { + [[.*<(KEYWORDS)\s*:]], + -- [[.*<(KEYWORDS)\s*]], + -- [[.*<(KEYWORDS)\s*!()]], + }, -- pattern or table of patterns, used for highlighting (vim regex) + comments_only = false, + max_line_len = 400, + exclude = {}, -- list of excluded filetypes + }, + + -- list of named colors where we try to extract the gui fg from the + -- list of highlight groups or use the hex color if hl not found as a fallback + colors = { + default = { 'Identifier', '#7C3AED' }, + error = { 'DiagnosticError', 'ErrorMsg', '#DC2626' }, + warning = { 'DiagnosticWarn', 'WarningMsg', '#FBBF24' }, + info = { 'DiagnosticInfo', '#2563EB' }, + hint = { '#10B981' }, + test = { 'Identifier', '#FF00FF' }, + performance = { '#7C3AED' }, + }, + + search = { + command = 'rg', + args = { + '--color=never', + '--no-heading', + '--with-filename', + '--line-number', + '--column', + -- "--hidden", -- show todos in hidden directories and files + '--follow', -- follow symlinks + }, + + -- regex that will be used to match keywords. + -- don't replace the (KEYWORDS) placeholder + pattern = [[\b(KEYWORDS):]], + -- pattern = [[\b(KEYWORDS)\b]], + }, + }) + vim.keymap.set('n', 'st', ':TodoTelescope keywords=TODO,FIX', { desc = '[S]earch [T]odos' }) + vim.keymap.set('n', 'lt', ':TodoTrouble', { desc = '[L]ist [T]odos' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-trouble.lua b/.config/nvim/lua/custom/plugins/TODO-trouble.lua new file mode 100644 index 0000000..858572e --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-trouble.lua @@ -0,0 +1,37 @@ +return { + 'folke/trouble.nvim', + opts = {}, + cmd = 'Trouble', + keys = { + { + 'xx', + 'Trouble diagnostics toggle', + desc = 'Diagnostics (Trouble)', + }, + { + 'xX', + 'Trouble diagnostics toggle filter.buf=0', + desc = 'Buffer Diagnostics (Trouble)', + }, + { + 'cs', + 'Trouble symbols toggle focus=false', + desc = 'Symbols (Trouble)', + }, + { + 'cl', + 'Trouble lsp toggle focus=false win.position=right', + desc = 'LSP Definitions / references / ... (Trouble)', + }, + { + 'xL', + 'Trouble loclist toggle', + desc = 'Location List (Trouble)', + }, + { + 'xQ', + 'Trouble qflist toggle', + desc = 'Quickfix List (Trouble)', + }, + }, +} diff --git a/.config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua b/.config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua new file mode 100644 index 0000000..4d5c018 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua @@ -0,0 +1,7 @@ +return { + 'christoomey/vim-tmux-navigator', + vim.keymap.set('n', 'C-h', ':TmuxNavigatorLeft'), + vim.keymap.set('n', 'C-j', ':TmuxNavigatorDown'), + vim.keymap.set('n', 'C-k', ':TmuxNavigatorUp'), + vim.keymap.set('n', 'C-l', ':TmuxNavigatorRight'), +} diff --git a/.config/nvim/lua/custom/plugins/colorschemes.lua b/.config/nvim/lua/custom/plugins/colorschemes.lua new file mode 100644 index 0000000..8fa17af --- /dev/null +++ b/.config/nvim/lua/custom/plugins/colorschemes.lua @@ -0,0 +1,26 @@ +return { + { + 'folke/tokyonight.nvim', + lazy = false, + priority = 1000, + config = function() + vim.cmd.colorscheme('tokyonight-night') + require('colorschemes.dapui').set() + end, + }, + 'rktjmp/lush.nvim', + 'catppuccin/nvim', + 'marko-cerovac/material.nvim', + 'rebelot/kanagawa.nvim', + 'projekt0n/github-nvim-theme', + 'EdenEast/nightfox.nvim', + 'rose-pine/neovim', + 'rafi/awesome-vim-colorschemes', + 'datsfilipe/min-theme.nvim', + 'nechaev/darkstorm.nvim', + 'briones-gabriel/darcula-solid.nvim', + 'okaihe/okai', + 'uloco/bluloco.nvim', + 'doums/darcula', + 'pineapplegiant/spaceduck', +} diff --git a/.config/nvim/lua/custom/plugins/harpoon.lua b/.config/nvim/lua/custom/plugins/harpoon.lua new file mode 100644 index 0000000..1352444 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/harpoon.lua @@ -0,0 +1,24 @@ +return { + 'ThePrimeagen/harpoon', + branch = 'harpoon2', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + local harpoon = require('harpoon') + harpoon:setup() + + vim.keymap.set('n', 'a', function() + harpoon:list():add() + end) + vim.keymap.set('n', '', function() + harpoon.ui:toggle_quick_menu(harpoon:list()) + end) + + for i = 1, 9 do + local select = function() + harpoon:list():select(i) + end + vim.keymap.set('n', string.format('', i), select) + vim.keymap.set('n', string.format('%d', i), select) + end + end, +} diff --git a/.config/nvim/lua/custom/plugins/oil.lua b/.config/nvim/lua/custom/plugins/oil.lua new file mode 100644 index 0000000..1bf5672 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/oil.lua @@ -0,0 +1,21 @@ +return { + 'stevearc/oil.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + local oil = require('oil') + oil.setup({ + keymaps = { + [''] = false, + [''] = false, + [''] = false, + [''] = false, + [''] = 'actions.select_split', + }, + view_options = { + show_hidden = true, + }, + }) + vim.keymap.set('n', 'ob', 'Oil', { desc = '[O]il [B]uffer' }) + vim.keymap.set('n', 'of', oil.toggle_float, { desc = '[O]il [F]loat' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/telescope.lua b/.config/nvim/lua/custom/plugins/telescope.lua new file mode 100644 index 0000000..263cc1e --- /dev/null +++ b/.config/nvim/lua/custom/plugins/telescope.lua @@ -0,0 +1,14 @@ +return { + { + 'nvim-telescope/telescope.nvim', + tag = '0.1.5', + dependencies = { + 'nvim-lua/plenary.nvim', + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + 'nvim-telescope/telescope-ui-select.nvim', + }, + config = function() + require("custom.telescope") + end, + }, +} diff --git a/.config/nvim/lua/custom/plugins/treesitter.lua b/.config/nvim/lua/custom/plugins/treesitter.lua new file mode 100644 index 0000000..d869a5e --- /dev/null +++ b/.config/nvim/lua/custom/plugins/treesitter.lua @@ -0,0 +1,13 @@ +return { + 'nvim-treesitter/nvim-treesitter', + build = ':TSUpdate', + config = function() + ---@type userdata + require('nvim-treesitter.configs').setup({ + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + highlight = { enable = true }, + indent = { enable = true }, + }) + end, +} diff --git a/.config/nvim/lua/custom/telescope.lua b/.config/nvim/lua/custom/telescope.lua new file mode 100644 index 0000000..bb6ec62 --- /dev/null +++ b/.config/nvim/lua/custom/telescope.lua @@ -0,0 +1,50 @@ +local telescope = require('telescope') +telescope.setup({ + pickers = { + find_files = { follow = true }, + grep_string = { additional_args = '--follow' }, + live_grep = { additional_args = '--follow' }, + }, + extensions = { + fzf = { + fuzzy = true, -- false will only do exact matching + override_generic_sorter = true, -- override the generic sorter + override_file_sorter = true, -- override the file sorter + case_mode = 'smart_case', -- default "smart_case" or "ignore_case" or "respect_case" + }, + ['ui-select'] = { + require('telescope.themes').get_dropdown({}), + }, + }, +}) + +pcall(telescope.load_extension('ui-select')) +pcall(telescope.load_extension('fzf')) + +local builtin = require('telescope.builtin') + +vim.keymap.set('n', 'fs', builtin.find_files, { desc = '[F]ile [S]ystem' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = '[F]ind [H]elp' }) +vim.keymap.set('n', 'fm', builtin.man_pages, { desc = '[F]ind [M]an Pages' }) +-- vim.keymap.set('n', 'fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) +vim.keymap.set('n', 'lv', builtin.live_grep, { desc = '[L]ive [G]rep' }) +vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = '[F]ind Recent Files' }) +vim.keymap.set('n', 'th', builtin.colorscheme, { desc = 'List [Th]eme' }) +-- vim.keymap.set('n', 'ob', builtin.buffers, { desc = '[O]pen [B]uffers' }) + +vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) +vim.keymap.set('n', 'gu', builtin.lsp_references, { desc = '[G]oto [U]sages' }) +vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = '[G]oto [I]mplementations' }) +-- vim.keymap.set('n', 'gt', builtin.lsp_type_definitions, { desc = '[G]oto [T]ype Definitions' }) +vim.keymap.set('n', 'gw', builtin.diagnostics, { desc = '[G]oto [W]arnings' }) + +vim.keymap.set('n', 'ds', builtin.lsp_document_symbols, { desc = '[D]ocument [S]symbols' }) +vim.keymap.set('n', 'ps', builtin.lsp_workspace_symbols, { desc = '[P]roject [S]ymbols' }) + +vim.keymap.set('n', 'sb', builtin.git_branches, { desc = '[S]earch [B]ranches' }) +vim.keymap.set('n', 'sc', builtin.git_commits, { desc = '[S]earch [C]ommits' }) +-- TODO: Look into the following +-- builtin.git_commits +-- builtin.git_branches +-- builtin.git_status +-- builtin.git_stash diff --git a/.config/nvim/lua/dapui-colorscheme.lua b/.config/nvim/lua/dapui-colorscheme.lua deleted file mode 100644 index 25278da..0000000 --- a/.config/nvim/lua/dapui-colorscheme.lua +++ /dev/null @@ -1,328 +0,0 @@ --- Took from this repo https://github.com/rcarriga/dotfiles/blob/master/.config/nvim/init.lua -local c = { - transparent = 'NONE', - grey1 = '#262626', - grey2 = '#424242', - grey3 = '#8B8B8B', - grey4 = '#bdbdbd', - grey5 = '#F8F8F8', - violet = '#D484FF', - blue = '#2f628e', - cyan = '#00f1f5', - cyan2 = '#7EC9D8', -- by Kyren (from catpuccin-mocha) - green = '#A9FF68', - dark_green = '#142818', - yellow = '#FFF59D', - orange = '#F79000', - orange2 = '#ff9e64', -- by Kyren (from tokyonight-night) - red = '#F70067', - dark_red = '#3F0001', - float_background = '#132434', - background = 'NONE', - mocha = '#1E1E2E', -- by Kyren - mocha_search = '#3E5767', -- by Kyren (from catppuccin-mocha) - -- mocha_hi1 = '#28283e', -- by Kyren - mocha_hi1 = '#2A2B3C', -- by Kyren (from tokyonight-night) - -- mocha_hi2 = '#3c3c5c', -- by Kyren - -- mocha_hi2 = '#283457', -- by Kyren (from tokyonight-night) - mocha_hi2 = '#45475A', -- by Kyren (from catpuccin-mocha) - black = '#15161E', -- by Kyren (from tokyonight-night) - -- black = '#181825' -- by Kyren (from catpuccin-mocha) -} - -c.normal = c.grey5 -c.border = c.grey3 -c.decoration = c.orange -c.hidden = c.grey3 -c.built_in = c.red -c.var_name = c.grey5 -c.func_name = c.cyan -c.type_name = c.violet -c.key = c.cyan -c.val = c.violet --- c.parameter = c.green -- original -c.parameter = c.orange2 -- by Kyren -c.string = c.yellow -c.operator = c.orange -c.success = c.green -c.warning = c.orange -c.info = c.cyan -c.error = c.red - -local highlights = { - Normal = { fg = c.normal }, - NormalFloat = { fg = c.normal }, - Border = { fg = c.border }, - FloatBorder = { fg = c.border }, - Decoration = { fg = c.orange }, - Hidden = { fg = c.grey3 }, - Path = { fg = c.blue }, - BuiltIn = { fg = c.red }, - VarName = { fg = c.grey5, bold = true }, - FuncName = { fg = c.cyan }, - TypeName = { fg = c.violet }, - Key = { fg = c.cyan }, - Val = { fg = c.violet }, - String = { fg = c.yellow }, - Operator = { fg = c.orange }, - Success = { fg = c.green }, - Warning = { fg = c.yellow }, - Info = { fg = c.cyan }, - Error = { fg = c.red }, - User1 = { fg = c.success, bg = c.float_background }, - User2 = { fg = c.warning, bg = c.float_background }, - User3 = { fg = c.error, bg = c.float_background }, - User4 = { fg = c.grey1, bg = c.info }, - -- Vim - Cursor = { fg = c.grey1, bg = c.red }, - -- CursorLine = { fg = c.transparent, bg = c.grey1 }, -- original - -- CursorColumn = { fg = c.transparent, bg = c.grey1 }, -- original - -- ColorColumn = { fg = c.transparent, bg = c.grey1 }, -- original - CursorLine = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren - CursorColumn = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren - ColorColumn = { fg = c.transparent, bg = c.mocha_hi1 }, -- by Kyren - LineNr = { fg = c.hidden }, - -- CursorLineNr = { fg = c.success, bold = true }, -- original - CursorLineNr = { fg = c.orange2, bold = true }, -- by Kyren - VertSplit = { fg = c.hidden }, - MatchParen = { fg = c.key, underline = true }, - StatusLine = { fg = c.normal }, - StatusLineNC = { fg = c.hidden }, - WinBar = { fg = c.normal }, - WinBarNC = { fg = c.normal }, - WinBarSep = { fg = c.decoration, bg = c.grey1 }, - WinBarPath = { fg = c.grey5, bg = c.grey1 }, - -- IncSearch = { fg = c.green, bold = true, underline = true }, -- original - -- Search = { fg = c.green, bold = true, underline = true }, -- original - IncSearch = { fg = c.black, bg = c.orange2, bold = true }, -- by Kyren - Search = { fg = c.black, bg = c.orange2, bold = true }, -- by Kyren - Directory = { fg = c.cyan }, - Folded = { fg = c.grey3 }, - WildMenu = { fg = c.cyan }, - VisualNOS = { fg = c.grey3, bg = c.yellow }, - ModeMsg = { fg = c.yellow }, - FoldColumn = { fg = c.grey4 }, - MoreMsg = { fg = c.yellow }, - cursorim = { fg = c.violet }, - Pmenu = { fg = c.grey4 }, - PmenuSel = { fg = c.transparent, bg = c.grey2, bold = true }, - PMenuSbar = { fg = c.transparent }, - PMenuThumb = { fg = c.transparent, bg = c.grey4 }, - -- Visual = { fg = c.transparent, bg = c.grey1, bold = true, underline = true }, -- original - Visual = { fg = c.transparent, bg = c.mocha_hi2, bold = true }, -- by Kyren - EndOfBuffer = { fg = c.grey1 }, - Underlined = { fg = c.transparent, underline = true }, - SpellBad = { fg = c.transparent, undercurl = true }, - SpellCap = { fg = c.transparent, undercurl = true }, - SpellLocal = { fg = c.transparent, undercurl = true }, - SignColumn = { fg = c.key }, - Question = { fg = c.info }, - TabLineFill = { fg = c.grey3 }, - NotificationInfo = { fg = c.normal, bg = c.float_background }, - NotificationError = { fg = c.error, bg = c.float_background }, - NotificationWarning = { fg = c.warning, bg = c.float_background }, - WinSeparator = { fg = c.grey2 }, - -- General - Boolean = { fg = c.val }, - Character = { fg = c.val }, - Comment = { fg = c.hidden }, - Conditional = { fg = c.built_in }, - Constant = { fg = c.var_name }, - Define = { fg = c.built_in }, - DiffAdd = { fg = c.background, bg = c.dark_green }, - DiffChange = { fg = c.background, bg = c.grey1 }, - DiffDelete = { fg = c.background, bg = c.dark_red }, - DiffText = { fg = c.background, bg = c.dark_red }, - ErrorMsg = { fg = c.error }, - WarningMsg = { fg = c.warning }, - Float = { fg = c.val }, - Function = { fg = c.func_name }, - Identifier = { fg = c.var_name }, - Keyword = { fg = c.built_in }, - Label = { fg = c.key }, - NonText = { fg = c.hidden }, - Number = { fg = c.val }, - PreProc = { fg = c.key }, - Special = { fg = c.cyan }, - SpecialKey = { fg = c.built_in }, - Statement = { fg = c.built_in }, - Tag = { fg = c.key }, - Title = { fg = c.normal, bold = true }, - Todo = { fg = c.normal, bold = true }, - Type = { fg = c.type_name }, - SpecialComment = { fg = c.info, bold = true }, - Typedef = { fg = c.type_name }, - PreCondit = { fg = c.built_in }, - Include = { fg = c.built_in }, - Ignore = { fg = c.built_in }, - Delimiter = { fg = c.decoration }, - Conceal = { fg = c.transparent, bold = true }, - -- gitsigns - GitSignsAdd = { fg = c.success, bold = true }, - GitSignsDelete = { fg = c.error, bold = true }, - GitSignsChange = { fg = c.yellow, bold = true }, - --ini - dosiniLabel = { fg = c.key }, - dosiniValue = { fg = c.val }, - dosiniHeader = { fg = c.built_in }, - -- TreeSitter - ['@error'] = { fg = c.error }, - ['@comment'] = { fg = c.hidden }, - ['@punct.delimiter'] = { fg = c.decoration }, - ['@punct.bracket'] = { fg = c.decoration }, - ['@punct.special'] = { fg = c.decoration }, - ['@constant'] = { fg = c.var_name }, - ['@const.builtin'] = { fg = c.built_in }, - ['@const.macro'] = { fg = c.built_in }, - ['@string'] = { fg = c.string }, - ['@string.regex'] = { fg = c.operator }, - ['@string.escape'] = { fg = c.operator }, - ['@character'] = { fg = c.val }, - ['@number'] = { fg = c.val }, - ['@boolean'] = { fg = c.val }, - ['@float'] = { fg = c.val }, - ['@function'] = { fg = c.func_name }, - ['@func.builtin'] = { fg = c.built_in }, - ['@func.macro'] = { fg = c.built_in }, - ['@parameter'] = { fg = c.green }, - ['@parameter.reference'] = { fg = c.green }, - ['@method'] = { fg = c.func_name }, - ['@field'] = { fg = c.func_name }, - ['@property'] = { fg = c.parameter }, - ['@tag'] = { fg = c.func_name }, - ['@constructor'] = { fg = c.type_name }, - ['@conditional'] = { fg = c.built_in }, - ['@repeat'] = { fg = c.built_in }, - ['@label'] = { fg = c.key }, - ['@operator'] = { fg = c.operator }, - ['@keyword'] = { fg = c.built_in }, - ['@keyword.function'] = { fg = c.built_in }, - ['@exception'] = { fg = c.error }, - ['@type'] = { fg = c.type_name }, - ['@type.builtin'] = { fg = c.type_name }, - ['@structure'] = { fg = c.error }, - ['@include'] = { fg = c.built_in }, - ['@annotation'] = { fg = c.string }, - ['@text'] = { fg = c.string }, - ['@strong'] = { fg = c.transparent, bold = true }, - ['@emphasis'] = { fg = c.transparent, bold = true, underline = true }, - ['@underline'] = { fg = c.transparent, underline = true }, - ['@title'] = { fg = c.key, bold = true }, - ['@literal'] = { fg = c.decoration }, - ['@uri'] = { fg = c.info }, - ['@variable'] = { fg = c.var_name }, - ['@variable.builtin'] = { fg = c.built_in }, - ['@definition'] = { fg = c.transparent, bold = true }, - ['@definition.usage'] = { fg = c.transparent, bold = true, underline = true }, - ['@current.scope'] = { fg = c.transparent, bold = true }, - ['@text.reference'] = { fg = c.normal, bold = true, underline = true }, - -- Golang - goFunctionCall = { fg = c.func_name }, - goVarDefs = { fg = c.var_name }, - -- Telescope - TelescopeBorder = { fg = c.border }, - -- LSP - LspReferenceText = { fg = c.background, bold = true, underline = true }, - LspReferenceRead = { fg = c.background, bold = true, underline = true }, - LspReferenceWrite = { fg = c.background, bold = true, underline = true }, - DiagnosticTruncateLine = { fg = c.hidden }, - DiagnosticError = { fg = c.error }, - DiagnosticWarn = { fg = c.warning }, - DiagnosticInfo = { fg = c.info }, - DiagnosticHint = { fg = c.info }, - LspCodeLens = { fg = c.type_name, italic = true }, - IblIndent = { fg = c.grey2 }, - - ['@lsp.type.property.lua'] = { fg = c.key }, - ['@lsp.mod.defaultLibrary.lua'] = { fg = c.built_in }, - ['@lsp.type.parameter.python'] = { fg = c.parameter }, - - -- LSP Signature - LspSelectedParam = { fg = c.normal, bold = true, underline = true }, - - --lsp-inlayhints.nvim - LspInlayHint = { fg = c.type_name, italic = true }, - - --nvim-cmp - CmpItemAbbr = { fg = c.normal }, - CmpDocumentationBorder = { fg = c.border }, - CmpItemAbbrMatch = { fg = c.normal, bold = true }, - CmpItemAbbrMatchFuzzy = { fg = c.normal, bold = true, underline = true }, - CmpItemAbbrDeprecated = { fg = c.normal, bold = true }, - CmpItemKindVariable = { fg = c.var_name, bold = true }, - CmpItemKindInterface = { fg = c.type_name, bold = true }, - CmpItemKindText = { fg = c.normal, bold = true }, - CmpItemKindFunction = { fg = c.func_name, bold = true }, - CmpItemKindMethod = { fg = c.func_name, bold = true }, - CmpItemKindKeyword = { fg = c.built_in, bold = true }, - CmpItemKindProperty = { fg = c.key, bold = true }, - CmpItemKindUnit = { fg = c.yellow, bold = true }, - CmpItemKindCopilt = { fg = c.green, bold = true }, - CmpBorderedWindow_FloatBorder = { fg = c.border }, - - --neorg - ['@neorg.headings.1.title'] = { fg = c.red, bold = true }, - ['@neorg.headings.2.title'] = { fg = c.orange, bold = true }, - ['@neorg.headings.3.title'] = { fg = c.cyan, bold = true }, - ['@neorg.headings.4.title'] = { fg = c.green, bold = true }, - ['@neorg.headings.5.title'] = { fg = c.yellow, bold = true }, - ['@neorg.headings.6.title'] = { fg = c.grey3, bold = true }, - ['@neorg.headings.1.prefix'] = { fg = c.red, bold = true }, - ['@neorg.headings.2.prefix'] = { fg = c.orange, bold = true }, - ['@neorg.headings.3.prefix'] = { fg = c.cyan, bold = true }, - ['@neorg.headings.4.prefix'] = { fg = c.green, bold = true }, - ['@neorg.headings.5.prefix'] = { fg = c.yellow, bold = true }, - ['@neorg.headings.6.prefix'] = { fg = c.grey3, bold = true }, - ['@neorg.todo_items.done.1'] = { fg = c.success }, - ['@neorg.todo_items.done.2'] = { fg = c.success }, - ['@neorg.todo_items.done.3'] = { fg = c.success }, - ['@neorg.todo_items.done.4'] = { fg = c.success }, - ['@neorg.todo_items.done.5'] = { fg = c.success }, - ['@neorg.todo_items.done.6'] = { fg = c.success }, - ['@neorg.todo_items.undone.1'] = { fg = c.cyan }, - ['@neorg.todo_items.undone.2'] = { fg = c.cyan }, - ['@neorg.todo_items.undone.3'] = { fg = c.cyan }, - ['@neorg.todo_items.undone.4'] = { fg = c.cyan }, - ['@neorg.todo_items.undone.5'] = { fg = c.cyan }, - ['@neorg.todo_items.undone.6'] = { fg = c.cyan }, - ['@neorg.todo_items.pending.1'] = { fg = c.yellow }, - ['@neorg.todo_items.pending.2'] = { fg = c.yellow }, - ['@neorg.todo_items.pending.3'] = { fg = c.yellow }, - ['@neorg.todo_items.pending.4'] = { fg = c.yellow }, - ['@neorg.todo_items.pending.5'] = { fg = c.yellow }, - ['@neorg.todo_items.pending.6'] = { fg = c.yellow }, - - logDate = { fg = c.info }, - logLevelDebug = { fg = c.grey3 }, - logLevelInfo = { fg = c.info }, - - MiniMapNormal = { fg = c.hidden }, - MiniMapSymbolCount = { fg = c.info }, - MiniMapSymbolLine = { fg = c.cyan }, - MiniMapSymbolView = { fg = c.hidden }, - - NeogitDiffAddHighlight = { fg = '#859900' }, - NeogitDiffDeleteHighlight = { fg = '#dc322f' }, - NeogitDiffContextHighlight = { fg = '#b2b2b2' }, - NeogitHunkHeader = { fg = '#cccccc' }, - NeogitHunkHeaderHighlight = { fg = '#cccccc' }, - - FzfLuaBorder = { fg = c.border }, - - NeotestPassedWinBar = { fg = c.success, bg = c.grey1 }, - NeotestFailedWinBar = { fg = c.error, bg = c.grey1 }, - NeotestRunningWinBar = { fg = c.yellow, bg = c.grey1 }, - NeotestSkippedWinBar = { fg = c.cyan, bg = c.grey1 }, - - AerialVariableIcon = { fg = c.green }, -} - -local M = {} - -function M.set() - for group, args in pairs(highlights) do - vim.api.nvim_set_hl(0, group, args) - end -end - -return M diff --git a/.config/nvim/lua/keymaps.lua b/.config/nvim/lua/keymaps.lua index e8e2b29..f6d67ec 100644 --- a/.config/nvim/lua/keymaps.lua +++ b/.config/nvim/lua/keymaps.lua @@ -1,29 +1,35 @@ +local set = vim.keymap.set +local silent = { silent = true } + -- Misc -vim.keymap.set({ 'n', 'i' }, '', 'ggVG', { desc = 'Visually Highlight [A]ll' }) -vim.keymap.set('n', '', ':nohlsearch') -vim.keymap.set('n', 'z', function() +set({ 'n', 'i' }, '', 'ggVG', { desc = 'Visually Highlight [A]ll' }) +set('n', '', ':nohlsearch', silent) +set({ 'i', 'c' }, '', '+') +set('n', 'z', function() vim.cmd('Neotree close') vim.cmd('Trouble todo close') -end, { desc = '[Z]en Mode' }) -vim.keymap.set({ 'i', 'c' }, '', '+') +end, { desc = '[Z]en Mode', silent = true }) --- Undo/Redo -vim.keymap.set('n', 'U', ':redo') -vim.keymap.set('i', '', ':undo') +set('n', 'U', ':redo') +set('i', '', ':undo') -- Window Navigation -vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the down window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the up window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) +set('n', '', '', { desc = 'Move focus to the left window' }) +set('n', '', '', { desc = 'Move focus to the down window' }) +set('n', '', '', { desc = 'Move focus to the up window' }) +set('n', '', '', { desc = 'Move focus to the right window' }) -- Window resizing local resize = 2 -vim.keymap.set({ 'n', 't' }, '', string.format(':vertical resize -%d', resize), { desc = 'Resize Left' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':resize -%d', resize), { desc = 'Resize Up' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':resize +%d', resize), { desc = 'Resize Down' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':vertical resize +%d', resize), { desc = 'Resize Right' }) +set({ 'n', 't' }, '', string.format(':vertical resize -%d', resize), { desc = 'Resize Left' }) +set({ 'n', 't' }, '', string.format(':resize -%d', resize), { desc = 'Resize Up' }) +set({ 'n', 't' }, '', string.format(':resize +%d', resize), { desc = 'Resize Down' }) +set({ 'n', 't' }, '', string.format(':vertical resize +%d', resize), { desc = 'Resize Right' }) + +-- Keep selection after < and > in visual mode +set('v', '<', '', '>gv') --- Keep selection after < and > -vim.keymap.set('v', '<', '', '>gv', {}) +-- Execute lua file or line +set('n', 'x', '.lua', { desc = 'Execute the current line' }) +set('n', 'x', 'source %', { desc = 'Execute the current file' }) diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua index bd78e0e..8fecc36 100644 --- a/.config/nvim/lua/options.lua +++ b/.config/nvim/lua/options.lua @@ -3,14 +3,14 @@ vim.g.maplocalleader = ' ' -- System vim.g.have_nerd_font = true -vim.opt.mouse = 'a' -- enable mouse +vim.opt.mouse = 'a' -- enable mouse vim.opt.clipboard = 'unnamedplus' -- use system clipboard -- Tab vim.opt.expandtab = true -- convert tabs to spaces -vim.opt.tabstop = 4 -- number of visual spaces per TAB -vim.opt.softtabstop = 4 -- number of idfk tab when editing -vim.opt.shiftwidth = 4 -- number of spaces to insert on tab +vim.opt.tabstop = 4 -- number of visual spaces per TAB +vim.opt.softtabstop = 4 -- number of idfk tab when editing +vim.opt.shiftwidth = 4 -- number of spaces to insert on tab -- UI vim.opt.signcolumn = 'auto:9' @@ -22,6 +22,7 @@ vim.opt.splitbelow = true vim.opt.showmode = false -- don't show mode, because lualine already does vim.opt.list = true vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } +vim.diagnostic.config({ signs = false }) -- disable signcolumn diagnostics -- Searching vim.opt.hlsearch = true @@ -33,16 +34,13 @@ vim.opt.wrap = false vim.opt.scrolloff = 8 vim.opt.undofile = true vim.opt.termguicolors = true -vim.opt.laststatus = 3 -- views can only be fully collapsed with the global statusline -vim.opt.splitkeep = 'screen' -- for edgy.nvim +vim.opt.laststatus = 3 -- views can only be fully collapsed with the global statusline +vim.opt.splitkeep = 'screen' -- for edgy.nvim +vim.opt.inccommand = 'split' -- shows preview for commands like :%s/from/to +vim.opt.formatoptions:remove('o') -- don't have `o` add a comment -- Disable warnings for missing language providers vim.g.loaded_node_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_python3_provider = 0 - --- Disable signcolumn diagnostics -vim.diagnostic.config({ - signs = false, -}) diff --git a/.config/nvim/lua/plugin-manager.lua b/.config/nvim/lua/plugin-manager.lua index 0c68d7c..970847e 100644 --- a/.config/nvim/lua/plugin-manager.lua +++ b/.config/nvim/lua/plugin-manager.lua @@ -10,4 +10,6 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then }) end vim.opt.rtp:prepend(lazypath) -require('lazy').setup('plugins') +require('lazy').setup({ import = 'custom/plugins' }, { + change_detection = { notify = false }, +}) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua deleted file mode 100644 index a564707..0000000 --- a/.config/nvim/lua/plugins.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/plugins/alpha.lua deleted file mode 100644 index e1b9532..0000000 --- a/.config/nvim/lua/plugins/alpha.lua +++ /dev/null @@ -1,68 +0,0 @@ -return { - 'goolord/alpha-nvim', - dependencies = { - 'nvim-tree/nvim-web-devicons', - }, - config = function() - local alpha = require('alpha') - local dashboard = require('alpha.themes.dashboard') - - local function get_natural_day(day) - local suffix = 'th' - local day_mod = day % 10 - - if day_mod == 1 and day ~= 11 then - suffix = 'st' - elseif day_mod == 2 and day ~= 12 then - suffix = 'nd' - elseif day_mod == 3 and day ~= 13 then - suffix = 'rd' - end - - return tostring(day) .. suffix - end - - local find_file_path = '$HOME' - local date = os.date('  %A, %B ') .. get_natural_day(tonumber(os.date('%d'))) - local plugins = '  ' .. require('lazy').stats().count .. ' plugins ' - local v = vim.version() - local version = '  v' .. v.major .. '.' .. v.minor .. '.' .. v.patch - local info_line = date .. plugins .. version - - -- WARN: Just hardcoded the length of the first line in the header - local header_length = #'  ' - local padding = (header_length - #info_line) / 2 - info_line = string.rep(' ', padding) .. info_line - - dashboard.section.header.val = { - [[  ]], - [[ ████ ██████ █████ ██ ██ ]], - [[ ███████████ █████ ███ ]], - [[ █████████ ███████████████████ ███ ███████████ ]], - [[ █████████ ███ █████████████ █████ ██████████████ ]], - [[ █████████ ██████████ █████████ █████ █████ ████ █████ ]], - [[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]], - [[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]], - [[ ]], - info_line, - } - - dashboard.section.buttons.opts.spacing = 0 - dashboard.section.buttons.val = { - dashboard.button('e', ' > New file', 'ene startinsert'), - dashboard.button('w', ' > Find file', 'cd ' .. find_file_path .. ' | Telescope find_files'), - dashboard.button('r', ' > Recent', 'Telescope oldfiles'), - dashboard.button('c', ' > Configuration', 'e $MYVIMRC | cd %:p:h'), - dashboard.button( - 's', - '󱎠 > Last Session', - 'lua require("auto-session.session-lens.actions").alternate_session()' - ), - dashboard.button('q', '󰈆 > Quit NVIM', 'qa'), - } - - dashboard.section.footer.val = require('alpha.fortune')() - - alpha.setup(dashboard.opts) - end, -} diff --git a/.config/nvim/lua/plugins/auto-session.lua b/.config/nvim/lua/plugins/auto-session.lua deleted file mode 100644 index bf4fa27..0000000 --- a/.config/nvim/lua/plugins/auto-session.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - 'rmagatti/auto-session', - config = function() - vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions' - require('auto-session').setup({ - log_level = 'error', - auto_session_suppress_dirs = { '~/', '/' }, - }) - local session = require('auto-session.session-lens') - vim.keymap.set('n', '', session.search_session, { desc = '[S]ession Manager' }) - end, -} diff --git a/.config/nvim/lua/plugins/autopair.lua b/.config/nvim/lua/plugins/autopair.lua deleted file mode 100644 index c51bf19..0000000 --- a/.config/nvim/lua/plugins/autopair.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - 'windwp/nvim-autopairs', - event = 'InsertEnter', - config = true, -} diff --git a/.config/nvim/lua/plugins/color.lua b/.config/nvim/lua/plugins/color.lua deleted file mode 100644 index 0597733..0000000 --- a/.config/nvim/lua/plugins/color.lua +++ /dev/null @@ -1,13 +0,0 @@ -return { - 'uga-rosa/ccc.nvim', - lazy = false, - config = function() - require('ccc').setup({ - highlighter = { - auto_enable = true, - }, - }) - vim.keymap.set('n', 'cp', ':CccPick', { desc = '[C]olor [P]icker' }) - vim.keymap.set('n', 'ct', ':CccHighlighterToggle', { desc = '[C]olor [T]oggle' }) - end, -} diff --git a/.config/nvim/lua/plugins/colorschemes.lua b/.config/nvim/lua/plugins/colorschemes.lua deleted file mode 100644 index 84e824a..0000000 --- a/.config/nvim/lua/plugins/colorschemes.lua +++ /dev/null @@ -1,31 +0,0 @@ -return { - { 'rktjmp/lush.nvim', lazy = false, priority = 1001 }, - { 'catppuccin/nvim', lazy = false, priority = 1000 }, - { 'folke/tokyonight.nvim', lazy = false, priority = 1000 }, - { 'marko-cerovac/material.nvim', lazy = false, priority = 1000 }, - { 'rebelot/kanagawa.nvim', lazy = false, priority = 1000 }, - { 'projekt0n/github-nvim-theme', lazy = false, priority = 1000 }, - { 'EdenEast/nightfox.nvim', lazy = false, priority = 1000 }, - { 'rose-pine/neovim', lazy = false, priority = 1000 }, - { 'rafi/awesome-vim-colorschemes', lazy = false, priority = 1000 }, - { 'datsfilipe/min-theme.nvim', lazy = false, priority = 1000 }, - { 'nechaev/darkstorm.nvim', lazy = false, priority = 1000 }, - { 'briones-gabriel/darcula-solid.nvim', lazy = false, priority = 1000 }, - { - 'okaihe/okai', - lazy = false, - priority = 1000, - config = function() - require('okai').setup() - end, - }, - { - 'uloco/bluloco.nvim', - lazy = false, - priority = 1000, - dependencies = { 'rktjmp/lush.nvim' }, - }, - { 'doums/darcula', lazy = false, priority = 1000 }, - { 'pineapplegiant/spaceduck', lazy = false, priority = 1000 }, - -} diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua deleted file mode 100644 index 02eb39d..0000000 --- a/.config/nvim/lua/plugins/comment.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - 'numToStr/Comment.nvim', - opts = { - padding = true, - ignore = nil, - - toggler = { line = 'gcc', block = 'gbc' }, - opleader = { line = 'gc', block = 'gb' }, - extra = { above = 'gcO', below = 'gco', eol = 'gcA' }, - - mappings = { - basic = true, -- `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}` - extra = false, -- `gco`, `gcO`, `gcA` - }, - }, - config = function() - local api = require('Comment.api') - local esc = vim.api.nvim_replace_termcodes('', true, false, true) - local toggole_linewise_selection = function() - vim.api.nvim_feedkeys(esc, 'nx', false) - api.toggle.linewise(vim.fn.visualmode()) - end - - vim.keymap.set('n', '', api.toggle.linewise.current, { noremap = true, silent = true }) - vim.keymap.set('v', '', toggole_linewise_selection, { noremap = true, silent = true }) - end, -} diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua deleted file mode 100644 index 0699e9b..0000000 --- a/.config/nvim/lua/plugins/completions.lua +++ /dev/null @@ -1,50 +0,0 @@ -return { - { - 'hrsh7th/cmp-nvim-lsp', - }, - { - 'L3MON4D3/LuaSnip', - dependencies = { - 'saadparwaiz1/cmp_luasnip', - 'rafamadriz/friendly-snippets', - }, - }, - { - 'hrsh7th/nvim-cmp', - opts = function(_, opts) - -- Setup options for lazydev.nvim - opts.sources = opts.sources or {} - table.insert(opts.sources, { - name = 'lazydev', - group_index = 0, - }) - end, - config = function() - local cmp = require('cmp') - require('luasnip.loaders.from_vscode').lazy_load() - - cmp.setup({ - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - [''] = cmp.mapping.confirm({ select = true }), - }), - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - }, { { name = 'buffer' } }), - }) - end, - }, -} diff --git a/.config/nvim/lua/plugins/debug.lua b/.config/nvim/lua/plugins/debug.lua deleted file mode 100644 index 191dd33..0000000 --- a/.config/nvim/lua/plugins/debug.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - 'mfussenegger/nvim-dap', - dependencies = { - 'rcarriga/nvim-dap-ui', - 'nvim-neotest/nvim-nio', -- dependency for nvim-dap-ui - }, - config = function() - local dap = require('dap') - local dapui = require('dapui') - - dap.listeners.before.attach.dapui_config = function() - dapui.open() - end - dap.listeners.before.launch.dapui_config = function() - dapui.open() - end - dap.listeners.before.event_terminated.dapui_config = function() - dapui.close() - end - dap.listeners.before.event_exited.dapui_config = function() - dapui.close() - end - - vim.keymap.set('n', 'bp', dap.toggle_breakpoint, { desc = 'Set [B]reak[p]oint (toggle)' }) - vim.keymap.set('n', 'dd', dap.continue, { desc = '[D]ebugger [D]ebug (start)' }) - end, -} diff --git a/.config/nvim/lua/plugins/edgy.lua b/.config/nvim/lua/plugins/edgy.lua deleted file mode 100644 index 7f01245..0000000 --- a/.config/nvim/lua/plugins/edgy.lua +++ /dev/null @@ -1,37 +0,0 @@ -return { - 'folke/edgy.nvim', - event = 'VeryLazy', - opts = { - bottom = { - 'Trouble', - { ft = 'qf', title = 'QuickFix' }, - { - ft = 'help', - size = { height = 20 }, - filter = function(buf) -- only show help buffers - return vim.bo[buf].buftype == 'help' - end, - }, - { ft = 'spectre_panel', size = { height = 0.4 } }, - }, - left = { - { - title = 'Neo-Tree', - ft = 'neo-tree', - filter = function(buf) - return vim.b[buf].neo_tree_source == 'filesystem' - end, - size = { height = 0.5 }, - }, - { - title = 'Neo-Tree Git', - ft = 'neo-tree', - filter = function(buf) - return vim.b[buf].neo_tree_source == 'git_status' - end, - pinned = true, - open = 'Neotree position=right git_status', - }, - }, - }, -} diff --git a/.config/nvim/lua/plugins/ftFT.lua b/.config/nvim/lua/plugins/ftFT.lua deleted file mode 100644 index fcf37d8..0000000 --- a/.config/nvim/lua/plugins/ftFT.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - "gukz/ftFT.nvim", - opts = { - keys = { "f", "t", "F", "T" }, - modes = {"n", "v"}, - }, - config = true, -} diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua deleted file mode 100644 index bd022b9..0000000 --- a/.config/nvim/lua/plugins/git.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - { - 'lewis6991/gitsigns.nvim', - config = function() - require('gitsigns').setup() - vim.keymap.set('n', 'gp', ':Gitsigns preview_hunk', { desc = '[G]it [P]review' }) - vim.keymap.set('n', 'gb', ':Gitsigns toggle_current_line_blame', { desc = '[G]it [B]lame' }) - end, - }, - { 'tpope/vim-fugitive' }, - { 'sindrets/diffview.nvim' }, - { - 'pwntester/octo.nvim', - config = function() - require('octo').setup() - vim.treesitter.language.register('markdown', 'octo') - - vim.api.nvim_create_autocmd('FileType', { - pattern = 'octo', - callback = function() - vim.keymap.set('i', '@', '@', { silent = true, buffer = true }) - vim.keymap.set('i', '#', '#', { silent = true, buffer = true }) - end, - }) - vim.keymap.set('n', 'gi', ':Octo issue search', { desc = '[G]thub [I]ssues' }) - end, - }, -} diff --git a/.config/nvim/lua/plugins/harpoon.lua b/.config/nvim/lua/plugins/harpoon.lua deleted file mode 100644 index 167d5ea..0000000 --- a/.config/nvim/lua/plugins/harpoon.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - 'ThePrimeagen/harpoon', - branch = 'harpoon2', - dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() - local harpoon = require('harpoon') - harpoon:setup() - - vim.keymap.set('n', 'a', function() - harpoon:list():add() - end) - vim.keymap.set('n', '', function() - harpoon.ui:toggle_quick_menu(harpoon:list()) - end) - - for i = 1, 9 do - vim.keymap.set('n', '', function() - harpoon:list():select(i) - end) - end - - end, -} diff --git a/.config/nvim/lua/plugins/illuminate.lua b/.config/nvim/lua/plugins/illuminate.lua deleted file mode 100644 index ae99f39..0000000 --- a/.config/nvim/lua/plugins/illuminate.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - 'RRethy/vim-illuminate', - config = function() - vim.keymap.set('n', 'it', ':IlluminateToggle', { desc = '[I]lluminate [Tloggle]' }) - end, -} diff --git a/.config/nvim/lua/plugins/indent-blankline.lua b/.config/nvim/lua/plugins/indent-blankline.lua deleted file mode 100644 index 7130fbb..0000000 --- a/.config/nvim/lua/plugins/indent-blankline.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - 'lukas-reineke/indent-blankline.nvim', - main = 'ibl', - opts = {}, - config = function() - require('ibl').setup() - end, -} diff --git a/.config/nvim/lua/plugins/lazydev.lua b/.config/nvim/lua/plugins/lazydev.lua deleted file mode 100644 index ab0de90..0000000 --- a/.config/nvim/lua/plugins/lazydev.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - { - 'folke/lazydev.nvim', - ft = 'lua', - opts = { - library = { - { path = 'luvit-meta/library', words = { 'vim%.uv' } }, - }, - }, - }, - { - 'Bilal2453/luvit-meta', - lazy = true, - }, -} diff --git a/.config/nvim/lua/plugins/leap.lua b/.config/nvim/lua/plugins/leap.lua deleted file mode 100644 index 3c4e99e..0000000 --- a/.config/nvim/lua/plugins/leap.lua +++ /dev/null @@ -1,16 +0,0 @@ -return { - 'ggandor/leap.nvim', - dependencies = { "tpope/vim-repeat" }, - config = function() - vim.keymap.set({ 'n', 'x', 'o' }, 's', '(leap-forward)') - vim.keymap.set({ 'n', 'x', 'o' }, 'S', '(leap-backward)') - vim.keymap.set({ 'n', 'x', 'o' }, 'gs', '(leap-from-window)') - - -- Define equivalence classes for brackets and quotes, in addition to - -- the default whitespace group. - require('leap').opts.equivalence_classes = { ' \t\r\n', '([{', ')]}', '\'"`' } - - -- Set background to gray in searchable area - vim.api.nvim_set_hl(0, 'LeapBackdrop', { fg = '#777777' }) - end, -} diff --git a/.config/nvim/lua/plugins/lightbulb.lua b/.config/nvim/lua/plugins/lightbulb.lua deleted file mode 100644 index 29aeffb..0000000 --- a/.config/nvim/lua/plugins/lightbulb.lua +++ /dev/null @@ -1,20 +0,0 @@ -return { - 'kosayoda/nvim-lightbulb', - config = function() - require('nvim-lightbulb').setup({ - autocmd = { - enabled = true, - updatetime = 50, - }, - action_kinds = { 'quickfix', 'refactor.rewrite' }, - sign = { enabled = false }, - virtual_text = { enabled = true }, - float = { enabled = true }, - ignore = { - ft = { 'neo-tree' }, - actions_without_kind = true, - }, - }) - local test = "" - end, -} diff --git a/.config/nvim/lua/plugins/lsp-saga.lua b/.config/nvim/lua/plugins/lsp-saga.lua deleted file mode 100644 index edbe855..0000000 --- a/.config/nvim/lua/plugins/lsp-saga.lua +++ /dev/null @@ -1,51 +0,0 @@ -return { - 'nvimdev/lspsaga.nvim', - dependencies = { - 'nvim-treesitter/nvim-treesitter', - 'nvim-tree/nvim-web-devicons', - }, - config = function() - require('lspsaga').setup({ - lightbulb = { - enable = false, - sign = false, - virtual_text = true, - }, - implement = { - sign = false, - virtual_text = true, - }, - floaterm = { - height = 0.7, - width = 0.7, - }, - outline = { - layout = 'float', - }, - }) - local diagnostic = require('lspsaga.diagnostic') - - vim.keymap.set('n', 'K', ':Lspsaga hover_doc', { desc = 'Display Docs' }) - vim.keymap.set('n', 'R', ':Lspsaga rename', { desc = '[R]ename' }) - - vim.keymap.set('n', 'os', 'Lspsaga outline', { desc = '[T]erminal' }) - - vim.keymap.set({ 'n', 'i' }, '', 'Lspsaga code_action', { desc = 'Code Actions' }) - vim.keymap.set('n', 'ca', ':Lspsaga code_action', { desc = '[C]ode [A]ctions' }) - - vim.keymap.set('n', 'ge', function() - diagnostic:goto_next({ severity = vim.diagnostic.severity.WARN }) - end, { desc = '[G]oto [E]rror' }) - vim.keymap.set('n', 'gE', function() - diagnostic:goto_prev({ severity = vim.diagnostic.severity.WARN }) - end, { desc = '[G]oto [E]rror (prev)' }) - vim.keymap.set( - 'n', - 'dw', - 'Lspsaga show_workspace_diagnostics ++normal', - { desc = '[D]iagnostics for [W]orkspace' } - ) - - vim.keymap.set({ 'n', 't' }, '', 'Lspsaga term_toggle', { desc = '[T]erminal' }) - end, -} diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua deleted file mode 100644 index 74b9ed4..0000000 --- a/.config/nvim/lua/plugins/lsp.lua +++ /dev/null @@ -1,48 +0,0 @@ -return { - { - 'williamboman/mason.nvim', - lazy = false, - config = function() - require('mason').setup() - end, - }, - { - 'williamboman/mason-lspconfig.nvim', - lazy = false, - config = function() - require('mason-lspconfig').setup({ - ensure_installed = { - 'lua_ls', - 'clangd', - 'gradle_ls', - 'jdtls', - 'kotlin_language_server', - 'pyright', - 'rust_analyzer', - 'taplo', - 'bashls', - 'lemminx', - 'yamlls', - }, - }) - end, - }, - { - 'neovim/nvim-lspconfig', - lazy = false, - config = function() - local lspconfig = require('lspconfig') - lspconfig.lua_ls.setup({}) - lspconfig.clangd.setup({}) - lspconfig.gradle_ls.setup({}) - lspconfig.jdtls.setup({}) - lspconfig.kotlin_language_server.setup({}) - lspconfig.pyright.setup({}) - lspconfig.rust_analyzer.setup({}) - lspconfig.taplo.setup({}) - lspconfig.bashls.setup({}) - lspconfig.lemminx.setup({}) - lspconfig.yamlls.setup({}) - end, - }, -} diff --git a/.config/nvim/lua/plugins/lsp_signature.lua b/.config/nvim/lua/plugins/lsp_signature.lua deleted file mode 100644 index 33c2429..0000000 --- a/.config/nvim/lua/plugins/lsp_signature.lua +++ /dev/null @@ -1,20 +0,0 @@ -return { - -- 'ray-x/lsp_signature.nvim', - -- event = 'VeryLazy', - -- config = function() - -- local lsp_signature = require('lsp_signature') - -- vim.api.nvim_create_autocmd('LspAttach', { - -- callback = function(args) - -- local bufnr = args.buf - -- local client = vim.lsp.get_client_by_id(args.data.client_id) - -- if vim.tbl_contains({ 'null-ls' }, client.name) then - -- return - -- end - -- lsp_signature.on_attach({}, bufnr) - -- end, - -- }) - -- - -- require('lsp_signature').setup({}) - -- vim.keymap.set({ 'i', 'n' }, '', lsp_signature.toggle_float_win, { desc = 'toggle signature' }) - -- end, -} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 99dd11f..0000000 --- a/.config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - 'nvim-lualine/lualine.nvim', - config = function() - -- TODO: Configure this to make the status line fully customizable - require('lualine').setup({ - options = { - theme = 'tokyonight', - }, - sections = { lualine_c = { require('auto-session.lib').current_session_name } }, - }) - end, -} diff --git a/.config/nvim/lua/plugins/neoclip.lua b/.config/nvim/lua/plugins/neoclip.lua deleted file mode 100644 index ef4f15b..0000000 --- a/.config/nvim/lua/plugins/neoclip.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - 'AckslD/nvim-neoclip.lua', - dependencies = { - { 'kkharji/sqlite.lua', module = 'sqlite' }, - { 'nvim-telescope/telescope.nvim' }, - }, - config = function() - require('neoclip').setup({ - enable_persistent_history = true, - keys = { - telescope = { - i = { - paste = '', - paste_behind = '', - }, - }, - } - }) - -- NOTE: Using `plus` to set the plus register to the selected value - vim.keymap.set('n', 'nc', ':Telescope neoclip plus', { desc = '[N]eo[c]lip History' }) - end, -} diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua deleted file mode 100644 index b8a4ee9..0000000 --- a/.config/nvim/lua/plugins/neotree.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - 'nvim-neo-tree/neo-tree.nvim', - branch = 'v3.x', - dependencies = { - 'nvim-lua/plenary.nvim', - 'nvim-tree/nvim-web-devicons', - 'MunifTanjim/nui.nvim', - }, - opts = { - open_files_do_not_replace_types = { 'terminal', 'Trouble', 'qf', 'edgy' }, - }, - config = function() - vim.keymap.set('n', 'nt', ':Neotree toggle reveal left', { desc = '[N]eotree [T]oggle' }) - end, -} diff --git a/.config/nvim/lua/plugins/noice.lua b/.config/nvim/lua/plugins/noice.lua deleted file mode 100644 index f4acfe4..0000000 --- a/.config/nvim/lua/plugins/noice.lua +++ /dev/null @@ -1,204 +0,0 @@ -return { - --[[ - 'folke/noice.nvim', - dependencies = { - 'MunifTanjim/nui.nvim', - 'rcarriga/nvim-notify', - }, - event = 'VeryLazy', - config = function() - require('noice').setup({ - cmdline = { - enabled = false, -- enables the Noice cmdline UI - view = 'cmdline_popup', -- view for rendering the cmdline. Change to `cmdline` to get a classic cmdline at the bottom - opts = {}, -- global options for the cmdline. See section on views - ---@type table - format = { - -- conceal: (default=true) This will hide the text in the cmdline that matches the pattern. - -- view: (default is cmdline view) - -- opts: any options passed to the view - -- icon_hl_group: optional hl_group for the icon - -- title: set to anything or empty string to hide - cmdline = { pattern = '^:', icon = '', lang = 'vim' }, - search_down = { kind = 'search', pattern = '^/', icon = ' ', lang = 'regex' }, - search_up = { kind = 'search', pattern = '^%?', icon = ' ', lang = 'regex' }, - filter = { pattern = '^:%s*!', icon = '$', lang = 'bash' }, - lua = { pattern = { '^:%s*lua%s+', '^:%s*lua%s*=%s*', '^:%s*=%s*' }, icon = '', lang = 'lua' }, - help = { pattern = '^:%s*he?l?p?%s+', icon = '' }, - input = { view = 'cmdline_input', icon = '󰥻 ' }, -- Used by input() - -- lua = false, -- to disable a format, set to `false` - }, - }, - messages = { - -- NOTE: If you enable messages, then the cmdline is enabled automatically. - -- This is a current Neovim limitation. - enabled = false, -- enables the Noice messages UI - view = 'notify', -- default view for messages - view_error = 'notify', -- view for errors - view_warn = 'notify', -- view for warnings - view_history = 'messages', -- view for :messages - view_search = 'virtualtext', -- view for search count messages. Set to `false` to disable - }, - popupmenu = { - enabled = true, -- enables the Noice popupmenu UI - ---@type 'nui'|'cmp' - backend = 'nui', -- backend to use to show regular cmdline completions - ---@type NoicePopupmenuItemKind|false - -- Icons for completion item kinds (see defaults at noice.config.icons.kinds) - kind_icons = {}, -- set to `false` to disable icons - }, - -- default options for require('noice').redirect - -- see the section on Command Redirection - ---@type NoiceRouteConfig - redirect = { - view = 'popup', - filter = { event = 'msg_show' }, - }, - -- You can add any custom commands below that will be available with `:Noice command` - ---@type table - commands = { - history = { - -- options for the message history that you get with `:Noice` - view = 'split', - opts = { enter = true, format = 'details' }, - filter = { - any = { - { event = 'notify' }, - { error = true }, - { warning = true }, - { event = 'msg_show', kind = { '' } }, - { event = 'lsp', kind = 'message' }, - }, - }, - }, - -- :Noice last - last = { - view = 'popup', - opts = { enter = true, format = 'details' }, - filter = { - any = { - { event = 'notify' }, - { error = true }, - { warning = true }, - { event = 'msg_show', kind = { '' } }, - { event = 'lsp', kind = 'message' }, - }, - }, - filter_opts = { count = 1 }, - }, - -- :Noice errors - errors = { - -- options for the message history that you get with `:Noice` - view = 'popup', - opts = { enter = true, format = 'details' }, - filter = { error = true }, - filter_opts = { reverse = true }, - }, - all = { - -- options for the message history that you get with `:Noice` - view = 'split', - opts = { enter = true, format = 'details' }, - filter = {}, - }, - }, - notify = { - -- Noice can be used as `vim.notify` so you can route any notification like other messages - -- Notification messages have their level and other properties set. - -- event is always "notify" and kind can be any log level as a string - -- The default routes will forward notifications to nvim-notify - -- Benefit of using Noice for this is the routing and consistent history view - enabled = true, - view = 'notify', - }, - lsp = { - progress = { - enabled = true, - -- Lsp Progress is formatted using the builtins for lsp_progress. See config.format.builtin - -- See the section on formatting for more details on how to customize. - --- @type NoiceFormat|string - format = 'lsp_progress', - --- @type NoiceFormat|string - format_done = 'lsp_progress_done', - throttle = 1000 / 30, -- frequency to update lsp progress message - view = 'mini', - }, - override = { - ['vim.lsp.util.convert_input_to_markdown_lines'] = true, - ['vim.lsp.util.stylize_markdown'] = true, - ['cmp.entry.get_documentation'] = true, - }, - hover = { - enabled = true, - silent = false, -- set to true to not show a message if hover is not available - view = nil, -- when nil, use defaults from documentation - ---@type NoiceViewOptions - opts = {}, -- merged with defaults from documentation - }, - signature = { - enabled = true, - auto_open = { - enabled = true, - trigger = true, -- Automatically show signature help when typing a trigger character from the LSP - luasnip = true, -- Will open signature help when jumping to Luasnip insert nodes - throttle = 50, -- Debounce lsp signature help request by 50ms - }, - view = nil, -- when nil, use defaults from documentation - ---@type NoiceViewOptions - opts = {}, -- merged with defaults from documentation - }, - message = { - -- Messages shown by lsp servers - enabled = true, - view = 'notify', - opts = {}, - }, - -- defaults for hover and signature help - documentation = { - view = 'hover', - ---@type NoiceViewOptions - opts = { - lang = 'markdown', - replace = true, - render = 'plain', - format = { '{message}' }, - win_options = { concealcursor = 'n', conceallevel = 3 }, - }, - }, - }, - markdown = { - hover = { - ['|(%S-)|'] = vim.cmd.help, -- vim help links - ['%[.-%]%((%S-)%)'] = require('noice.util').open, -- markdown links - }, - highlights = { - ['|%S-|'] = '@text.reference', - ['@%S+'] = '@parameter', - ['^%s*(Parameters:)'] = '@text.title', - ['^%s*(Return:)'] = '@text.title', - ['^%s*(See also:)'] = '@text.title', - ['{%S-}'] = '@parameter', - }, - }, - health = { - checker = true, -- Disable if you don't want health checks to run - }, - ---@type NoicePresets - presets = { - bottom_search = true, -- use a classic bottom cmdline for search - command_palette = true, -- position the cmdline and popupmenu together - long_message_to_split = true, -- long messages will be sent to a split - inc_rename = false, -- enables an input dialog for inc-rename.nvim - lsp_doc_border = false, -- add a border to hover docs and signature help - }, - throttle = 1000 / 30, -- how frequently does Noice need to check for ui updates? - ---@type NoiceConfigViews - views = {}, ---@see section on views - ---@type NoiceRouteConfig[] - routes = {}, --- @see section on routes - ---@type table - status = {}, --- @see section on statusline components - ---@type NoiceFormatOptions - format = {}, --- @see section on formatting - }) - end,]] -} diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua deleted file mode 100644 index 3a09d95..0000000 --- a/.config/nvim/lua/plugins/none-ls.lua +++ /dev/null @@ -1,13 +0,0 @@ -return { - 'nvimtools/none-ls.nvim', - config = function() - local null_ls = require('null-ls') - null_ls.setup({ - sources = { - null_ls.builtins.formatting.stylua, - }, - }) - - vim.keymap.set('n', '=', vim.lsp.buf.format, { desc = 'Format File' }) - end, -} diff --git a/.config/nvim/lua/plugins/obsidian.lua b/.config/nvim/lua/plugins/obsidian.lua deleted file mode 100644 index 55a242d..0000000 --- a/.config/nvim/lua/plugins/obsidian.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - 'epwalsh/obsidian.nvim', - version = '*', - lazy = true, - ft = 'markdown', - dependencies = { 'nvim-lua/plenary.nvim', 'hrsh7th/nvim-cmp' }, - opts = { - workspaces = { - { - name = 'personal', - path = '/mnt/c/users/owner/Projects/ObsidianSync', - }, - }, - }, -} diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua deleted file mode 100644 index eeeb327..0000000 --- a/.config/nvim/lua/plugins/oil.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - 'stevearc/oil.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - opts = {}, - config = function () - require("oil").setup() - vim.keymap.set('n', 'of', ':Oil --float', { desc = '[O]il [F]ilesystem' }) - end -} diff --git a/.config/nvim/lua/plugins/overseer.lua b/.config/nvim/lua/plugins/overseer.lua deleted file mode 100644 index 6362f2a..0000000 --- a/.config/nvim/lua/plugins/overseer.lua +++ /dev/null @@ -1,10 +0,0 @@ -return { - 'stevearc/overseer.nvim', - opts = {}, - config = function() - require('overseer').setup({ - templates = { 'builtin', 'user.c_build_make' }, - }) - vim.keymap.set('n', 'r', ':OverseerRun', { desc = '[R]un Task' }) - end, -} diff --git a/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua b/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua deleted file mode 100644 index 58d7e3c..0000000 --- a/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - name = 'C build (make)', - builder = function() - -- Full path to current file (see :help expand()) - local file = vim.fn.expand('%:p') - file = file:sub(1, -3) - return { - name = 'Make C file', - cmd = { 'make' }, - args = { file }, - components = { { 'on_output_quickfix', open = true }, 'default' }, - } - end, - condition = { - filetype = { 'c' }, - }, -} diff --git a/.config/nvim/lua/plugins/surround.lua b/.config/nvim/lua/plugins/surround.lua deleted file mode 100644 index 7f8c88b..0000000 --- a/.config/nvim/lua/plugins/surround.lua +++ /dev/null @@ -1,21 +0,0 @@ -return { - 'kylechui/nvim-surround', - version = '*', - event = 'VeryLazy', - config = function() - require('nvim-surround').setup({}) - local opts = {} - vim.keymap.set('v', '(', '(nvim-surround-visual)(', opts) - vim.keymap.set('v', ')', '(nvim-surround-visual))', opts) - vim.keymap.set('v', '{', '(nvim-surround-visual){', opts) - vim.keymap.set('v', '}', '(nvim-surround-visual)}', opts) - -- NOTE: I still want to be able to do < and > for indentation - -- vim.keymap.set('v', '<', '(nvim-surround-visual)<', opts) - -- vim.keymap.set('v', '>', '(nvim-surround-visual)>', opts) - vim.keymap.set('v', '[', '(nvim-surround-visual)[', opts) - vim.keymap.set('v', ']', '(nvim-surround-visual)]', opts) - vim.keymap.set('v', "'", "(nvim-surround-visual)'", opts) - vim.keymap.set('v', '"', '(nvim-surround-visual)"', opts) - vim.keymap.set('v', '`', '(nvim-surround-visual)`', opts) - end, -} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 6e95e21..0000000 --- a/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,73 +0,0 @@ -return { - { 'nvim-telescope/telescope-fzf-native.nvim' }, - { 'nvim-telescope/telescope-ui-select.nvim' }, - { - 'nvim-telescope/telescope.nvim', - tag = '0.1.5', - dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() - local builtin = require('telescope.builtin') - - vim.keymap.set('n', 'h', builtin.help_tags, { desc = '[H]elp' }) - vim.keymap.set('n', 'm', builtin.man_pages, { desc = '[M]an Pages' }) - vim.keymap.set('n', 'th', builtin.colorscheme, { desc = 'List [Th]eme' }) - vim.keymap.set('n', 'ob', builtin.buffers, { desc = '[O]pen [B]uffers' }) - - vim.keymap.set('n', 'fs', builtin.find_files, { desc = '[F]ile [S]ystem' }) - vim.keymap.set('n', 'fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) - vim.keymap.set('n', 'lv', builtin.live_grep, { desc = '[L]ive [G]rep' }) - vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = '[F]ind Recent Files ("." for old)' }) - - vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) - vim.keymap.set('n', 'gu', builtin.lsp_references, { desc = '[G]oto [U]sages' }) - vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = '[G]oto [I]mplementations' }) - vim.keymap.set('n', 'gt', builtin.lsp_type_definitions, { desc = '[G]oto [T]ype Definitions' }) - vim.keymap.set('n', 'gw', builtin.diagnostics, { desc = '[G]oto [W]arnings' }) - - vim.keymap.set('n', 'ds', builtin.lsp_document_symbols, { desc = '[D]ocument [S]symbols' }) - vim.keymap.set('n', 'ps', builtin.lsp_workspace_symbols, { desc = '[P]roject [S]ymbols' }) - - -- TODO: Look into the following - -- builtin.git_commits - -- builtin.git_branches - -- builtin.git_status - -- builtin.git_stash - - local telescope = require('telescope') - telescope.setup({ - defaults = { - mappings = { - i = { - -- map actions.which_key to (default: ) - -- actions.which_key shows the mappings for your picker, - -- e.g. git_{create, delete, ...}_branch for the git_branches picker - [''] = 'which_key', - [''] = 'cycle_previewers_next', - [''] = 'cycle_previewers_prev', - }, - }, - }, - pickers = { - find_files = { follow = true }, - grep_string = { additional_args = '--follow' }, - live_grep = { additional_args = '--follow' }, - }, - extensions = { - ui_select = { - require('telescope.themes').get_dropdown({}), - }, - fzf = { - fuzzy = true, -- false will only do exact matching - override_generic_sorter = true, -- override the generic sorter - override_file_sorter = true, -- override the file sorter - case_mode = 'smart_case', -- or "ignore_case" or "respect_case" - -- the default case_mode is "smart_case" - }, - }, - }) - - telescope.load_extension('ui-select') - telescope.load_extension('fzf') - end, - }, -} diff --git a/.config/nvim/lua/plugins/time-tracking.lua b/.config/nvim/lua/plugins/time-tracking.lua deleted file mode 100644 index d63a22b..0000000 --- a/.config/nvim/lua/plugins/time-tracking.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - 'wakatime/vim-wakatime', - lazy = false, -} diff --git a/.config/nvim/lua/plugins/todo.lua b/.config/nvim/lua/plugins/todo.lua deleted file mode 100644 index 86175a2..0000000 --- a/.config/nvim/lua/plugins/todo.lua +++ /dev/null @@ -1,105 +0,0 @@ --- Showcase --- TODO: lorem ipsum - --- FIX: lorem ipsum - --- OPTIMIZE: lorem ipsum - --- WARN: lorem ipsum - --- PERF: lorem ipsum - --- HACK: lorem ipsum - --- NOTE: lorem ipsum - --- TEST: lorem ipsum - --- UNSAFE: lorem ipsum - --- NORMAL: lorem ipsum - -return { - 'folke/todo-comments.nvim', - dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() - require('todo-comments').setup({ - signs = true, -- show icons in the signs column - sign_priority = 8, -- sign priority - - keywords = { - -- NOTE: These are "todos" - TODO = { icon = ' ', color = 'info', alt = { 'todo' } }, - FIX = { icon = ' ', color = 'error', alt = { 'FIXME', 'BUG', 'ISSUE' } }, - OPTIMIZE = { icon = ' ', color = 'performance' }, - -- NOTE: These are "notes" - WARN = { icon = ' ', color = 'warning', alt = { 'WARNING' } }, - PERF = { icon = ' ', color = 'performance', alt = { 'PERFORMANCE' } }, - HACK = { icon = ' ', color = 'warning', alt = { 'SMELL', 'CODE SMELL', 'BAD', 'BAD PRACTICE' } }, - NOTE = { icon = ' ', color = 'hint', alt = { 'INFO' } }, - TEST = { icon = '󰙨 ', color = 'test', alt = { 'TESTING', 'PASSED', 'FAILED' } }, - UNSAFE = { icon = '󰍛 ', color = 'error', alt = { 'SAFETY' } }, - }, - - gui_style = { - fg = 'NONE', - bg = 'BOLD', - }, - - merge_keywords = true, -- when true, custom keywords will be merged with the defaults - - -- highlighting of the line containing the todo comment - -- * before: highlights before the keyword (typically comment characters) - -- * keyword: highlights of the keyword - -- * after: highlights after the keyword (todo text) - highlight = { - multiline = true, - multiline_pattern = '^.', -- lua pattern to match the next multiline from the start of the matched keyword - multiline_context = 10, -- extra lines that will be re-evaluated when changing a line - before = '', -- "fg" or "bg" or empty - keyword = 'wide', -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg) - after = 'fg', -- "fg" or "bg" or empty - pattern = { - [[.*<(KEYWORDS)\s*:]], - -- [[.*<(KEYWORDS)\s*]], - -- [[.*<(KEYWORDS)\s*!()]], - }, -- pattern or table of patterns, used for highlighting (vim regex) - comments_only = false, - max_line_len = 400, - exclude = {}, -- list of excluded filetypes - }, - - -- list of named colors where we try to extract the gui fg from the - -- list of highlight groups or use the hex color if hl not found as a fallback - colors = { - default = { 'Identifier', '#7C3AED' }, - error = { 'DiagnosticError', 'ErrorMsg', '#DC2626' }, - warning = { 'DiagnosticWarn', 'WarningMsg', '#FBBF24' }, - info = { 'DiagnosticInfo', '#2563EB' }, - hint = { '#10B981' }, - test = { 'Identifier', '#FF00FF' }, - performance = { '#7C3AED' }, - }, - - search = { - command = 'rg', - args = { - '--color=never', - '--no-heading', - '--with-filename', - '--line-number', - '--column', - -- "--hidden", -- show todos in hidden directories and files - '--follow', -- follow symlinks - }, - - -- regex that will be used to match keywords. - -- don't replace the (KEYWORDS) placeholder - pattern = [[\b(KEYWORDS):]], - -- pattern = [[\b(KEYWORDS)\b]], - }, - }) - vim.keymap.set('n', 'st', ':TodoTelescope keywords=TODO,FIX', { desc = '[S]earch [T]odos' }) - vim.keymap.set('n', 'lt', ':TodoTrouble', { desc = '[L]ist [T]odos' }) - end, -} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua deleted file mode 100644 index 1fffa27..0000000 --- a/.config/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - 'nvim-treesitter/nvim-treesitter', - build = ':TSUpdate', - config = function() - local config = require('nvim-treesitter.configs') - config.setup({ - auto_install = true, - highlight = { enable = true }, - indent = { enable = true }, - }) - end, -} diff --git a/.config/nvim/lua/plugins/trouble.lua b/.config/nvim/lua/plugins/trouble.lua deleted file mode 100644 index 858572e..0000000 --- a/.config/nvim/lua/plugins/trouble.lua +++ /dev/null @@ -1,37 +0,0 @@ -return { - 'folke/trouble.nvim', - opts = {}, - cmd = 'Trouble', - keys = { - { - 'xx', - 'Trouble diagnostics toggle', - desc = 'Diagnostics (Trouble)', - }, - { - 'xX', - 'Trouble diagnostics toggle filter.buf=0', - desc = 'Buffer Diagnostics (Trouble)', - }, - { - 'cs', - 'Trouble symbols toggle focus=false', - desc = 'Symbols (Trouble)', - }, - { - 'cl', - 'Trouble lsp toggle focus=false win.position=right', - desc = 'LSP Definitions / references / ... (Trouble)', - }, - { - 'xL', - 'Trouble loclist toggle', - desc = 'Location List (Trouble)', - }, - { - 'xQ', - 'Trouble qflist toggle', - desc = 'Quickfix List (Trouble)', - }, - }, -} diff --git a/.config/nvim/lua/plugins/vim-tmux-navigator.lua b/.config/nvim/lua/plugins/vim-tmux-navigator.lua deleted file mode 100644 index 4d5c018..0000000 --- a/.config/nvim/lua/plugins/vim-tmux-navigator.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - 'christoomey/vim-tmux-navigator', - vim.keymap.set('n', 'C-h', ':TmuxNavigatorLeft'), - vim.keymap.set('n', 'C-j', ':TmuxNavigatorDown'), - vim.keymap.set('n', 'C-k', ':TmuxNavigatorUp'), - vim.keymap.set('n', 'C-l', ':TmuxNavigatorRight'), -} diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua deleted file mode 100644 index 42eb72d..0000000 --- a/.config/nvim/lua/plugins/which-key.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - 'folke/which-key.nvim', - event = 'VeryLazy', - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 500 - end, -} -- cgit v1.3.1