From 2581d3ffbc422182d3e5c9de5206d41ff6f75287 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Thu, 17 Jul 2025 13:33:01 -0600 Subject: [PATCH 01/13] set font --- lua/plugins/z_gdw.lua | 193 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 lua/plugins/z_gdw.lua diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua new file mode 100644 index 0000000..69ddad5 --- /dev/null +++ b/lua/plugins/z_gdw.lua @@ -0,0 +1,193 @@ +if vim.g.neovide then + vim.keymap.set("n", "", ":w") -- Save + vim.keymap.set("v", "", '"+y') -- Copy + vim.keymap.set("n", "", '"+P') -- Paste normal mode + vim.keymap.set("v", "", '"+P') -- Paste visual mode + vim.keymap.set("c", "", "+") -- Paste command mode + vim.keymap.set("i", "", 'l"+Pli') -- Paste insert mode + vim.g.neovide_scale_factor = 0.8 + vim.cmd "autocmd VimEnter * NeovideSetScaleFactor 0.8" +end + +-- Allow clipboard copy paste in neovim +vim.api.nvim_set_keymap("", "", "+p", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true }) +vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) + +return { + { + "Olical/conjure", + ft = { "clojure", "janet", "fennel", "racket", "hy", "scheme", "guile", "julia", "lua", "lisp", "python", "sql" }, + }, + { import = "astrocommunity.recipes.neovide" }, + { import = "astrocommunity.git.gitlinker-nvim" }, + { import = "astrocommunity.terminal-integration.toggleterm-manager-nvim" }, + { import = "astrocommunity.completion.copilot-cmp" }, + { import = "astrocommunity.completion.avante-nvim" }, + { import = "astrocommunity.pack.python" }, + { import = "astrocommunity.pack.cpp" }, + { import = "astrocommunity.motion.leap-nvim" }, + { import = "astrocommunity.motion.marks-nvim" }, + { import = "astrocommunity.editing-support.nvim-treesitter-context" }, + { import = "astrocommunity.code-runner.overseer-nvim" }, + { import = "astrocommunity.editing-support.copilotchat-nvim" }, + { + "CopilotC-Nvim/CopilotChat.nvim", + opts = { + mappings = { + reset = { + normal = "", + insert = "", + }, -- I'm accidentally clearing my chat log. + }, + }, + }, + { + "sindrets/winshift.nvim", + specs = { + { + "AstroNvim/astrocore", + opts = function(_, opts) + local maps = opts.mappings + maps.n["w"] = { "WinShift", desc = "WinShift" } + end, + }, + }, + }, + { + "yetone/avante.nvim", + opts = { + provider = "copilot", + -- add any opts here + }, + }, + -- Snacks Customisation + { + "folke/snacks.nvim", + opts = { + -- log level: TRACE DEBUG ERROR WARN INFO OFF + notifier = { level = vim.log.levels.INFO }, + }, + }, + { + "AstroNvim/astrocore", + opts = { + rooter = { + enabled = true, + notify = true, + autochdir = true, + }, + -- options = { + -- g = { + -- neovide_scale_factor = 0.8, + -- }, + -- }, + }, + }, + { + "linrongbin16/gitlinker.nvim", + opts = function(opts, _) + local utils = require "astrocore" + return utils.extend_tbl(opts, { + router = { + browse = { + ["^git%.viasat%.com"] = require("gitlinker.routers").github_browse, + }, + }, + }) + end, + }, + { + "AstroNvim/astrocore", + opts = function(_, opts) + opts.options.opt.guifont = "FiraCode Nerd Font:h14" + local maps = opts.mappings + local astro = require "astrocore" + maps.n["tc"] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } + maps.v["tc"] = { "ToggleTermSendVisualLines", desc = "Send Visual Lines" } + maps.i[""] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } + maps.i[""] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } + maps.n["Mv"] = { "OverseerRun Restart\\ viabox", desc = "Restart viabox" } + + -- I have to do this, or I get a stack trace. The `args` in the original is sometimes unset. + -- Original is here: https://github.com/AstroNvim/AstroNvim/blob/e3434ed8ba30af34b36d270b0197b91e444b9363/lua/astronvim/plugins/telescope.lua#L71-L77 + if vim.fn.executable "rg" == 1 then + maps.n["fw"] = { + function() require("snacks").picker.grep() { hidden = true, ignored = false } end, + desc = "Find words", + } + end + + -- gh-dash support + if vim.fn.executable "git" == 1 and vim.fn.executable "gh-dash" == 1 then + maps.n["g"] = vim.tbl_get(opts, "_map_sections", "g") + local gh_dash = { + callback = function() + -- local worktree = astro.file_worktree() + -- local flags = worktree and (" --work-tree=%s --git-dir=%s"):format(worktree.toplevel, worktree.gitdir) + -- or "" + -- astro.toggle_term_cmd { cmd = "gh-dash " .. flags, direction = "float" } + astro.toggle_term_cmd { cmd = "GH_HOST=git.viasat.com gh-dash ", direction = "float" } + end, + desc = "ToggleTerm gh-dash", + } + maps.n["g-"] = { gh_dash.callback, desc = gh_dash.desc } + -- maps.n["tl"] = { gh_dash.callback, desc = gh_dash.desc } + end + end, + }, + { + "akinsho/toggleterm.nvim", + cmd = { "ToggleTerm", "TermExec" }, + specs = { + { + "AstroNvim/astrocore", + opts = function(_, opts) + local maps = opts.mappings + local astro = require "astrocore" + -- , for some reason, doesn't work in tmux or screen + -- so, change it to + maps.n[""] = { 'execute v:count . "ToggleTerm"', desc = "Toggle terminal" } -- requires terminal that supports binding + maps.t[""] = { "ToggleTerm", desc = "Toggle terminal" } -- requires terminal that supports binding + maps.i[""] = { "ToggleTerm", desc = "Toggle terminal" } -- requires terminal that supports binding + maps.t["jk"] = { "", desc = "Escape terminal" } + + if vim.fn.executable "lazydocker" == 1 then + maps.n["td"] = { + function() astro.toggle_term_cmd { cmd = "lazydocker", direction = "float" } end, + desc = "ToggleTerm lazydocker", + } + end + end, + }, + }, + }, + { + "AstroNvim/astrolsp", + ---@type AstroLSPOpts + opts = { + formatting = { + format_on_save = { + enabled = true, -- enable or disable + ignore_filetypes = { -- disable format on save for specified filetypes + "cpp", + "c", + }, + }, + }, + }, + }, + { + "nvim-neo-tree/neo-tree.nvim", + opts = { + filesystem = { + filtered_items = { + hide_dotfiles = false, + hide_gitignored = true, + always_show = { ".github" }, + }, + }, + }, + }, +} From 81befe2fdc4dfd01d847e7c457182a94fe3cc5c9 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Tue, 14 Oct 2025 11:15:37 -0600 Subject: [PATCH 02/13] don't run in vscode for use with the vscode nvim plugin --- init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init.lua b/init.lua index 41f55f3..959cd7a 100644 --- a/init.lua +++ b/init.lua @@ -1,3 +1,6 @@ +-- don't run in vscode +if vim.g.vscode then return {} end + -- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution -- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" From d57334128a42c493a09e88ea0a1e4f4085399180 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Tue, 14 Oct 2025 11:16:45 -0600 Subject: [PATCH 03/13] add ability to send blocks of fish with `tc` it does this by looking at indent levels --- lua/plugins/z_gdw.lua | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 69ddad5..9dffba7 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -104,7 +104,44 @@ return { opts.options.opt.guifont = "FiraCode Nerd Font:h14" local maps = opts.mappings local astro = require "astrocore" - maps.n["tc"] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } + -- maps.n["tc"] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } + maps.n["tc"] = { + function() + local line = vim.api.nvim_get_current_line() + local col = vim.fn.col "." + local indent = line:match "^%s+" + print("[DEBUG] line:", line) + print("[DEBUG] row:", row, "col:", col) + print("[DEBUG] indent:", vim.inspect(indent)) + if not indent then + print "[DEBUG] Sending current line" + vim.cmd "ToggleTermSendCurrentLine" + else + -- Find block boundaries + local row = vim.fn.line "." + local start, finish = row, row + while start > 1 do + local l = vim.fn.getline(start - 1) + start = start - 1 + if l:match "^%s*$" or not l:match "^%s" then break end + end + local last = vim.fn.line "$" + while finish < last do + local l = vim.fn.getline(finish + 1) + finish = finish + 1 + print("[DEBUG] Downward scan line:", l) + if l:match "^%s*$" or not l:match "^%s" then break end + end + print("[DEBUG] Sending block:", start, finish) + -- Visually select the block before sending + vim.api.nvim_win_set_cursor(0, { start, 1 }) + vim.cmd("normal! V" .. (finish - start) .. "j") + vim.cmd "ToggleTermSendVisualLines" + vim.api.nvim_win_set_cursor(0, { row, col - 1 }) + end + end, + desc = "Send Current Line or Block", + } maps.v["tc"] = { "ToggleTermSendVisualLines", desc = "Send Visual Lines" } maps.i[""] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } maps.i[""] = { "ToggleTermSendCurrentLine", desc = "Send Current Line" } From d3d45af0af6e824a0a75861d2bcb5799ce0381c0 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Wed, 15 Oct 2025 09:27:56 -0600 Subject: [PATCH 04/13] switch out AI tooling Needed to put astrocore stuff at the top so that the `copilot_chat_prefix` is picked up _before_ the codecompanion plugin is loaded. --- lua/plugins/z_gdw.lua | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 9dffba7..17f3e1a 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -16,6 +16,22 @@ vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) return { + { + "AstroNvim/astrocore", + opts = { + rooter = { + enabled = true, + notify = true, + autochdir = true, + }, + options = { + g = { + copilot_chat_prefix = "a", + neovide_scale_factor = 0.8, + }, + }, + }, + }, { "Olical/conjure", ft = { "clojure", "janet", "fennel", "racket", "hy", "scheme", "guile", "julia", "lua", "lisp", "python", "sql" }, @@ -24,7 +40,7 @@ return { { import = "astrocommunity.git.gitlinker-nvim" }, { import = "astrocommunity.terminal-integration.toggleterm-manager-nvim" }, { import = "astrocommunity.completion.copilot-cmp" }, - { import = "astrocommunity.completion.avante-nvim" }, + -- { import = "astrocommunity.completion.avante-nvim" }, { import = "astrocommunity.pack.python" }, { import = "astrocommunity.pack.cpp" }, { import = "astrocommunity.motion.leap-nvim" }, @@ -32,6 +48,8 @@ return { { import = "astrocommunity.editing-support.nvim-treesitter-context" }, { import = "astrocommunity.code-runner.overseer-nvim" }, { import = "astrocommunity.editing-support.copilotchat-nvim" }, + { import = "astrocommunity.editing-support.codecompanion-nvim" }, + { import = "astrocommunity.project.projectmgr-nvim" }, { "CopilotC-Nvim/CopilotChat.nvim", opts = { @@ -70,21 +88,6 @@ return { notifier = { level = vim.log.levels.INFO }, }, }, - { - "AstroNvim/astrocore", - opts = { - rooter = { - enabled = true, - notify = true, - autochdir = true, - }, - -- options = { - -- g = { - -- neovide_scale_factor = 0.8, - -- }, - -- }, - }, - }, { "linrongbin16/gitlinker.nvim", opts = function(opts, _) From 274cc8ed4f0b62eeadfd4f1ec643ec8a4d894754 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:04:24 -0700 Subject: [PATCH 05/13] add opencode --- lua/plugins/z_gdw.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 17f3e1a..84cf5ff 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -50,6 +50,7 @@ return { { import = "astrocommunity.editing-support.copilotchat-nvim" }, { import = "astrocommunity.editing-support.codecompanion-nvim" }, { import = "astrocommunity.project.projectmgr-nvim" }, + { import = "astrocommunity.ai.opencode-nvim" }, { "CopilotC-Nvim/CopilotChat.nvim", opts = { From 7958cf2fc12d861ddfe9460b4c482b73a3a689a5 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:04:45 -0700 Subject: [PATCH 06/13] fix the way blocks are interpreted? --- lua/plugins/z_gdw.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 84cf5ff..a3f116a 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -127,14 +127,16 @@ return { while start > 1 do local l = vim.fn.getline(start - 1) start = start - 1 - if l:match "^%s*$" or not l:match "^%s" then break end + -- if l:match "^%s*$" or not l:match "^%s" then break end + if l:match "^%S" then break end end local last = vim.fn.line "$" while finish < last do local l = vim.fn.getline(finish + 1) finish = finish + 1 print("[DEBUG] Downward scan line:", l) - if l:match "^%s*$" or not l:match "^%s" then break end + -- if l:match "^%s*$" or not l:match "^%s" then break end + if l:match "^%S" then break end end print("[DEBUG] Sending block:", start, finish) -- Visually select the block before sending From d6dc2578b7d15c93a9cef4f661ff437e4a10af9e Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:04:52 -0700 Subject: [PATCH 07/13] copy path --- lua/plugins/z_gdw.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index a3f116a..7f744ba 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -178,6 +178,15 @@ return { maps.n["g-"] = { gh_dash.callback, desc = gh_dash.desc } -- maps.n["tl"] = { gh_dash.callback, desc = gh_dash.desc } end + + -- copy current file path + maps.n["yP"] = { + function() + vim.fn.setreg("+", vim.fn.expand "%:p") + print("Copied full path: " .. vim.fn.expand "%:p") + end, + desc = "Copy full path of current buffer", + } end, }, { From a980827a6176400a02c639f4a25e4befad8aa695 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:14:04 -0700 Subject: [PATCH 08/13] remove copilot and avante --- lua/plugins/z_gdw.lua | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 7f744ba..605f6cd 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -26,7 +26,6 @@ return { }, options = { g = { - copilot_chat_prefix = "a", neovide_scale_factor = 0.8, }, }, @@ -39,29 +38,15 @@ return { { import = "astrocommunity.recipes.neovide" }, { import = "astrocommunity.git.gitlinker-nvim" }, { import = "astrocommunity.terminal-integration.toggleterm-manager-nvim" }, - { import = "astrocommunity.completion.copilot-cmp" }, - -- { import = "astrocommunity.completion.avante-nvim" }, { import = "astrocommunity.pack.python" }, { import = "astrocommunity.pack.cpp" }, { import = "astrocommunity.motion.leap-nvim" }, { import = "astrocommunity.motion.marks-nvim" }, { import = "astrocommunity.editing-support.nvim-treesitter-context" }, { import = "astrocommunity.code-runner.overseer-nvim" }, - { import = "astrocommunity.editing-support.copilotchat-nvim" }, { import = "astrocommunity.editing-support.codecompanion-nvim" }, { import = "astrocommunity.project.projectmgr-nvim" }, { import = "astrocommunity.ai.opencode-nvim" }, - { - "CopilotC-Nvim/CopilotChat.nvim", - opts = { - mappings = { - reset = { - normal = "", - insert = "", - }, -- I'm accidentally clearing my chat log. - }, - }, - }, { "sindrets/winshift.nvim", specs = { @@ -74,13 +59,6 @@ return { }, }, }, - { - "yetone/avante.nvim", - opts = { - provider = "copilot", - -- add any opts here - }, - }, -- Snacks Customisation { "folke/snacks.nvim", From df0f30fde0c47ea9bc0854160356223497570ed5 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:26:32 -0700 Subject: [PATCH 09/13] remove code companion --- lua/plugins/z_gdw.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 605f6cd..ab30cae 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -44,7 +44,6 @@ return { { import = "astrocommunity.motion.marks-nvim" }, { import = "astrocommunity.editing-support.nvim-treesitter-context" }, { import = "astrocommunity.code-runner.overseer-nvim" }, - { import = "astrocommunity.editing-support.codecompanion-nvim" }, { import = "astrocommunity.project.projectmgr-nvim" }, { import = "astrocommunity.ai.opencode-nvim" }, { From ebd07ef55fb87f2e14a466443ce4e743bd239102 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Fri, 6 Mar 2026 16:26:43 -0700 Subject: [PATCH 10/13] disable octo as it conflicts with opencode keybindings --- lua/community.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/community.lua b/lua/community.lua index 2a048e7..cc236e4 100644 --- a/lua/community.lua +++ b/lua/community.lua @@ -95,7 +95,7 @@ return { { import = "astrocommunity.git.neogit" }, -- GitHub Pull Requests and Issues - { import = "astrocommunity.git.octo-nvim" }, + -- { import = "astrocommunity.git.octo-nvim" }, -- ---------------------------------------------- -- ---------------------------------------------- From e769ac106e89fe1a8a9e5a1a19c0e4811827b4d4 Mon Sep 17 00:00:00 2001 From: Greg Warner Date: Thu, 26 Mar 2026 16:55:16 +0000 Subject: [PATCH 11/13] add a few git tools --- lua/plugins/z_gdw.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index ab30cae..1657dd6 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -46,6 +46,8 @@ return { { import = "astrocommunity.code-runner.overseer-nvim" }, { import = "astrocommunity.project.projectmgr-nvim" }, { import = "astrocommunity.ai.opencode-nvim" }, + { import = "astrocommunity.git.neogit" }, + { import = "astrocommunity.git.fugit2-nvim" }, { "sindrets/winshift.nvim", specs = { From 3f283f9c8b7a860badffa53cef5d1d91114b2ba6 Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Mon, 20 Apr 2026 17:10:48 -0600 Subject: [PATCH 12/13] fix snacks picker grep call syntax --- lua/plugins/z_gdw.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 1657dd6..6fb7402 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -136,7 +136,7 @@ return { -- Original is here: https://github.com/AstroNvim/AstroNvim/blob/e3434ed8ba30af34b36d270b0197b91e444b9363/lua/astronvim/plugins/telescope.lua#L71-L77 if vim.fn.executable "rg" == 1 then maps.n["fw"] = { - function() require("snacks").picker.grep() { hidden = true, ignored = false } end, + function() require("snacks").picker.grep { hidden = true, ignored = false } end, desc = "Find words", } end From aff2065a372d439049d715e11ad542593071988e Mon Sep 17 00:00:00 2001 From: Gregory Warner Date: Mon, 20 Apr 2026 17:28:42 -0600 Subject: [PATCH 13/13] temp disable --- lua/plugins/z_gdw.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lua/plugins/z_gdw.lua b/lua/plugins/z_gdw.lua index 6fb7402..0e52d27 100644 --- a/lua/plugins/z_gdw.lua +++ b/lua/plugins/z_gdw.lua @@ -42,7 +42,8 @@ return { { import = "astrocommunity.pack.cpp" }, { import = "astrocommunity.motion.leap-nvim" }, { import = "astrocommunity.motion.marks-nvim" }, - { import = "astrocommunity.editing-support.nvim-treesitter-context" }, + -- causing issues? + -- { import = "astrocommunity.editing-support.nvim-treesitter-context" }, { import = "astrocommunity.code-runner.overseer-nvim" }, { import = "astrocommunity.project.projectmgr-nvim" }, { import = "astrocommunity.ai.opencode-nvim" },