From 61f2ce57b0c794b76c3e781487a920ff8d333c97 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Fri, 10 Apr 2026 08:48:02 -0400 Subject: [PATCH] Moved from Lazy to vim.pack! Need to clean up the rest of lazy code in init.lua, but so far everything is working with vim pack. --- nvim/.config/nvim/init.lua | 35 +- nvim/.config/nvim/lazy-lock.json | 46 +- nvim/.config/nvim/lua/core/keymaps.lua | 48 +- .../nvim/lua/plugins/avante.lua.backup | 69 --- .../nvim/lua/plugins/codecompanion.lua | 48 -- nvim/.config/nvim/lua/plugins/dashboard.lua | 130 ----- nvim/.config/nvim/lua/plugins/gitsigns.lua | 50 -- nvim/.config/nvim/lua/plugins/hover.lua | 27 - nvim/.config/nvim/lua/plugins/init.lua | 515 ------------------ .../nvim/lua/plugins/nvim-treesitter.lua | 42 -- nvim/.config/nvim/lua/plugins/telescope.lua | 168 ------ nvim/.config/nvim/nvim-pack-lock.json | 239 ++++++++ .../nvim/{lua/plugins => plugin}/blink.lua | 58 +- nvim/.config/nvim/plugin/codecompanion.lua | 29 + nvim/.config/nvim/plugin/colorschemes.lua | 14 + nvim/.config/nvim/plugin/dashboard.lua | 34 ++ .../{lua/plugins => plugin}/headlines.lua | 25 +- nvim/.config/nvim/plugin/hover.lua | 17 + nvim/.config/nvim/plugin/init.backup | 174 ++++++ nvim/.config/nvim/plugin/init.lua | 174 ++++++ nvim/.config/nvim/plugin/nvim-telescope.lua | 186 +++++++ nvim/.config/nvim/plugin/nvim-treesitter.lua | 32 ++ .../pulse.lua => plugin/pulse.lua.backup} | 0 .../{lua/plugins => plugin}/rainbow_csv.lua | 6 +- 24 files changed, 976 insertions(+), 1190 deletions(-) delete mode 100644 nvim/.config/nvim/lua/plugins/avante.lua.backup delete mode 100644 nvim/.config/nvim/lua/plugins/codecompanion.lua delete mode 100644 nvim/.config/nvim/lua/plugins/dashboard.lua delete mode 100644 nvim/.config/nvim/lua/plugins/gitsigns.lua delete mode 100644 nvim/.config/nvim/lua/plugins/hover.lua delete mode 100755 nvim/.config/nvim/lua/plugins/init.lua delete mode 100644 nvim/.config/nvim/lua/plugins/nvim-treesitter.lua delete mode 100644 nvim/.config/nvim/lua/plugins/telescope.lua create mode 100644 nvim/.config/nvim/nvim-pack-lock.json rename nvim/.config/nvim/{lua/plugins => plugin}/blink.lua (61%) create mode 100644 nvim/.config/nvim/plugin/codecompanion.lua create mode 100644 nvim/.config/nvim/plugin/colorschemes.lua create mode 100644 nvim/.config/nvim/plugin/dashboard.lua rename nvim/.config/nvim/{lua/plugins => plugin}/headlines.lua (54%) create mode 100644 nvim/.config/nvim/plugin/hover.lua create mode 100644 nvim/.config/nvim/plugin/init.backup create mode 100644 nvim/.config/nvim/plugin/init.lua create mode 100644 nvim/.config/nvim/plugin/nvim-telescope.lua create mode 100644 nvim/.config/nvim/plugin/nvim-treesitter.lua rename nvim/.config/nvim/{lua/plugins/pulse.lua => plugin/pulse.lua.backup} (100%) rename nvim/.config/nvim/{lua/plugins => plugin}/rainbow_csv.lua (75%) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 3598236..e292a99 100755 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,26 +1,25 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - local lazyrepo = "https://github.com/folke/lazy.nvim.git" - local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) - if vim.v.shell_error ~= 0 then - vim.api.nvim_echo({ - { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, - { out, "WarningMsg" }, - { "\nPress any key to exit..." }, - }, true, {}) - vim.fn.getchar() - os.exit(1) - end -end -vim.opt.rtp:prepend(lazypath) +-- local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +-- if not (vim.uv or vim.loop).fs_stat(lazypath) then +-- local lazyrepo = "https://github.com/folke/lazy.nvim.git" +-- local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) +-- if vim.v.shell_error ~= 0 then +-- vim.api.nvim_echo({ +-- { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, +-- { out, "WarningMsg" }, +-- { "\nPress any key to exit..." }, +-- }, true, {}) +-- vim.fn.getchar() +-- os.exit(1) +-- end +-- end +-- vim.opt.rtp:prepend(lazypath) vim.g.mapleader = ',' vim.g.localmapleader = ',' vim.opt.colorcolumn = '+2' -- vim.diagnostic.config({ virtual_text = true, virtual_lines = true }) -require('lazy').setup('plugins') --- require('code-shot').setup() +-- require('lazy').setup('plugins') ----------------------------------------------------------- @@ -77,7 +76,7 @@ opt.wrap = true ----------------------------------------------------------- opt.hidden = true -- Enable background buffers opt.history = 100 -- Remember N lines in historma:y -opt.lazyredraw = true -- Faster scrolling +opt.lazyredraw = false -- Faster scrolling opt.synmaxcol = 240 -- Max column for syntax highlight ----------------------------------------------------------- -- Colorscheme diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 619cb58..6ef2cff 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,55 +1,55 @@ { - "LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" }, + "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" }, - "blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "codecompanion-history.nvim": { "branch": "main", "commit": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a" }, - "codecompanion.nvim": { "branch": "main", "commit": "5e4f7cfac58c94c61d5a3d3a99d715d5c8762db6" }, - "dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" }, + "codecompanion.nvim": { "branch": "main", "commit": "9eeea4820a091321b085db2155c6133833bf72b0" }, + "dashboard-nvim": { "branch": "master", "commit": "62a10d9d55132b338dd742afc3c8a2683f3dd426" }, "deadcolumn.nvim": { "branch": "master", "commit": "92c86f10bfba2717ca2280e2e759b047135d5288" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" }, "eldritch.nvim": { "branch": "master", "commit": "0415fa72c348e814a7a6cc9405593a4f812fe12f" }, "f-string-toggle.nvim": { "branch": "main", "commit": "c1c77b4fce192e1615490d895863e2a0508d6021" }, - "fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" }, - "flemma.nvim": { "branch": "develop", "commit": "00d865154651c843129c3058c878e68a94232dba" }, + "fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" }, + "flemma.nvim": { "branch": "develop", "commit": "589b45f0911944e6f0833c23137186acca36b469" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" }, + "gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" }, "hackthebox.vim": { "branch": "main", "commit": "91a84adea2319e3701d76eaa25ae56795ad4dd0d" }, "headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" }, - "hover.nvim": { "branch": "main", "commit": "426a4ed53f9fb4e03e8fa501cdbd8a9ec1df2933" }, + "hover.nvim": { "branch": "main", "commit": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" }, "koda.nvim": { "branch": "main", "commit": "a560a332ccc1eb2caacb280a390213bb9f37b3cb" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "lualine.nvim": { "branch": "master", "commit": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2" }, "mcphub.nvim": { "branch": "main", "commit": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f" }, "mini.comment": { "branch": "main", "commit": "a0c721115faff8d05505c0a12dab410084d9e536" }, - "mini.diff": { "branch": "main", "commit": "ff3cd5e76e812fa18bde0f8126d6f3bb62008c79" }, + "mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" }, "mini.fuzzy": { "branch": "stable", "commit": "18e9cc3d7406f44a145d074ad18b10e472509a18" }, - "mini.hipatterns": { "branch": "main", "commit": "2c5dce6dc7443de814d16f7470549811ee86e664" }, - "mini.icons": { "branch": "main", "commit": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e" }, + "mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" }, + "mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" }, "mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" }, - "mini.move": { "branch": "main", "commit": "b8ba0b77e91b5f0fe8e014e03f7f59799dec1d96" }, + "mini.move": { "branch": "main", "commit": "74d140143b1bb905c3d0aebcfc2f216fd237080e" }, "mini.pairs": { "branch": "stable", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" }, "mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" }, - "mini.trailspace": { "branch": "main", "commit": "27acb69562a4742256ab3e4b0127391fcb49dbb3" }, - "mkdnflow.nvim": { "branch": "main", "commit": "708162864ba2760eb5e715d3543affb49d188311" }, + "mini.trailspace": { "branch": "main", "commit": "b362246495d18c29b4545a8f1c47f627f8011b7c" }, + "mkdnflow.nvim": { "branch": "main", "commit": "f20732686f70f60f18f09f4befe984ae63a99201" }, "morta": { "branch": "main", "commit": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa" }, "neowarrior.nvim": { "branch": "main", "commit": "197cd4a7a56d07374fcda09b5b56baa433e40549" }, - "nightfly": { "branch": "master", "commit": "3b48dc0c5921f899aeb1e6e61b77b9345888a2f7" }, + "nightfly": { "branch": "master", "commit": "250ee0eb4975e59a277f50cc03c980eef27fb483" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "numb.nvim": { "branch": "master", "commit": "12ef3913dea8727d4632c6f2ed47957a993de627" }, - "nvim": { "branch": "main", "commit": "384f304c8b04664c9e0091fbfb3923c5f97c1bcf" }, + "nvim": { "branch": "main", "commit": "df2a1f9f3392d688397e945544a30aec8fc9b4c7" }, "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, - "nvim-tree.lua": { "branch": "master", "commit": "a0db8bf7d6488b1dcd9cb5b0dfd6684a1e14f769" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, + "nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" }, + "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, + "nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "01993eb20c6cdc1d33e7e98252368840309f99b9" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "aab6caaffd79b8def22ec4320a5344f7c42f58d2" }, "rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" }, "solarized-osaka.nvim": { "branch": "main", "commit": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb" }, "telescope-cmdline.nvim": { "branch": "main", "commit": "b1c330835563c9628ce7c095cf20772f22f93f07" }, @@ -58,11 +58,11 @@ "telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" }, - "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "ba133b3e932416e4b9507095731a6d7276878fe8" }, + "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "57a0eb84b2008c76e77930639890d9874195b1e1" }, "tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, - "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "vim-arduino": { "branch": "master", "commit": "2ded67cdf09bb07c4805d9e93d478095ed3d8606" }, "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, diff --git a/nvim/.config/nvim/lua/core/keymaps.lua b/nvim/.config/nvim/lua/core/keymaps.lua index 0097739..001959b 100644 --- a/nvim/.config/nvim/lua/core/keymaps.lua +++ b/nvim/.config/nvim/lua/core/keymaps.lua @@ -5,13 +5,8 @@ local map = vim.api.nvim_set_keymap local default_opts = { noremap = true, silent = true } --- Fast saving with and s --- map('n', 's', ':w', default_opts) --- map('n', 'a', ':w|:luafile %', default_opts) --- map('n', 'aa', ':w|:luafile % |:Lazy', default_opts) --- map('i', 's', ':w', default_opts) --- Python Script that saves the file & moves Todos to my Todolist. --- map('n', 'sd', ':w|:! python3 ~/Documents/Northpass/Scripts/TodoMD/todo.py %', default_opts) +-- Update all plugins using vim.pack +map('n', 'u', ':lua vim.pack.update()', default_opts) -- Close and save all buffers and return to Dashboard map('n', 'ds', ':silent wa | %bd | Alpha', default_opts) @@ -55,42 +50,3 @@ map('t', '', '', default_opts) -- Exit Insert Mode Faster vim.keymap.set("n", "ca", function() require("tiny-code-action").code_action() end, { noremap = true, silent = true }) - ------------------------------------------------- --- Old Keymaps from Nvim-Mapper (Sunsetted) ------------------------------------------------- ---[[ --- Macros for Todo Trouble -M('n', '', "@t", default_opts, -"Add Todo", "todo_todo", "Add To-do/Task to the beginning of the line" -) - -M('n', '', "@s", default_opts, -"Add Solutions Engineering", "todo_seng", "Add Solutions Engineering to the beginning of the line" -) - -M('n', '', "@f", default_opts, -"Add Feature", "add_feat", "Add Feature Request tag to the beginning of the line. " -) - -M( 'n', '', "@c", default_opts, -"Replace with Complete", "add_complete", "Replace tag with Complete tag at beginning of the line." -) - -M('n', '', "@w", default_opts, -"Add Warning/Error", "add_error", "Add Warning/Error tag at the beginning of the line." -) - -M('n', 'ce', ":TodoTrouble keywords=TODO", default_opts, -"Show Todo Tags", "show_todos", "Show Todo Tags." -) - -M('n', 'cf', ":TodoTrouble keywords=FEAT", default_opts, -"Show Feature Tags", "show_features", "Show Feature Requests." -) - -M('n', 'cq', ":TodoTrouble keywords=ERROR, WARN", default_opts, -"Show Warning Tags", "show_warnings", "Show Errors Tags." -) - ---]] diff --git a/nvim/.config/nvim/lua/plugins/avante.lua.backup b/nvim/.config/nvim/lua/plugins/avante.lua.backup deleted file mode 100644 index 673a9f2..0000000 --- a/nvim/.config/nvim/lua/plugins/avante.lua.backup +++ /dev/null @@ -1,69 +0,0 @@ -return { - "yetone/avante.nvim", - build = function() - -- conditionally use the correct build system for the current OS - if vim.fn.has("win32") == 1 then - return "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" - else - return "make" - end - end, - event = "VeryLazy", - version = false, -- Never set this value to "*"! Never! - ---@module 'avante' - ---@type avante.Config - opts = { - -- add any opts here - -- for example - provider = "claude", - providers = { - claude = { - endpoint = "https://api.anthropic.com", - model = "claude-sonnet-4-20250514", - timeout = 30000, -- Timeout in milliseconds - extra_request_body = { - temperature = 0.75, - max_tokens = 20480, - }, - }, - }, - }, - dependencies = { - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - --- The below dependencies are optional, - "nvim-telescope/telescope.nvim", -- for file_selector provider telescope - "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions - "ibhagwan/fzf-lua", -- for file_selector provider fzf - "stevearc/dressing.nvim", -- for input provider dressing - "folke/snacks.nvim", -- for input provider snacks - "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons - "zbirenbaum/copilot.lua", -- for providers='copilot' - { - -- support for image pasting - "HakonHarnes/img-clip.nvim", - event = "VeryLazy", - opts = { - -- recommended settings - default = { - embed_image_as_base64 = false, - prompt_for_file_name = false, - drag_and_drop = { - insert_mode = true, - }, - -- required for Windows users - use_absolute_path = true, - }, - }, - }, - { - -- Make sure to set this up properly if you have lazy=true - 'MeanderingProgrammer/render-markdown.nvim', - opts = { - file_types = { "markdown", "Avante" }, - }, - ft = { "markdown", "Avante" }, - }, - }, -} diff --git a/nvim/.config/nvim/lua/plugins/codecompanion.lua b/nvim/.config/nvim/lua/plugins/codecompanion.lua deleted file mode 100644 index 7613edb..0000000 --- a/nvim/.config/nvim/lua/plugins/codecompanion.lua +++ /dev/null @@ -1,48 +0,0 @@ -return { - -- AI-powered coding companion with chat interface - "olimorris/codecompanion.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "ravitemer/mcphub.nvim", - "ravitemer/codecompanion-history.nvim", - }, - config = function() - require('codecompanion').setup { - strategies = { - chat = { - adapter = 'anthropic', - }, - inline = { - adapter = 'anthropic', - }, - }, - adapters = { - http = { - anthropic = function() - return require("codecompanion.adapters").extend("anthropic", { - env = { - -- Enter API KEY Here - -- api_key = "" - }, - }) - end, - }, - }, - -- NOTE: The log_level is in `opts.opts` - opts = { - opts = { - log_level = "DEBUG", - } - } - -- extensions = { - -- codecompanion_history = { - -- enabled = true, -- defaults to true - -- opts = { - -- history_file = vim.fn.stdpath("data") .. "/codecompanion_chats.json", - -- max_history = 10, -- maximum number of chats to keep - -- } - -- } - -- }, - } -end, -} diff --git a/nvim/.config/nvim/lua/plugins/dashboard.lua b/nvim/.config/nvim/lua/plugins/dashboard.lua deleted file mode 100644 index 25a6aff..0000000 --- a/nvim/.config/nvim/lua/plugins/dashboard.lua +++ /dev/null @@ -1,130 +0,0 @@ -return { --- { --- "folke/snacks.nvim", --- priority = 1000, --- lazy = false, --- ---@type snacks.Config --- opts = { --- -- your configuration comes here --- -- or leave it empty to use the default settings --- -- refer to the configuration section below --- dashboard = { --- sections = { --- { section = "header" }, --- -- { --- -- pane = 2, --- -- section = "terminal", --- -- cmd = "colorscript -e square", --- -- height = 5, --- -- padding = 1, --- -- }, --- { section = "keys", gap = 1, padding = 1 }, --- { --- pane = 2, --- icon = " ", --- desc = "Browse Repo", --- padding = 1, --- key = "b", --- action = function() --- Snacks.gitbrowse() --- end, --- }, --- function() --- local in_git = Snacks.git.get_root() ~= nil --- local cmds = { --- { --- title = "Notifications", --- cmd = "gh notify -s -a -n5", --- action = function() --- vim.ui.open("https://github.com/notifications") --- end, --- key = "n", --- icon = " ", --- height = 5, --- enabled = true, --- }, --- { --- title = "Open Issues", --- cmd = "gh issue list -L 3", --- key = "i", --- action = function() --- vim.fn.jobstart("gh issue list --web", { detach = true }) --- end, --- icon = " ", --- height = 7, --- }, --- { --- icon = " ", --- title = "Open PRs", --- cmd = "gh pr list -L 3", --- key = "p", --- action = function() --- vim.fn.jobstart("gh pr list --web", { detach = true }) --- end, --- height = 7, --- }, --- { --- icon = " ", --- title = "Git Status", --- cmd = "git --no-pager diff --stat -B -M -C", --- height = 10, --- }, --- } --- return vim.tbl_map(function(cmd) --- return vim.tbl_extend("force", { --- pane = 2, --- section = "terminal", --- enabled = in_git, --- padding = 1, --- ttl = 5 * 60, --- indent = 3, --- }, cmd) --- end, cmds) --- end, --- { section = "startup" }, --- } --- --- }, --- }, --- } -{ - 'nvimdev/dashboard-nvim', - event = 'VimEnter', - config = function() - require('dashboard').setup { - theme = 'hyper', - config = { - week_header = { - enable = true, - }, - shortcut = { - { desc = '󰊳 Update', group = '@property', action = 'Lazy update', key = 'u' }, - { - icon = ' ', - icon_hl = '@variable', - desc = 'Files', - group = 'Label', - action = 'Telescope find_files', - key = 'f', - }, - { - desc = ' NeoWarrior', - group = 'DiagnosticHint', - action = 'NeoWarriorOpen current', - key = 'n', - }, - { - desc = ' dotfiles', - group = 'Number', - action = 'Telescope dotfiles', - key = 'd', - }, - }, - }, - } - end, - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - -- dependencies = { {'nvim-tree/nvim-web-devicons'}} -} - -} diff --git a/nvim/.config/nvim/lua/plugins/gitsigns.lua b/nvim/.config/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 1c95978..0000000 --- a/nvim/.config/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,50 +0,0 @@ -return -- Signs for Git Status Information - { - 'lewis6991/gitsigns.nvim', - config = function() - require('gitsigns').setup () - end -} - -- signs = { - -- add = {hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'}, - -- change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, - -- delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, - -- topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, - -- changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, - -- }, --- signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` --- numhl = false, -- Toggle with `:Gitsigns toggle_numhl` --- linehl = false, -- Toggle with `:Gitsigns toggle_linehl` --- word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` --- watch_gitdir = { --- interval = 1000, --- follow_files = true --- }, --- attach_to_untracked = true, --- current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` --- current_line_blame_opts = { --- virt_text = true, --- virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' --- delay = 1000, --- ignore_whitespace = false, --- }, --- current_line_blame_formatter = ', - ', --- sign_priority = 1, --- update_debounce = 100, --- status_formatter = nil, -- Use default --- max_file_length = 40000, --- preview_config = { --- -- Options passed to nvim_open_win --- border = 'double', --- style = 'normal', --- relative = 'cursor', --- row = 0, --- col = 2 --- }, --- -- yadm = { --- -- enable = false --- -- }, --- } --- end --- } - diff --git a/nvim/.config/nvim/lua/plugins/hover.lua b/nvim/.config/nvim/lua/plugins/hover.lua deleted file mode 100644 index ab36f6c..0000000 --- a/nvim/.config/nvim/lua/plugins/hover.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - "lewis6991/hover.nvim", - config = function() - require("hover").setup { - init = function() - require("hover.providers.lsp") - -- require('hover.providers.gh') - -- require('hover.providers.gh_user') - -- require('hover.providers.jira') - require('hover.providers.man') - require('hover.providers.dictionary') - end, - preview_opts = { - border = nil - }, - -- Whether the contents of a currently open hover window should be moved - -- to a :h preview-window when pressing the hover keymap. - preview_window = false, - title = true - } - - -- Setup keymaps - vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"}) - vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"}) - end -} - diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua deleted file mode 100755 index 1b32946..0000000 --- a/nvim/.config/nvim/lua/plugins/init.lua +++ /dev/null @@ -1,515 +0,0 @@ -return { ----------------------------------------------------------------- --- LSP and Autocomplete Plugins --- They should be pulled first! ------------------------------------------------------------------ - - { - "rachartier/tiny-inline-diagnostic.nvim", - event = "VeryLazy", -- Or `LspAttach` - priority = 1000, -- needs to be loaded in first - config = function() - require('tiny-inline-diagnostic').setup() - vim.diagnostic.config({ virtual_text = true }) - end -}, - { - 'L3MON4D3/LuaSnip', version = "2.*", - build = "make install_jsregexp", - dependencies = { "friendly-snippets" }, - config = function() - require("luasnip").setup({ - history = true, - delete_check_events = "TextChanged", - }) - require("luasnip").filetype_extend("liquid", {"html","css","javascript","python"}) - require("luasnip.loaders.from_vscode").lazy_load() - require("luasnip.loaders.from_vscode").load({ - }) - -- require("luasnip.extras.filetype_functions").extend_load_ft({ - -- liquid = {"html", "css", "javascript" }, - -- }) - end, - }, - - -- Error: Command '['/Users/normrasmussen/.local/share/nvim/mason/packages/ruff/venv/bin/python3', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1. - - ------------------------------------------------------------- --- General Functionality ------------------------------------------------------------- - -{ - "Flemma-Dev/flemma.nvim", - opts = {}, -}, -{ - "folke/noice.nvim", - dependencies = { "rcarriga/nvim-notify" }, - opts = { - } -}, - - -- Neovim statusline - { - 'nvim-lualine/lualine.nvim', - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - config = function() require('lualine').setup({ - options = { - theme = 'nord', - }, - sections = { - lualine_x = { - { - require("noice").api.statusline.mode.get, - cond = require("noice").api.statusline.mode.has, - color = { fg = "#ff9e64" }, - }, - -- { - -- function() - -- return require("lazydo").get_lualine_stats() - -- end, - -- cond = function() - -- return require("lazydo")._initialized - -- end, - -- }, - {"fileformat", symbols = { unix = " " }, "filetype" }, - }, - }, - }) - end, - }, - - -- A file explorer that lets you edit your filesystem like a normal Neovim buffer. - -- { - -- 'stevearc/oil.nvim', - -- opts = {}, - -- dependencies = { { "echasnovski/mini.icons", opts = {} } }, - -- }, - - -- vim plugin for asynchronous synchronisation of remote files and local files using rsync - { 'kenn7/vim-arsync', - dependencies={'prabirshrestha/async.vim'}, - }, - --The goal of nvim-ufo is to make Neovim's fold look modern and keep high performance. - -- {'kevinhwang91/nvim-ufo', requires = 'kevinhwang91/promise-async'}, - - -- Open telescope and show files in the same directory as the current buffer. - -- { 'MaximilianLloyd/adjacent.nvim' }, - - --You can use this plugin to run HTTP requests directly in your favorite text editor. - -- { 'BlackLight/nvim-http' }, - - -- Vim plugin for compiling, uploading, and debugging arduino sketches. - -- It uses arduino-cli when available (recommended), and falls back to - -- using the Arduino IDE's commandline interface (new in 1.5.x). - { 'stevearc/vim-arduino'}, - - -- Single tabpage interface for easily cycling through diffs for all modified files for any git rev. - -- :DiffviewFileHistory % - { 'sindrets/diffview.nvim' }, - - -- numb.nvim is a Neovim plugin that peeks lines of the buffer in non-obtrusive way. - { - 'nacro90/numb.nvim', - config = function() require('numb').setup{ - show_cursorline = false, - show_numbers = false, -- Enable 'number' for the window while peeking - hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking - number_only = true, -- Peek only when the command is only a number instead of when it starts with a number - centered_peeking = true, - } - end, - }, - --- Nvim Tree File Manager on the Left -{ - "nvim-tree/nvim-tree.lua", - version = "*", - lazy = false, - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - -- dependencies = { "nvim-tree/nvim-web-devicons"}, - config = function() - require("nvim-tree").setup({ - sort_by = "case_sensitive", - view = { - width = 30, - }, - renderer = { - group_empty = true, - }, - filters = { - dotfiles = true, - }, - diagnostics = { - enable = true, - }, - }) - end, -}, - - -- Tmux Navigation - { - "aserowy/tmux.nvim", - config = function() require("tmux").setup() end - }, - -- Toggle an f-string when cursor is inside quoted string. - { - "roobert/f-string-toggle.nvim", - config = function() - require("f-string-toggle").setup{ - key_binding = "g" - } - end, - }, - - -- Snippets - 'rafamadriz/friendly-snippets', - - -- Rename and Work with Buffer & Tabs - {'romgrk/barbar.nvim', - dependencies = { { "echasnovski/mini.icons", opts = {} }, - { 'nvim-tree/nvim-web-devicons', opts = {} } - }, - }, - - - -- Trouble Shows Errors with Files. - { - "folke/trouble.nvim", - dependencies = { { "echasnovski/mini.icons", opts = {} } }, - -- dependencies = { 'nvim-tree/nvim-web-devicons' }, - config = function() - require("trouble").setup { - } - end - }, - - -- Which Key - pop-up that shows keymaps. - { - "folke/which-key.nvim", - event = "VeryLazy", - opts = { - preset = "modern", - }, - keys = { - { - "?", - function() - require("which-key").show({ global = false }) - end, - desc = "Buffer Local Keymaps (which-key)", - }, - }, -}, - --- Top Right Notify Pop Up - { - "rcarriga/nvim-notify", - config = function () - require("notify").setup ({ - timeout = 5000, - render = "minimal", - stages = "fade_in_slide_out", - on_open = function(win) - vim.api.nvim_win_set_config(win, { focusable = false }) - end, - }) - - vim.keymap.set("n", "", function() - require("notify").dismiss() - end, { desc = "dismiss notify popup and clear hlsearch" }) - vim.api.nvim_notify = require('notify') - vim.notify = require('notify') - end - }, - -- Custom Terminal within Neovim - {'akinsho/toggleterm.nvim', version = "*", - opts = { - direction = 'float', - } - }, - - ------------------------------------------------------------- --- echasnovski's Minis get a section of their own... ------------------------------------------------------------- -{ - 'echasnovski/mini.comment', version = '*', - config = function() - require('mini.comment').setup() - end - }, - { - 'echasnovski/mini.move', - config = function() - require('mini.move').setup({ - mappings = { - left = '', - right = '', - down = '', - up = '', - - line_left = '', - line_right = '', - line_down = '', - line_up = '', - } - }) - end - }, - { - 'echasnovski/mini.trailspace', - config = function() - require('mini.trailspace').setup() - end - }, - { - 'echasnovski/mini.surround', version = '*', - config = function() - require('mini.surround').setup() - end - }, - { - 'echasnovski/mini.pairs', branch = 'stable', - config = function() - require('mini.pairs').setup() - end - }, - { - 'echasnovski/mini.fuzzy', branch = 'stable', - config = function() - require('mini.fuzzy').setup() - end - }, - { - 'echasnovski/mini.hipatterns', version = false, - -- event = "BufReadPre", - config = function() - local hipatterns = require('mini.hipatterns') - hipatterns.setup({ - highlighters = { - hex_color = hipatterns.gen_highlighter.hex_color(), - hsl_color = { - pattern = "hsl%(%d+,? %d+,? %d+%)", - group = function(_, match) - local utils = require("solarized-osaka.hsl") - local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)") - local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl) - local hex_color = utils.hslToHex(h, s, l) - return MiniHipatterns.compute_hex_color_group(hex_color, "bg") - end, - }, - }, - }) - end - }, - { 'echasnovski/mini.indentscope', version = '*', - config = function() - require('mini.indentscope').setup() - end - }, - { - "echasnovski/mini.diff", - config = function() - local diff = require("mini.diff") - diff.setup({ - -- Disabled by default - source = diff.gen_source.none(), - }) - end, -}, - ------------------------------------------------------------ --- Markdown Plugins ------------------------------------------------------------- - { - 'jakewvincent/mkdnflow.nvim', - config = function() - require('mkdnflow').setup({ - -- Config goes here; leave blank for defaults - }) - end - }, - - -- { - -- "iamcco/markdown-preview.nvim", - -- build = "cd app && npm install", - -- ft = "markdown", - -- lazy = true, - -- keys = { { "gm", "MarkdownPreviewToggle", desc = "Markdown Preview" } }, - -- init = function() - -- vim.g.mkdp_filetypes = { "markdown" } - -- vim.g.mkdp_auto_close = true - -- vim.g.mkdp_open_to_the_world = false - -- vim.g.mkdp_open_ip = "127.0.0.1" - -- vim.g.mkdp_port = "8888" - -- vim.g.mkdp_browser = "" - -- vim.g.mkdp_echo_preview_url = true - -- vim.g.mkdp_page_title = "${name}" - -- end, - -- }, - -- { "jbyuki/venn.nvim" }, - - ---------------------------------------------------------- --- Text, Icons, Symbols ----------------------------------------------------------- - - { - "j-hui/fidget.nvim", - opts = { - -- options - }, - }, - 'lukas-reineke/indent-blankline.nvim', - -- 'karb94/neoscroll.nvim', - - -- Allow Popups for Telescope etc - -- 'nvim-lua/popup.nvim', - -- 'nvim-lua/plenary.nvim', - - -- Todo & Comments for Organization - { - 'folke/todo-comments.nvim', - dependencies = "nvim-lua/plenary.nvim", - opts = {} - -- config = function() - -- require("todo-comments").setup { - -- keywords = { - -- FIX = { - -- icon = " ", -- icon used for the sign, and in search results - -- color = "error", -- can be a hex color, or a named color (see below) - -- alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords - -- -- signs = false, -- configure signs for some keywords individually - -- }, - -- DONE = { icon = " ", color = "info" }, - -- IN_PROG = { icon = "󰇘", color = "default" }, - -- FEAT = { icon = " ", color = "warning", alt = { "NEED", "REQUEST" } }, - -- WARN = { icon = " ", color = "error", alt = { "WARNING", "ERROR" } }, - -- TODO = { icon = " ", color = "hint", alt = { "TASK", "TBD" } }, - -- RISK = { icon = " ", color = "hint", alt = { "RISK" } }, - -- GOAL = { icon = " ", color = "test", alt = { "GOAL", "KPI"} }, - -- }, - -- highlight = { - -- comments_only = false, - -- }, - -- colors = { - -- error = { "DiagnosticError", "ErrorMsg", "#DC2626" }, - -- warning = { "DiagnosticWarning", "WarningMsg", "#FBBF24" }, - -- info = { "DiagnosticInfo", "#2563EB" }, - -- hint = { "DiagnosticHint", "#10B981" }, - -- default = { "Identifier", "#7C3AED" }, - -- test = { "Identifier", "#FF00FF" } - -- }, - -- } - -- end - }, - -- Various telescopes - 'nvim-telescope/telescope-file-browser.nvim', - - { - 'nvim-telescope/telescope-fzf-native.nvim', - build = 'make' - }, - ------------------------------------------------------------ --- Various Color Schemes, Dashboard, etc ------------------------------------------------------------ - -{ - "oskarnurm/koda.nvim", - lazy = false, -- make sure we load this during startup if it is your main colorscheme - priority = 1000, -- make sure to load this before all the other start plugins - config = function() - -- require("koda").setup({ transparent = true }) - vim.cmd("colorscheme koda") - end, -}, - { - "eldritch-theme/eldritch.nvim", - lazy = false, - priority = 1000, - opts = {}, - }, - { 'audibleblink/hackthebox.vim' }, - -- { 'rktjmp/lush.nvim' }, - -- { 'normanras/link.nvim' }, - -- { dir = '/Users/normrasmussen/Documents/Projects/link-two/', lazy = true}, - { - "craftzdog/solarized-osaka.nvim", - lazy = false, - priority = 1000, - opts = {}, -}, - 'Mofiqul/dracula.nvim', - 'EdenEast/nightfox.nvim', - 'rebelot/kanagawa.nvim', - 'catppuccin/nvim', - { - "philosofonusus/morta.nvim", - name = 'morta', - priority = 1000, - opts = {}, - config = function() - vim.cmd.colorscheme 'morta' - end, - }, - { - "folke/tokyonight.nvim", - lazy = false, -- make sure we load this during startup if it is your main colorscheme - priority = 1000, -- make sure to load this before all the other start plugins - config = function() - -- load the colorscheme here - -- vim.cmd([[colorscheme tokyonight]]) - end, - }, - { 'bluz71/vim-nightfly-colors', name = "nightfly", lazy = true, priority = 1000 }, - 'Bekaboo/deadcolumn.nvim', - - -- UI Improvements and Changes - -- This is a Neovim plugin to autocorrect common misspellings and typos. If you type teh, neovim will automatically correct it to the. -{ - "https://git.sr.ht/~swaits/thethethe.nvim", - lazy = true, - event = "VeryLazy", - opts = { }, -}, - { 'HiPhish/rainbow-delimiters.nvim' }, - --- Wakatime Tracking - 'wakatime/vim-wakatime', - - -- Todo Manager - { - 'duckdm/neowarrior.nvim', - event = "VeryLazy", - brancy = "develop", - dependencies = { - 'nvim-telescope/telescope.nvim', - --- Optional but recommended for nicer inputs - 'folke/noice.nvim', - }, - --- See config example below - opts = { - } -}, ----------------------------------------------- ---- Custom Plugins and Tests ----------------------------------------------- - { - dir = '/Users/normrasmussen/Documents/Projects/markdown_organizer.nvim', - dev = true, - name = 'MarkdownOrganizerPlugin', - }, - -- { - -- dir = '/Users/normrasmussen/Documents/Projects/tasksPlugin.nvim/', - -- dev = true, - -- name = "Mkdn Tasks (DEV)", - -- }, - -- { - -- dir = '/Users/normrasmussen/Documents/Projects/pulse.nvim', - -- dev = true, - -- }, -} - diff --git a/nvim/.config/nvim/lua/plugins/nvim-treesitter.lua b/nvim/.config/nvim/lua/plugins/nvim-treesitter.lua deleted file mode 100644 index 003f9aa..0000000 --- a/nvim/.config/nvim/lua/plugins/nvim-treesitter.lua +++ /dev/null @@ -1,42 +0,0 @@ ---local status_ok, nvim_treesitter = pcall(require, 'nvim-treesitter.configs') ---if not status_ok then --- return ---end - -return { - 'nvim-treesitter/nvim-treesitter', - build = ":TSUpdate", - config = function () - local configs = require("nvim-treesitter.configs") - configs.setup({ - -- require('nvim-treesitter.install').update({ with_sync = true }) - -- A list of parser names, or "all" - ensure_installed = { - 'bash', 'css', 'html', 'javascript', 'json', 'lua', 'python', - 'vim', 'yaml', 'typescript', 'markdown', - }, - sync_install = true, - highlight = { - enable = true, - disable = function(lang, bufnr) - return lang == "py" and vim.api.nvim_buf_line_count(bufnr) > 5000 - end, - additional_vim_regex_highlighting = true, - }, - indent = { enable = true }, - }) - end, - disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, - } diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 0ef2ba7..0000000 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,168 +0,0 @@ -return { - { - 'nvim-telescope/telescope.nvim', tag = '0.1.8', - dependencies = { - 'nvim-lua/plenary.nvim', - 'nvim-telescope/telescope-live-grep-args.nvim', - 'jonarrien/telescope-cmdline.nvim', - }, - - config = function () - local g = vim.g - local fb_actions = require "telescope".extensions.file_browser.actions - local themes = { - popup_list = { - theme = 'popup_list', - border = true, - preview = false, - prompt_title = false, - results_title = false, - sorting_strategy = 'ascending', - layout_strategy = 'center', - borderchars = { - prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' }, - results = { '─', '│', '─', '│', '├', '┤', '┘', '└' }, - preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - }, - }, - popup_extended = { - theme = 'popup_extended', - prompt_title = false, - results_title = false, - layout_strategy = 'center', - layout_config = { - width = 0.7, - height = 0.3, - mirror = true, - preview_cutoff = 1, - }, - borderchars = { - prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' }, - results = { '─', '│', '─', '│', '├', '┤', '┘', '└' }, - preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - }, - }, - command_pane = { - theme = 'command_pane', - preview = false, - prompt_title = false, - results_title = false, - sorting_strategy = 'descending', - layout_strategy = 'bottom_pane', - layout_config = { - height = 13, - preview_cutoff = 1, - prompt_position = 'bottom' - }, - }, - ivy_plus = { - theme = 'ivy_plus', - preview = false, - prompt_title = false, - results_title = false, - layout_strategy = 'bottom_pane', - layout_config = { - height = 13, - preview_cutoff = 120, - prompt_position = 'bottom' - }, - borderchars = { - prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' }, - preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' }, - }, - }, - } - local telescope_installer = require('telescope').setup({ - defaults = { - border = true, - prompt_title = false, - results_title = false, - color_devicons = false, - layout_strategy = 'horizontal', - borderchars = { - prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, - }, - layout_config = { - bottom_pane = { - height = 20, - preview_cutoff = 120, - prompt_position = 'top' - }, - center = { - height = 0.4, - preview_cutoff = 40, - prompt_position = 'top', - width = 0.7 - }, - horizontal = { - prompt_position = 'top', - preview_cutoff = 40, - height = 0.9, - width = 0.8 - } - }, - sorting_strategy = 'ascending', - prompt_prefix = ' ', - selection_caret = ' → ', - entry_prefix = ' ', - file_ignore_patterns = {'node_modules'}, - path_display = { 'truncate' }, - results_title = false, - prompt_title =false, - preview = { - treesitter = { - enable = { - 'css', 'dockerfile', 'elixir', 'erlang', 'zsh', - 'html', 'http', 'javascript', 'json', 'lua', 'php', - 'python', 'regex', 'ruby', 'rust', 'scss', - 'typescript', 'yaml', 'markdown', 'bash', 'c', - 'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc', - 'json5', 'jsonc', 'llvm', 'make', 'ninja', - 'todotxt', 'toml', 'help' - } - } - }, - mappings = { - i = { - [''] = require('telescope.actions').close, - }, - } - }, - extensions = { - file_browser = { - mappings = { - ["i"] = { - [""] = fb_actions.create, - [""] = fb_actions.copy, - [""] = fb_actions.rename, - [""] = fb_actions.goto_cwd, - [""] = fb_actions.open, - [""] = fb_actions.remove, - }, - }, - cmdline = { - mappings = { - complete = '', - run_selection = '', - run_input = '', - } - } - }, - 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', -- other options: 'ignore_case' or 'respect_case' - } - } - }) - require("telescope").load_extension "file_browser" - require("telescope").load_extension "live_grep_args" - require("telescope").load_extension "fzf" - require("telescope").load_extension('cmdline') - end - }} - diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..3ea469e --- /dev/null +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -0,0 +1,239 @@ +{ + "plugins": { + "LuaSnip": { + "rev": "a62e1083a3cfe8b6b206e7d3d33a51091df25357", + "src": "https://github.com/L3MON4D3/LuaSnip" + }, + "async.vim": { + "rev": "2082d13bb195f3203d41a308b89417426a7deca1", + "src": "https://github.com/prabirshrestha/async.vim" + }, + "barbar.nvim": { + "rev": "539d73def39c9172b4d4d769f14090e08f37b29d", + "src": "https://github.com/romgrk/barbar.nvim" + }, + "blink.cmp": { + "rev": "a327b19a419347084074cce77f6cd074f54705ac", + "src": "https://github.com/saghen/blink.cmp", + "version": "1.0.0 - 2.0.0" + }, + "codecompanion-history.nvim": { + "rev": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a", + "src": "https://github.com/ravitemer/codecompanion-history.nvim" + }, + "codecompanion.nvim": { + "rev": "7d7957c26d33a97085d3a0c82eeb0147a0f51314", + "src": "https://github.com/olimorris/codecompanion.nvim" + }, + "dashboard-nvim": { + "rev": "62a10d9d55132b338dd742afc3c8a2683f3dd426", + "src": "https://github.com/nvimdev/dashboard-nvim" + }, + "deadcolumn.nvim": { + "rev": "92c86f10bfba2717ca2280e2e759b047135d5288", + "src": "https://github.com/Bekaboo/deadcolumn.nvim" + }, + "dracula.nvim": { + "rev": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee", + "src": "https://github.com/Mofiqul/dracula.nvim" + }, + "eldritch.nvim": { + "rev": "0415fa72c348e814a7a6cc9405593a4f812fe12f", + "src": "https://github.com/eldritch-theme/eldritch.nvim" + }, + "f-string-toggle.nvim": { + "rev": "c1c77b4fce192e1615490d895863e2a0508d6021", + "src": "https://github.com/roobert/f-string-toggle.nvim" + }, + "fidget.nvim": { + "rev": "889e2e96edef4e144965571d46f7a77bcc4d0ddf", + "src": "https://github.com/j-hui/fidget.nvim" + }, + "flemma.nvim": { + "rev": "589b45f0911944e6f0833c23137186acca36b469", + "src": "https://github.com/Flemma-Dev/flemma.nvim" + }, + "friendly-snippets": { + "rev": "6cd7280adead7f586db6fccbd15d2cac7e2188b9", + "src": "https://github.com/rafamadriz/friendly-snippets" + }, + "gitsigns.nvim": { + "rev": "8d82c240f190fc33723d48c308ccc1ed8baad69d", + "src": "https://github.com/lewis6991/gitsigns.nvim" + }, + "hackthebox.vim": { + "rev": "91a84adea2319e3701d76eaa25ae56795ad4dd0d", + "src": "https://github.com/audibleblink/hackthebox.vim" + }, + "headlines.nvim": { + "rev": "bf17c96a836ea27c0a7a2650ba385a7783ed322e", + "src": "https://github.com/lukas-reineke/headlines.nvim" + }, + "hover.nvim": { + "rev": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56", + "src": "https://github.com/lewis6991/hover.nvim" + }, + "indent-blankline.nvim": { + "rev": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03", + "src": "https://github.com/lukas-reineke/indent-blankline.nvim" + }, + "kanagawa.nvim": { + "rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10", + "src": "https://github.com/rebelot/kanagawa.nvim" + }, + "koda.nvim": { + "rev": "a560a332ccc1eb2caacb280a390213bb9f37b3cb", + "src": "https://github.com/oskarnurm/koda.nvim" + }, + "lualine.nvim": { + "rev": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2", + "src": "https://github.com/nvim-lualine/lualine.nvim" + }, + "mcphub.nvim": { + "rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f", + "src": "https://github.com/ravitemer/mcphub.nvim" + }, + "mini.icons": { + "rev": "7fdae2443a0e2910015ca39ad74b50524ee682d3", + "src": "https://github.com/echasnovski/mini.icons" + }, + "mini.nvim": { + "rev": "2431902e78b76f435542d1e606f08475360068ca", + "src": "https://github.com/nvim-mini/mini.nvim" + }, + "mkdnflow.nvim": { + "rev": "f20732686f70f60f18f09f4befe984ae63a99201", + "src": "https://github.com/jakewvincent/mkdnflow.nvim" + }, + "morta.nvim": { + "rev": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa", + "src": "https://github.com/philosofonusus/morta.nvim" + }, + "nightfox.nvim": { + "rev": "ba47d4b4c5ec308718641ba7402c143836f35aa9", + "src": "https://github.com/EdenEast/nightfox.nvim" + }, + "noice.nvim": { + "rev": "7bfd942445fb63089b59f97ca487d605e715f155", + "src": "https://github.com/folke/noice.nvim" + }, + "nui.nvim": { + "rev": "de740991c12411b663994b2860f1a4fd0937c130", + "src": "https://github.com/MunifTanjim/nui.nvim" + }, + "numb.nvim": { + "rev": "12ef3913dea8727d4632c6f2ed47957a993de627", + "src": "https://github.com/nacro90/numb.nvim" + }, + "nvim": { + "rev": "426dbebe06b5c69fd846ceb17b42e12f890aedf1", + "src": "https://github.com/catppuccin/nvim" + }, + "nvim-notify": { + "rev": "8701bece920b38ea289b457f902e2ad184131a5d", + "src": "https://github.com/rcarriga/nvim-notify" + }, + "nvim-tree.lua": { + "rev": "509962f21ab7289d8dcd28568af539be39a8c01e", + "src": "https://github.com/nvim-tree/nvim-tree.lua" + }, + "nvim-treesitter": { + "rev": "4916d6592ede8c07973490d9322f187e07dfefac", + "src": "https://github.com/nvim-treesitter/nvim-treesitter" + }, + "nvim-web-devicons": { + "rev": "95b7a002d5dba1a42eb58f5fac5c565a485eefd0", + "src": "https://github.com/nvim-tree/nvim-web-devicons" + }, + "nvimtelescope": { + "rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179", + "src": "https://github.com/nvim-telescope/telescope.nvim", + "version": "'v0.2.1'" + }, + "plenary.nvim": { + "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", + "src": "https://github.com/nvim-lua/plenary.nvim" + }, + "rainbow-delimiters.nvim": { + "rev": "aab6caaffd79b8def22ec4320a5344f7c42f58d2", + "src": "https://github.com/HiPhish/rainbow-delimiters.nvim" + }, + "rainbow_csv.nvim": { + "rev": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b", + "src": "https://github.com/cameron-wags/rainbow_csv.nvim" + }, + "ripgrep": { + "rev": "4519153e5e461527f4bca45b042fff45c4ec6fb9", + "src": "https://github.com/BurntSushi/ripgrep" + }, + "solarized-osaka.nvim": { + "rev": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb", + "src": "https://github.com/craftzdog/solarized-osaka.nvim" + }, + "telescope": { + "rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179", + "src": "https://github.com/nvim-telescope/telescope.nvim", + "version": "'v0.2.1'" + }, + "telescope-cmdline.nvim": { + "rev": "b1c330835563c9628ce7c095cf20772f22f93f07", + "src": "https://github.com/jonarrien/telescope-cmdline.nvim" + }, + "telescope-file-browser.nvim": { + "rev": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e", + "src": "https://github.com/nvim-telescope/telescope-file-browser.nvim" + }, + "telescope-fzf-native.nvim": { + "rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c", + "src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim" + }, + "telescope-live-grep-args.nvim": { + "rev": "53e9df55b3651dd7cf77e172f1e8c9a17407acca", + "src": "https://github.com/nvim-telescope/telescope-live-grep-args.nvim" + }, + "telescope.nvim": { + "rev": "7ef4d6dccb78ee71e552bbd866176762ad328afa", + "src": "https://github.com/nvim-telescope/telescope.nvim" + }, + "tiny-inline-diagnostic.nvim": { + "rev": "57a0eb84b2008c76e77930639890d9874195b1e1", + "src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim" + }, + "tmux.nvim": { + "rev": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8", + "src": "https://github.com/aserowy/tmux.nvim" + }, + "todo-comments.nvim": { + "rev": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668", + "src": "https://github.com/folke/todo-comments.nvim" + }, + "toggleterm.nvim": { + "rev": "9a88eae817ef395952e08650b3283726786fb5fb", + "src": "https://github.com/akinsho/toggleterm.nvim" + }, + "tokyonight.nvim": { + "rev": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6", + "src": "https://github.com/folke/tokyonight.nvim" + }, + "trouble.nvim": { + "rev": "bd67efe408d4816e25e8491cc5ad4088e708a69a", + "src": "https://github.com/folke/trouble.nvim" + }, + "vim-arsync": { + "rev": "dd5fd93182aafb67ede2ef465f379610980b52d3", + "src": "https://github.com/kenn7/vim-arsync" + }, + "vim-nightfly-colors": { + "rev": "250ee0eb4975e59a277f50cc03c980eef27fb483", + "src": "https://github.com/bluz71/vim-nightfly-colors" + }, + "vim-wakatime": { + "rev": "d7973b157a632d1edeff01818f18d67e584eeaff", + "src": "https://github.com/wakatime/vim-wakatime" + }, + "which-key.nvim": { + "rev": "3aab2147e74890957785941f0c1ad87d0a44c15a", + "src": "https://github.com/folke/which-key.nvim" + } + } +} diff --git a/nvim/.config/nvim/lua/plugins/blink.lua b/nvim/.config/nvim/plugin/blink.lua similarity index 61% rename from nvim/.config/nvim/lua/plugins/blink.lua rename to nvim/.config/nvim/plugin/blink.lua index e408748..e28bc19 100644 --- a/nvim/.config/nvim/lua/plugins/blink.lua +++ b/nvim/.config/nvim/plugin/blink.lua @@ -1,14 +1,22 @@ -return { - 'saghen/blink.cmp', - version = '1.*', - ---@module 'blink.cmp' - ---@type blink.cmp.Config - dependencies = { - 'rafamadriz/friendly-snippets', - 'L3MON4D3/LuaSnip', version = 'v2.*', - }, - opts = { - -- tree = { enabled = true }, +vim.api.nvim_create_autocmd('PackChanged', { + callback = function(ev) + if ev.data.spec.name == 'blink.cmp' then + local res = vim.system({ 'cargo', 'build', '--release' }, { cwd = ev.data.path }) + if vim.v.shell_error ~= 0 then + vim.notify('Failed to compile blink.cmp: ' .. res, vim.log.levels.ERROR) + else + vim.notify('Successfully compiled blink.cmp', vim.log.levels.INFO) + end + end + end, +}) + +vim.pack.add({ + {src = "https://github.com/saghen/blink.cmp", version = vim.version.range("^1")} +}) + +require("blink.cmp").setup({ + -- opts = { keymap = { preset = "default", [''] = { 'show', 'show_documentation', 'hide_documentation' }, @@ -33,34 +41,16 @@ return { nerd_font_variant = 'mono', }, completion = {documentation = { auto_show = true }, - -- menu = { auto_show = function(ctx) return ctx.mode ~= 'cmdline' end }, - -- keyword = { range = 'prefix', regex = '[%w_\\-]'}, - -- trigger = { show_on_blocked_trigger_characters = function() - -- if vim.api.nvim_get_mode().mode == 'c' then return {} end - -- return { ' ', '\n', '\t' } - -- end }, }, - -- snippets = { - -- expand = function(snippet) require('luasnip').lsp_expand(snippet) end, - -- active = function(filter) - -- if filter and filter.direction then - -- return require('luasnip').jumpable(filter.direction) - -- end - -- return require('luasnip').in_snippet() - -- end, - -- jump = function(direction) require('luasnip').jump(direction) end, - -- }, sources = { per_filetype = { - codecompanion = { "codecompanion" }, }, - default = {'lsp', 'path', 'snippets', 'buffer', 'codecompanion'}, + default = {'lsp', 'path', 'snippets', 'buffer' }, providers = { lsp = { name = "[Lsp]", module = "blink.cmp.sources.lsp", opts = {}, -- Passed to the source directly, varies by source - enabled = true, -- Whether or not to enable the provider async = true, -- Whether we should wait for the provider to return before showing the completions timeout_ms = 1000, -- How long to wait for the provider to return before showing completions and treating it as asynchronous @@ -68,8 +58,6 @@ return { should_show_items = true, -- Whether or not to show the items max_items = nil, -- Maximum number of items to display in the menu min_keyword_length = 0, -- Minimum number of characters in the keyword to trigger the provider - -- If this provider returns 0 items, it will fallback to these providers. - -- If multiple providers fallback to the same provider, all of the providers must return 0 items for it to fallback fallbacks = {}, score_offset = 7, -- Boost/penalize the score of the items override = nil, -- Override the source's functions @@ -89,8 +77,6 @@ return { }, }, }, - -- fuzzy = { implementation = "prefer_rust_with_warning" }, - -- opts_extend = { "sources.default" } }, - } - } + -- } + }) diff --git a/nvim/.config/nvim/plugin/codecompanion.lua b/nvim/.config/nvim/plugin/codecompanion.lua new file mode 100644 index 0000000..79661f7 --- /dev/null +++ b/nvim/.config/nvim/plugin/codecompanion.lua @@ -0,0 +1,29 @@ +-- vim.pack.add({"https://github.com/olimorris/codecompanion.nvim"}) +-- require("codecompanion").setup({ +-- strategies = { +-- chat = { +-- adapter = 'anthropic', +-- }, +-- inline = { +-- adapter = 'anthropic', +-- }, +-- }, +-- adapters = { +-- http = { +-- anthropic = function() +-- return require("codecompanion.adapters").extend("anthropic", { +-- env = { +-- -- Enter API KEY Here +-- api_key = "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" +-- }, +-- }) +-- end, +-- }, +-- }, +-- -- NOTE: The log_level is in `opts.opts` +-- opts = { +-- opts = { +-- log_level = "DEBUG", +-- } +-- } +-- }) diff --git a/nvim/.config/nvim/plugin/colorschemes.lua b/nvim/.config/nvim/plugin/colorschemes.lua new file mode 100644 index 0000000..4a69347 --- /dev/null +++ b/nvim/.config/nvim/plugin/colorschemes.lua @@ -0,0 +1,14 @@ +vim.pack.add({ + "https://github.com/oskarnurm/koda.nvim", + "https://github.com/eldritch-theme/eldritch.nvim", + "https://github.com/audibleblink/hackthebox.vim", + "https://github.com/craftzdog/solarized-osaka.nvim", + "https://github.com/philosofonusus/morta.nvim", + "https://github.com/Mofiqul/dracula.nvim", + "https://github.com/EdenEast/nightfox.nvim", + "https://github.com/rebelot/kanagawa.nvim", + "https://github.com/catppuccin/nvim", + "https://github.com/folke/tokyonight.nvim", + "https://github.com/bluz71/vim-nightfly-colors", + "https://github.com/Bekaboo/deadcolumn.nvim", +}) diff --git a/nvim/.config/nvim/plugin/dashboard.lua b/nvim/.config/nvim/plugin/dashboard.lua new file mode 100644 index 0000000..6852b5d --- /dev/null +++ b/nvim/.config/nvim/plugin/dashboard.lua @@ -0,0 +1,34 @@ +vim.pack.add({ + "https://github.com/nvimdev/dashboard-nvim" +}) +require("dashboard").setup({ + theme = 'hyper', + config = { + week_header = { + enable = true, + }, + shortcut = { + { desc = '󰊳 Update', group = '@property', action = 'lua vim.pack.update()', key = 'u' }, + { + icon = ' ', + icon_hl = '@variable', + desc = 'Files', + group = 'Label', + action = 'Telescope find_files', + key = 'f', + }, + -- { + -- desc = ' NeoWarrior', + -- group = 'DiagnosticHint', + -- action = 'NeoWarriorOpen current', + -- key = 'n', + -- }, + -- { + -- desc = ' dotfiles', + -- group = 'Number', + -- action = 'Telescope dotfiles', + -- key = 'd', + -- }, + }, + }, +}) diff --git a/nvim/.config/nvim/lua/plugins/headlines.lua b/nvim/.config/nvim/plugin/headlines.lua similarity index 54% rename from nvim/.config/nvim/lua/plugins/headlines.lua rename to nvim/.config/nvim/plugin/headlines.lua index 41ae07a..61f6748 100644 --- a/nvim/.config/nvim/lua/plugins/headlines.lua +++ b/nvim/.config/nvim/plugin/headlines.lua @@ -1,8 +1,5 @@ -return { - 'lukas-reineke/headlines.nvim', - dependencies = "nvim-treesitter/nvim-treesitter", - config = function() - require("headlines").setup { +vim.pack.add({"https://github.com/lukas-reineke/headlines.nvim"}) +require("headlines").setup({ markdown = { query = vim.treesitter.query.parse( "markdown", @@ -39,13 +36,11 @@ return { quote_string = "┃", fat_headlines = false, }, - } - vim.api.nvim_set_hl(0, 'Headline1', { fg = '#ffffff', bg = '#6272A4', italic = false }) - vim.api.nvim_set_hl(0, 'Headline2', { fg = '#000000', bg = '#8BE9FD', italic = false }) - vim.api.nvim_set_hl(0, 'Headline3', { fg = '#000000', bg = '#BD93F9', italic = false }) - vim.api.nvim_set_hl(0, 'Headline4', { fg = '#000000', bg = '#FFB86C', italic = false }) - vim.api.nvim_set_hl(0, 'Headline5', { fg = '#000000', bg = '#FF79C6', italic = false }) - vim.api.nvim_set_hl(0, 'Headline6', { fg = '#000000', bg = '#FF5555', italic = false }) - vim.api.nvim_set_hl(0, 'CodeBlock', { bg = '#222221' }) - end -} + }) +vim.api.nvim_set_hl(0, 'Headline1', { fg = '#ffffff', bg = '#6272A4', italic = false }) +vim.api.nvim_set_hl(0, 'Headline2', { fg = '#000000', bg = '#8BE9FD', italic = false }) +vim.api.nvim_set_hl(0, 'Headline3', { fg = '#000000', bg = '#BD93F9', italic = false }) +vim.api.nvim_set_hl(0, 'Headline4', { fg = '#000000', bg = '#FFB86C', italic = false }) +vim.api.nvim_set_hl(0, 'Headline5', { fg = '#000000', bg = '#FF79C6', italic = false }) +vim.api.nvim_set_hl(0, 'Headline6', { fg = '#000000', bg = '#FF5555', italic = false }) +vim.api.nvim_set_hl(0, 'CodeBlock', { bg = '#222221' }) diff --git a/nvim/.config/nvim/plugin/hover.lua b/nvim/.config/nvim/plugin/hover.lua new file mode 100644 index 0000000..83235a5 --- /dev/null +++ b/nvim/.config/nvim/plugin/hover.lua @@ -0,0 +1,17 @@ +vim.pack.add({"https://github.com/lewis6991/hover.nvim"}) +require("hover").setup({ + init = function() + require("hover.providers.lsp") + require('hover.providers.man') + require('hover.providers.dictionary') + end, + preview_opts = { + border = nil + }, + preview_window = false, + title = true +}) +-- Setup keymaps +vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"}) +vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"}) + diff --git a/nvim/.config/nvim/plugin/init.backup b/nvim/.config/nvim/plugin/init.backup new file mode 100644 index 0000000..21aa848 --- /dev/null +++ b/nvim/.config/nvim/plugin/init.backup @@ -0,0 +1,174 @@ +vim.pack.add({ +---------------------------------------------------------------- +-- LSP and Autocomplete Plugins +-- They should be pulled first! +----------------------------------------------------------------- +"https://github.com/rachartier/tiny-inline-diagnostic.nvim", +"https://github.com/L3MON4D3/LuaSnip", +------------------------------------------------------------ +-- General Functionality +------------------------------------------------------------ +"https://github.com/Flemma-Dev/flemma.nvim", +"https://github.com/folke/noice.nvim", +"https://github.com/nvim-lualine/lualine.nvim", +"https://github.com/rcarriga/nvim-notify", +"https://github.com/kenn7/vim-arsync", +"https://github.com/nacro90/numb.nvim", +"https://github.com/nvim-tree/nvim-tree.lua", +"https://github.com/aserowy/tmux.nvim", +"https://github.com/roobert/f-string-toggle.nvim", +"https://github.com/rafamadriz/friendly-snippets", +"https://github.com/romgrk/barbar.nvim", +"https://github.com/folke/trouble.nvim", +"https://github.com/jakewvincent/mkdnflow.nvim", +"https://github.com/j-hui/fidget.nvim", +"https://github.com/lukas-reineke/indent-blankline.nvim", +"https://github.com/folke/todo-comments.nvim", +"https://github.com/nvim-telescope/telescope-file-browser.nvim", +"https://github.com/nvim-telescope/telescope-fzf-native.nvim", +"https://github.com/Bekaboo/deadcolumn.nvim", +"https://github.com/HiPhish/rainbow-delimiters.nvim", +"https://github.com/wakatime/vim-wakatime", +"https://github.com/folke/which-key.nvim", +"https://github.com/akinsho/toggleterm.nvim", +"https://github.com/nvim-mini/mini.nvim", +"https://github.com/prabirshrestha/async.vim", +}) + + +require('tiny-inline-diagnostic').setup(vim.diagnostic.config({ virtual_text = true })) +require("luasnip").setup({ + build = "make install_jsregexp", + history = true, + delete_check_events = "TextChanged", + }) +require("luasnip").filetype_extend("liquid", {"html","css","javascript","python"}) +require("luasnip.loaders.from_vscode").lazy_load() +require("luasnip.loaders.from_vscode").load({}) +require("noice").setup() +require("lualine").setup({ + options = { + theme = "nord", + }, + sections = { + lualine_x = { + { + require("noice").api.statusline.mode.get, + cond = require("noice").api.statusline.mode.has, + color = { fg = "#ff9e64" }, + }, + } + }, + {"fileformat", symbols = { unix = " " }, "filetype" }, + }) +require("numb").setup({ + show_cursorline = false, + show_numbers = false, -- Enable 'number' for the window while peeking + hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking + number_only = true, -- Peek only when the command is only a number instead of when it starts with a number + centered_peeking = true, + }) +require("nvim-tree").setup({ + sort_by = "case_sensitive", + view = { + width = 30, + }, + renderer = { + group_empty = true, + }, + filters = { + dotfiles = true, + }, + diagnostics = { + enable = true, + }, +}) +require("f-string-toggle").setup({ + key_binding = "g" +}) +require("barbar").setup({ + { 'mini.icons', opts = {} } + -- { 'nvim-tree/nvim-web-devicons', opts = {} } +}) +require("trouble").setup({ + }) +require("which-key").setup({ + add = ({ + { "?", function() require("which-key").show({ global = false }) end, + desc = "Buffer Local Keymaps (which-key)", + }, + }) + }) +require("notify").setup({ + timeout = 5000, + render = "minimal", + stages = "fade_in_slide_out", + -- on_open = function(win) + -- vim.api.nvim_win_set_config(win, { focusable = false }) + -- end, + -- vim.keymap.set("n", "", function() + -- require("notify").dismiss() + -- end, { desc = "dismiss notify popup and clear hlsearch" }) + -- vim.api.nvim_notify = require('notify') + -- vim.notify = require('notify') + -- end, + }) +require("toggleterm").setup({ + opts = { + direction = 'float', + } + }) +-- ------------------------------------------------------------ +-- -- echasnovski's Minis get a section of their own... +-- ------------------------------------------------------------ +require("mini.move").setup({ + mappings = { + left = '', + right = '', + down = '', + up = '', + + line_left = '', + line_right = '', + line_down = '', + line_up = '', + }}) +require("mini.trailspace").setup({ + }) +require("mini.surround").setup({ + }) +require("mini.pairs").setup({ + }) +require("mini.fuzzy").setup({ + }) +require("mini.hipatterns").setup({ + -- highlighters = { + -- hex_color = gen_highlighter.hex_color(), + -- hsl_color = { + -- pattern = "hsl%(%d+,? %d+,? %d+%)", + -- group = function(_, match) + -- local utils = require("solarized-osaka.hsl") + -- local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)") + -- local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl) + -- local hex_color = utils.hslToHex(h, s, l) + -- return MiniHipatterns.compute_hex_color_group(hex_color, "bg") + -- end, + -- }, + -- }, + }) +require("mini.indentscope").setup({ + }) +require("mini.diff").setup({ + }) + +---------------------------------------------- +--- Custom Plugins and Tests +---------------------------------------------- +-- { +-- dir = '/Users/normrasmussen/Documents/Projects/markdown_organizer.nvim', +-- dev = true, +-- name = 'MarkdownOrganizerPlugin', +-- }, +-- } + + diff --git a/nvim/.config/nvim/plugin/init.lua b/nvim/.config/nvim/plugin/init.lua new file mode 100644 index 0000000..d7cf715 --- /dev/null +++ b/nvim/.config/nvim/plugin/init.lua @@ -0,0 +1,174 @@ +vim.pack.add({ +---------------------------------------------------------------- +-- LSP and Autocomplete Plugins +-- They should be pulled first! +----------------------------------------------------------------- +"https://github.com/rachartier/tiny-inline-diagnostic.nvim", +"https://github.com/L3MON4D3/LuaSnip", +------------------------------------------------------------ +-- General Functionality +------------------------------------------------------------ +"https://github.com/Flemma-Dev/flemma.nvim", +"https://github.com/ravitemer/mcphub.nvim", +"https://github.com/ravitemer/codecompanion-history.nvim", +"https://github.com/folke/noice.nvim", +"https://github.com/nvim-lualine/lualine.nvim", +"https://github.com/rcarriga/nvim-notify", +"https://github.com/kenn7/vim-arsync", +"https://github.com/nacro90/numb.nvim", +"https://github.com/nvim-tree/nvim-tree.lua", +"https://github.com/aserowy/tmux.nvim", +"https://github.com/MunifTanjim/nui.nvim", +"https://github.com/roobert/f-string-toggle.nvim", +"https://github.com/rafamadriz/friendly-snippets", +"https://github.com/nvim-tree/nvim-web-devicons", +"https://github.com/romgrk/barbar.nvim", +"https://github.com/folke/trouble.nvim", +"https://github.com/lewis6991/gitsigns.nvim", +"https://github.com/jakewvincent/mkdnflow.nvim", +"https://github.com/j-hui/fidget.nvim", +"https://github.com/lukas-reineke/indent-blankline.nvim", +"https://github.com/folke/todo-comments.nvim", +"https://github.com/Bekaboo/deadcolumn.nvim", +"https://github.com/HiPhish/rainbow-delimiters.nvim", +"https://github.com/wakatime/vim-wakatime", +"https://github.com/folke/which-key.nvim", +"https://github.com/akinsho/toggleterm.nvim", +"https://github.com/nvim-mini/mini.nvim", +"https://github.com/prabirshrestha/async.vim", +}) + + +require('tiny-inline-diagnostic').setup(vim.diagnostic.config({ virtual_text = true })) +require("luasnip").setup({ + build = "make install_jsregexp", + history = true, + delete_check_events = "TextChanged", + }) +require("luasnip").filetype_extend("liquid", {"html","css","javascript","python"}) +require("luasnip.loaders.from_vscode").lazy_load() +require("luasnip.loaders.from_vscode").load({}) +require("lualine").setup({ + options = { + theme = "nord", + }, + sections = { + lualine_x = { + { + require("noice").api.statusline.mode.get, + cond = require("noice").api.statusline.mode.has, + color = { fg = "#ff9e64" }, + }, + } + }, + {"fileformat", symbols = { unix = " " }, "filetype" }, + }) +require("numb").setup({ + show_cursorline = false, + show_numbers = false, -- Enable 'number' for the window while peeking + hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking + number_only = true, -- Peek only when the command is only a number instead of when it starts with a number + centered_peeking = true, + }) +require("nvim-tree").setup({ + sort_by = "case_sensitive", + view = { + width = 30, + }, + renderer = { + group_empty = true, + }, + filters = { + dotfiles = true, + }, + diagnostics = { + enable = true, + }, + }) +require("f-string-toggle").setup({ + key_binding = "g" + }) +require("barbar").setup({ + }) +require("trouble").setup({ + }) +require("which-key").setup({ + add = ({ + { "?", function() require("which-key").show({ global = false }) end, + desc = "Buffer Local Keymaps (which-key)", + }, + }) + }) +-- require("nvim-notify").setup({ +-- timeout = 5000, +-- render = "minimal", +-- stages = "fade_in_slide_out", + -- on_open = function(win) + -- vim.api.nvim_win_set_config(win, { focusable = false }) + -- end, + -- vim.keymap.set("n", "", function() + -- require("notify").dismiss() + -- end, { desc = "dismiss notify popup and clear hlsearch" }) + -- vim.api.nvim_notify = require('notify') + -- vim.notify = require('notify') + -- end, + -- }) +require("toggleterm").setup({ + opts = { + direction = 'float', + } + }) +-- ------------------------------------------------------------ +-- -- echasnovski's Minis get a section of their own... +-- ------------------------------------------------------------ +require("mini.move").setup({ + mappings = { + left = '', + right = '', + down = '', + up = '', + + line_left = '', + line_right = '', + line_down = '', + line_up = '', + }}) +require("mini.trailspace").setup({ + }) +require("mini.surround").setup({ + }) +require("mini.pairs").setup({ + }) +require("mini.fuzzy").setup({ + }) +require("mini.hipatterns").setup({ + -- highlighters = { + -- hex_color = gen_highlighter.hex_color(), + -- hsl_color = { + -- pattern = "hsl%(%d+,? %d+,? %d+%)", + -- group = function(_, match) + -- local utils = require("solarized-osaka.hsl") + -- local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)") + -- local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl) + -- local hex_color = utils.hslToHex(h, s, l) + -- return MiniHipatterns.compute_hex_color_group(hex_color, "bg") + -- end, + -- }, + -- }, + }) +require("mini.indentscope").setup({ + }) +require("mini.diff").setup({ + }) + +---------------------------------------------- +--- Custom Plugins and Tests +---------------------------------------------- +-- { +-- dir = '/Users/normrasmussen/Documents/Projects/markdown_organizer.nvim', +-- dev = true, +-- name = 'MarkdownOrganizerPlugin', +-- }, +-- } + + diff --git a/nvim/.config/nvim/plugin/nvim-telescope.lua b/nvim/.config/nvim/plugin/nvim-telescope.lua new file mode 100644 index 0000000..af35bd0 --- /dev/null +++ b/nvim/.config/nvim/plugin/nvim-telescope.lua @@ -0,0 +1,186 @@ +vim.api.nvim_create_autocmd('PackChanged', { + callback = function(ev) + if ev.data.spec.name == 'telescope' then + local res = vim.system({ 'cmake', '-S.', '-Bbuild', '-DCMAKE_BUILD_TYPE=Release', 'cmake', '--build', 'build', '--config', 'Release', '--target', 'install' }, { cwd = ev.data.path }) + if vim.v.shell_error ~= 0 then + vim.notify('Failed to compile telescope: ' .. res, vim.log.levels.ERROR) + else + vim.notify('Successfully compiled telescope', vim.log.levels.INFO) + end + end + end, +}) + + +vim.pack.add({ +"https://github.com/nvim-telescope/telescope.nvim", +"https://github.com/nvim-lua/plenary.nvim", +"https://github.com/nvim-telescope/telescope-file-browser.nvim", +"https://github.com/nvim-telescope/telescope-fzf-native.nvim", +"https://github.com/nvim-telescope/telescope-live-grep-args.nvim", +"https://github.com/jonarrien/telescope-cmdline.nvim", +"https://github.com/BurntSushi/ripgrep", +}) +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) + +require("telescope").setup({ + defaults = { + border = true, + prompt_title = false, + results_title = false, + color_devicons = false, + layout_strategy = 'horizontal', + borderchars = { + prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + }, + layout_config = { + bottom_pane = { + height = 20, + preview_cutoff = 120, + prompt_position = 'top' + }, + center = { + height = 0.4, + preview_cutoff = 40, + prompt_position = 'top', + width = 0.7 + }, + horizontal = { + prompt_position = 'top', + preview_cutoff = 40, + height = 0.9, + width = 0.8 + } + }, + sorting_strategy = 'ascending', + prompt_prefix = ' ', + selection_caret = ' → ', + entry_prefix = ' ', + file_ignore_patterns = {'node_modules'}, + path_display = { 'truncate' }, + results_title = false, + prompt_title =false, + preview = { + treesitter = { + enable = { + 'css', 'dockerfile', 'elixir', 'erlang', 'zsh', + 'html', 'http', 'javascript', 'json', 'lua', 'php', + 'python', 'regex', 'ruby', 'rust', 'scss', + 'typescript', 'yaml', 'markdown', 'bash', 'c', + 'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc', + 'json5', 'jsonc', 'llvm', 'make', 'ninja', + 'todotxt', 'toml', 'help' + } + } + }, + mappings = { + i = { + [''] = require('telescope.actions').close, + }, + } + }, + extensions = { + file_browser = { + mappings = { + ["i"] = { + [""] = require("telescope").extensions.file_browser.actions.create, + [""] = require("telescope").extensions.file_browser.actions.copy, + [""] = require("telescope").extensions.file_browser.actions.rename, + [""] = require("telescope").extensions.file_browser.actions.goto_cwd, + [""] = require("telescope").extensions.file_browser.actions.open, + [""] = require("telescope").extensions.file_browser.actions.remove, + }, + }, + cmdline = { + mappings = { + complete = '', + run_selection = '', + run_input = '', + } + } + }, + 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', -- other options: 'ignore_case' or 'respect_case' + } + }, + config = function() + local g = vim.g + local fb_actions = require("telescope").extensions.file_browser.actions + local themes = { + popup_list = { + theme = 'popup_list', + border = true, + preview = false, + prompt_title = false, + results_title = false, + sorting_strategy = 'ascending', + layout_strategy = 'center', + borderchars = { + prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' }, + results = { '─', '│', '─', '│', '├', '┤', '┘', '└' }, + preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + }, + }, + popup_extended = { + theme = 'popup_extended', + prompt_title = false, + results_title = false, + layout_strategy = 'center', + layout_config = { + width = 0.7, + height = 0.3, + mirror = true, + preview_cutoff = 1, + }, + borderchars = { + prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' }, + results = { '─', '│', '─', '│', '├', '┤', '┘', '└' }, + preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + }, + }, + command_pane = { + theme = 'command_pane', + preview = false, + prompt_title = false, + results_title = false, + sorting_strategy = 'descending', + layout_strategy = 'bottom_pane', + layout_config = { + height = 13, + preview_cutoff = 1, + prompt_position = 'bottom' + }, + }, + ivy_plus = { + theme = 'ivy_plus', + preview = false, + prompt_title = false, + results_title = false, + layout_strategy = 'bottom_pane', + layout_config = { + height = 13, + preview_cutoff = 120, + prompt_position = 'bottom' + }, + borderchars = { + prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' }, + results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' }, + preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' }, + }, + }, + } + end +}) +require("telescope").load_extension("file_browser") +require("telescope").load_extension("live_grep_args") +-- require("telescope").load_extension("fzf-native") +require("telescope").load_extension("cmdline") diff --git a/nvim/.config/nvim/plugin/nvim-treesitter.lua b/nvim/.config/nvim/plugin/nvim-treesitter.lua new file mode 100644 index 0000000..78bdd73 --- /dev/null +++ b/nvim/.config/nvim/plugin/nvim-treesitter.lua @@ -0,0 +1,32 @@ +vim.pack.add({ + "https://github.com/nvim-treesitter/nvim-treesitter" +}) +require("nvim-treesitter").setup({ + ensure_installed = { + 'bash', 'css', 'html', 'javascript', 'json', 'lua', 'python', + 'vim', 'yaml', 'typescript', 'markdown', + }, + sync_install = true, + highlight = { + enable = true, + disable = function(lang, bufnr) + return lang == "py" and vim.api.nvim_buf_line_count(bufnr) > 5000 + end, + additional_vim_regex_highlighting = true, + }, + indent = { enable = true }, + }) + -- disable = function(lang, buf) + -- local max_filesize = 100 * 1024 -- 100 KB + -- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + -- if ok and stats and stats.size > max_filesize then + -- return true + -- end + -- end, disable = function(lang, buf) + -- local max_filesize = 100 * 1024 -- 100 KB + -- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + -- if ok and stats and stats.size > max_filesize then + -- return true + -- end + -- end, + -- }) diff --git a/nvim/.config/nvim/lua/plugins/pulse.lua b/nvim/.config/nvim/plugin/pulse.lua.backup similarity index 100% rename from nvim/.config/nvim/lua/plugins/pulse.lua rename to nvim/.config/nvim/plugin/pulse.lua.backup diff --git a/nvim/.config/nvim/lua/plugins/rainbow_csv.lua b/nvim/.config/nvim/plugin/rainbow_csv.lua similarity index 75% rename from nvim/.config/nvim/lua/plugins/rainbow_csv.lua rename to nvim/.config/nvim/plugin/rainbow_csv.lua index e4e481d..c76b9d1 100644 --- a/nvim/.config/nvim/lua/plugins/rainbow_csv.lua +++ b/nvim/.config/nvim/plugin/rainbow_csv.lua @@ -1,5 +1,5 @@ -return { - 'cameron-wags/rainbow_csv.nvim', +vim.pack.add({"https://github.com/cameron-wags/rainbow_csv.nvim"}) +require("rainbow_csv").setup({ config = true, ft = { 'csv', @@ -16,4 +16,4 @@ return { 'RainbowDelimQuoted', 'RainbowMultiDelim' } -} +})