100 Commits
Author SHA1 Message Date
rootiest 8bfdd6e20c chore: merge history from sunset rootiest-nvim config
The old Neovim configuration (formerly github.com/rootiest/rootiest-nvim,
now preserved on the 'legacy' branch) has been superseded by this repo.
This merge links its history in for continuity without altering the
current tree.
2026-08-24 22:24:53 -04:00
rootiest abda95b98f Merge pull request 'feat(mini.pairs): smart Markdown code-fence expansion on 3rd backtick' (#5) from feat/markdown-smart-backtick-fence into main
Reviewed-on: #5
2026-08-25 02:03:14 +00:00
rootiest fc535b6688 feat(mini.pairs): smart Markdown code-fence expansion on 3rd backtick
Typing a 3rd backtick after mini.pairs' `` pair now expands into a fenced
code block instead of pairing into 4 backticks: the cursor lands right
after the opener (ready for a language id), and backspacing the fence
back out removes the empty closing fence too.

Also includes an already-in-progress .gitignore expansion (AGENTS/ and
agent-generated docs/ subdirs) and a plugins.lua tabs-to-spaces reformat
that were sitting uncommitted in the working tree.
2026-08-24 22:01:49 -04:00
rootiest 1a1963232e docs: fix links 2026-05-31 00:46:50 -04:00
rootiest c867d55228 Merge pull request 'feat: NES normal-mode Tab, native inline completion, clippy LSP, and .gitignore expansion' (#4) from feat/nes-normal-tab-inline-completion-clippy into main
Reviewed-on: #4
2026-05-31 04:45:30 +00:00
rootiest 11a5bc1266 feat(keymaps): add normal-mode NES keymap and enable native inline completion
Adds a normal-mode <Tab> binding that calls sidekick.nes_jump_or_apply() so
NES suggestions can be accepted without entering insert mode. Enables
vim.lsp.inline_completion so the insert-mode <Tab> chain (snippet → NES →
native inline completion → fallback) is fully wired. Updates the README
keymaps table to reflect both modes and the complete Tab chain.
2026-05-31 00:44:34 -04:00
rootiest 7e68bc3391 feat(lsp): configure rust-analyzer to use clippy for checks
Sets the check command to clippy via both vim.lsp.config (for system-installed
rust-analyzer via rustup) and the mason-lspconfig handler, so diagnostics
reflect clippy lints rather than cargo check output.
2026-05-31 00:44:12 -04:00
rootiest 5c980a8b57 chore: expand .gitignore with Lua, Vim, and AI session patterns
Replaces the minimal hand-written ignore list with generated gitignore.io
patterns for Lua and Vim, plus a boilerplate template covering OS artefacts,
temp directories, and AI session/rules files (CLAUDE.md, GEMINI.md, .claud*,
.gemin*, .remember, etc.).
2026-05-31 00:43:11 -04:00
rootiest 17a2b4d25b Merge pull request 'feat: add sidekick.nvim and haunt.nvim with AI and bookmark integration' (#3) from feat/add-sidekick-and-haunt into main
Reviewed-on: #3
2026-05-11 16:39:12 +00:00
rootiest 58fc3e53ac feat(noice): suppress Diagnosing and semantic tokens LSP progress notifications 2026-05-11 12:38:19 -04:00
rootiest 7f9c380eaa feat: add sidekick.nvim and haunt.nvim with AI and bookmark integration
- Add sidekick.nvim: Next Edit Suggestions (NES) via Copilot LSP, integrated
  AI CLI terminal, and Snacks picker send action (<Alt-a>)
- Add haunt.nvim: in-buffer annotation/bookmark manager with Snacks picker
  and 6 keymaps (<leader>ha/ht/hd/hn/hp/hl)
- Wire blink.cmp <Tab> to chain snippet_forward -> NES -> inline completion
- Expose haunt_all and haunt_buffer as Sidekick prompt contexts
- Suppress lua_ls "Loading workspace" progress bar via Noice route
- Update README to document all new plugins, keymaps, and post-install steps
2026-05-11 12:32:19 -04:00
rootiest 859cfc3793 Merge pull request 'feat: add bootstrap module and update docs' (#2) from feat/add-bootstrap-and-update-docs into main
Reviewed-on: #2
2026-05-08 18:21:52 +00:00
rootiestandClaude Sonnet 4.6 d43128c2d0 feat: add bootstrap module and update docs
- Add lua/bootstrap.lua: redirects Neovim data/state paths when running
  as root (e.g. via symlinked ~/.config/nvim) to prevent root sessions
  from conflicting with the user-level install
- Update init.lua to require("bootstrap") before any other module
- Standardize license headers across all Lua files (capitalize author,
  add SPDX-License-Identifier)
- Update README with full plugin stack section, bootstrap docs,
  machine-local override docs, qalculate dependency, and blink.cmp
  auto-rebuild note

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 14:19:11 -04:00
rootiest 2153591cf5 Merge pull request 'feat: add new plugins, refactor options, and improve blink.cmp detection' (#1) from feat/add-plugins-refactor-options into main
Reviewed-on: #1
2026-05-08 16:44:41 +00:00
rootiestandClaude Sonnet 4.6 c28e6c3e59 feat: add new plugins, refactor options, and improve blink.cmp detection
- Add focusline.nvim for scroll-aware cursor centering
- Add kitty-scrollback.nvim for Kitty terminal scrollback integration
- Add qalc.nvim for inline calculator support
- Add blink.lib as explicit dependency for blink.cmp
- Fix blink.cmp binary detection to check v2 install path first
- Add PackChanged autocmd to auto-rebuild blink.cmp after updates
- Expand inc-rename.nvim config with all available options documented
- Add luv library path to lazydev for vim.uv completions
- Consolidate leader key setup into options.lua (remove duplicate in init.lua)
- Add autoread + FocusGained/CursorHold triggers for external file changes
- Add BufReadPost autocmd to restore last cursor position on file open
- Reorganize options.lua with section headers and logical grouping
- Update plugin lockfile revisions (blink.cmp, conform, gitsigns, lualine, etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 12:30:14 -04:00
rootiestandClaude Sonnet 4.6 93d8f9a28d feat: add gx.nvim, comment-box, and machine-local override support
- Add gx.nvim for smart URL opening (GitHub, plugins, package.json, search)
- Add comment-box.nvim with keymaps for creating/deleting comment boxes
- Load machine-local secrets.lua and local.lua from ~/.config/.user-dots/nvim/
- Update README with new plugins, keymaps, and portability highlight

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 18:45:03 -04:00
rootiest 1b6a354c86 docs: update code line count in README 2026-04-22 12:38:14 -04:00
rootiest cdb72cff4d feat: add silent fallback for blink.cmp if binary or cargo is missing 2026-04-22 12:35:44 -04:00
rootiest 688eec7498 docs: add code line count to highlights in README 2026-04-22 12:32:53 -04:00
rootiest 0058de2a77 feat: improve portability and add Grug-far QoL improvements
- Refactor terminal title logic in lua/options.lua with Kitty detection and OSC 2 fallback.
- Set mapleader and maplocalleader explicitly at the top of lua/options.lua.
- Add <leader>sr mapping for Grug-far search and replace in lua/keymaps.lua.
- Add autocommand to close Grug-far window with 'q'.
- Update README.md with system dependencies (Debian/Arch) and new keymaps.
- Highlight portability features (terminal titles, root detection) in README.md.
2026-04-22 12:30:11 -04:00
rootiest 8d6103ec07 feat: add mini.pairs plugin
Automatically enters closing symbol after the cursor when user inserts
an opening symbol.

Ex: Type { and a } is added after the cursor.
2026-04-17 19:05:58 -04:00
rootiest 2e499ca1cb chore: commit nvim-pack-lock.json to maintain package versions across clones 2026-04-17 19:03:23 -04:00
rootiest 0990818e07 docs: add lua/const.lua to modular config list 2026-04-17 18:59:21 -04:00
rootiest 68ba1e3b87 chore: rename data.lua to const.lua to clarify use-case 2026-04-17 18:58:28 -04:00
rootiest 06d86cf46e docs: add initial basic readme for repository 2026-04-17 18:53:48 -04:00
rootiest cfd451eae1 chore: clean out .gemini_session file as well 2026-04-17 18:53:31 -04:00
rootiest fbb6655722 chore: add GPLv3 (or later) licensing to repository
NOTE: lua/lazyload.lua is an MIT licensed file borrowed from another
user's repository. The license header in that file reflects this.
2026-04-17 18:43:38 -04:00
rootiest 8feb5c8415 chore: add gitignore file to exclude any unnecessary files from git 2026-04-17 18:28:26 -04:00
rootiest d448e591d8 fix: include the data.lua file which provides the dashboard header 2026-04-17 18:25:51 -04:00
rootiestandClaude Sonnet 4.6 21ec297431 feat: add plugins, formatting, and editor quality-of-life improvements
- Add leap.nvim (<CR> to jump, S for cross-window) with LeapBackdrop dimming
- Add mini.surround with default s-prefix keymaps
- Add conform.nvim with format-on-save and <leader>cf keymap
- Add undotree with <leader>uu toggle and nerd font shapes
- Add nvim-treesitter-context for sticky scope header (max 3 lines)
- Add inc-rename.nvim with Noice input dialog and <leader>cr keymap
- Add lazydev.nvim for proper Neovim Lua type definitions in lua_ls
- Enable Snacks modules: scratch, zen, terminal (<C-/> toggle), and expand picker with flash integration and frecency matcher
- Configure flash to suppress default keymaps (owned by leap/mini.surround)
- Switch gitsigns from numhl to signcolumn for Snacks.statuscolumn rendering
- Set 2-space indentation with expandtab
- Enable persistent undo via undofile
- Auto-restore persistence session on startup when no file args given

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 18:24:47 -04:00
rootiest 444b5739bd initial commit 2026-04-17 04:46:48 -04:00
rootiest 1155311da0 feat(theme): implement dynamic themeing 2025-09-01 14:37:47 -04:00
rootiest 094bf768fc chore(deps): remove old commented-out dependencies 2025-09-01 14:37:17 -04:00
rootiest 096a0cb3b9 feat(nvim_updater): re-enable the nvim_updater plugin 2025-09-01 14:36:30 -04:00
rootiest 8cbd71bbbb fix(mini.nvim): update repository source of mini.nvim
Update the  source repository address to reflect the new mini.nvim organization.
2025-09-01 14:36:01 -04:00
rootiest 0d079826b0 docs(init): improve wording of init docs 2025-09-01 14:32:40 -04:00
rootiest 4545e18a68 feat(config): various config updates
Packaged updates to configuration.
2025-08-23 11:52:26 -04:00
rootiest 00b23548c3 chore(gitignore): add directories to gitignore 2025-08-23 11:51:28 -04:00
rootiest 2243264a24 fix(neovide): tweaks to neovide config 2025-08-23 11:50:56 -04:00
rootiest 209abd810d refactor(deprecated): remove old deprecated configs 2025-08-23 11:50:23 -04:00
rootiest 5cee216130 style(cooklang): cooklang style rules 2025-08-23 11:50:00 -04:00
rootiest 3a2f4e3e70 revert(statuscolumn): remove statuscolumn diagnostic colors
This code was not functioning properly so in the interest of performance, it is to be removed until
it can be fixed
2025-04-02 16:16:27 -04:00
rootiest e0c32bb119 feat(blink.cmp): add ripgrep to blink sources
Allows getting additional suggestions via ripgrep in blink.cmp. Source is added to the end of the
suggestions list and will search the full project directory (within size/root limits)
2025-03-26 00:01:46 -04:00
rootiest 440c7a7cfd feat(color-tags): use nvim-colorizer instead of mini.hipatterns
nvim-colorizer provides more features and recognizes more types of color formats.
2025-03-20 20:31:26 -04:00
rootiest 360df77f4a fix(smart-splits): properly execute the smart-splits keymap overrides 2025-03-19 21:06:17 -04:00
rootiest d060cdd269 style: changed conventional commits style from cz-emoji to standard commitizen
Commit messages will now use a more traditionl style to conform with global standards.
2025-03-19 20:06:32 -04:00
rootiest 8e68148899 📝 Docs(plugins): add plugin name comments for some plugins that were missing them 2025-03-19 19:43:32 -04:00
rootiest df9aebed1f 🗑️ Cleaned(smear-cursor): remove old config option
The use_floating_window option is no longer used so we don't need to set it
2025-03-19 19:42:53 -04:00
rootiest b8aeb1a911 📝 Docs(scrolling): add a simple note making it easy for users to change the behavior of smart-scroll
This adds one line that can be uncommented to prevent the smart-scroll function from remembering the
previous count. Well, it still remembers it, but it won't use it.
2025-03-18 22:38:00 -04:00
rootiest 1ea8611dbc Feat(scrolling): smarter <C-u> and <C-d>
Allows <C-u> and <C-d> to accept a count and scroll by <count>*<half-screen>. The count is
remembered and re-used for both <C-u> and <C-d> so repetitively pressing those sequences will
continue to use the previous count. Count defaults to 1 initally (scroll by one half-screen)
2025-03-18 22:29:45 -04:00
rootiest c4aa09b6be Feat(osc7): cwd tracking and matching
Writes the CWD to a file (and emits the OSC7) at startup and when the directory changes. This is
used by a function in fish-shell to automatically cd to the cwd on nvim exit.
2025-03-18 22:26:49 -04:00
rootiest 0ae80edfff Feat(illuminate): remove vim-illuminate in favor of snacks.words
Using the snacks feature instead of adding another plugin
2025-03-18 20:07:51 -04:00
rootiest bae734bb37 🗑️ Cleaned(lazyvim): remove old commented lazyvim extras 2025-03-18 20:06:58 -04:00
rootiest 35d032c7b1 🐛 Bug(luarocks): enable/disable hererocks based on vim.g.use_rocks setting from options 2025-03-18 20:05:35 -04:00
rootiest 163239a405 Feat(projects): add project.nvim
Add project.nvim for project management. Add dash option for it.

BREAKING CHANGE: Change dash key `p` from filetree to projects. Filetree now `t`
2025-03-12 21:50:42 -04:00
rootiest a13da65b8d Feat(highlight-colors): implement mini.hipatterns 2025-03-12 21:49:11 -04:00
rootiest 74139cb912 Feat(lualine): tweak nvim_updater lualine component colors
Make sure the bgcolor always matches its position in lualine, fixes
compatibility issue with some
colorschemes.
2025-03-11 12:45:45 -04:00
rootiest 191b6ffab2 🐛 Bug(treesitter): remove broken conditional
The condition for enabling treesitter caused treesitter-textobject errors whenever lazy.nvim
installs plugins
2025-03-10 22:04:25 -04:00
rootiest 98d9b6ee7d 🚸 UX(keymaps): change neominimap toggle keymaps
Makes more consistent with other toggles
2025-03-10 20:45:14 -04:00
rootiest 7b96badac2 🗑️ Cleaned(cmp): remove old commented cmp source 2025-03-05 15:26:32 -05:00
rootiest 3c8814df8a Feat(dashboard): add option and dynamic visibility for github contribs on dash 2025-03-05 15:25:33 -05:00
rootiest c6084225fd Feat(keymap): don't comment newline when using o key
Normal insert-mode newlines continue comments. Pressing `o` in normal-mode will create a newline
without commenting it.
2025-03-05 15:24:38 -05:00
rootiest 1a5b574ef6 🐛 Bug(blink.cmp): cmdline min keyword length
Cleaner cmdline completion with ghost-text and require a minimum of 2 characters entered before
showing suggestions. This prevents `:q` from being autocompleted to `:qall` and similar
mis-completions for short cmds.
2025-03-01 11:07:16 -05:00
rootiest 98a72eab61 Feat(obsidian): implement some initial Obsidian Notes features 2025-03-01 11:05:11 -05:00
rootiest 969510cee1 Feat(picker): implement Pick command
This allows you to do `:Pick colorschemes` instead of `:lua Pick('colorschemes')`. Makes using less
frequent pickers fast and easy!
2025-02-27 16:52:43 -05:00
rootiest aacbf5fb99 🐛 Bug(blink.cmp): tweak the cmdline completion behavior
This allows enter to send the command even if there is a suggestion to select. Avoids needing to
press enter twice.
2025-02-27 16:51:04 -05:00
rootiest e4f7a7473d Feat(colorschemes): add e-ink theme for some sweet monochromatic style 2025-02-27 16:50:02 -05:00
rootiest 194ab5278d Feat(ai-completion): try using copilot for a bit
Since I now have access to copilot pro I might as well take advantage of it. Not convinced its
better than codeium tho, we shall see.
2025-02-24 23:57:59 -05:00
rootiest 5ad9df12be 🗑️ Cleaned(statuscolumn): remove failed attempts at modifying statuscolumn appearance
A while back some attempts were made to change the statuscolumn appearance but they failed to
achieve an effective solution. Tidying up old commented code.
2025-02-17 19:01:04 -05:00
rootiest 648a8b76a5 🗑️ Cleaned(plugin specs): remove old, unused plugin specs
These specs have been commented out for a while now, this is just tidying up.
2025-02-17 18:59:51 -05:00
rootiest e1a00ac2da 🎨 Style(colorschemes): allow auto-dark-mode toggle but disable it by default 2025-02-17 18:58:07 -05:00
rootiest 59acf6175c 🎨 Style(colorschemes): organize colorscheme specs 2025-02-17 18:56:51 -05:00
rootiest 18933787b8 🎨 Style(wezterm): remove old wezterm-types definition 2025-02-17 18:55:52 -05:00
rootiest 05a109422e 🎨 Style(wezterm): make wezterm-types a dependency of lazydev 2025-02-17 18:55:18 -05:00
rootiest b430ed7b02 Feat(options): add gitname option
This allows customizing the github username for functions such as the dashboard contribution graph
2025-02-17 18:38:45 -05:00
rootiest 46e1e88ff2 Feat(image render): remove image.nvim
We can now render images in supported terminals with snacks, so image.nvim is now redundant and
unnecessary
2025-02-17 18:37:42 -05:00
rootiest 06663c59e8 📝 Docs(annotations): remove @func annotations
These are not properly parsed and not typically used, so all of them are now scrubbed from the repo
2025-02-17 18:36:34 -05:00
rootiest e1081f0d1f 🐛 Bug(vim.ui): remove deprecated dressing.nvim plugin from deps
Dressing is no longer being used, has been replaced with snacks.nvim ui plugins
2025-02-16 14:20:49 -05:00
rootiest e8fe76e111 🗑️ Cleaned(flutter): remove old redundant code
Remove fultter-tools plugin that is no longer used
2025-02-16 14:19:37 -05:00
rootiest cb61b27c21 📝 Docs(util-funcs): add missing annotations to utility functions 2025-02-16 14:18:49 -05:00
rootiest a42aaea9eb 🗑️ Cleaned(colorschemes): disable unused tokyonight theme
We use catppuccin so disable tokyonight to prevent it loading
2025-02-16 09:41:14 -05:00
rootiest 5701043c61 🐛 Bug(blink.cmp): fix breaking change in cmdline configuration
Blink.cmp now configures cmdline sources and keymaps in their own top-level cmdline table,
previously they were mixed in with the default keymaps and sources tables.

BREAKING CHANGE: Change to how cmdline is configured in blink.cmp
2025-02-15 21:31:22 -05:00
rootiest a9e51f8793 Feat(statuscolumn): implements coloring line numbers based on diagnostic status
This allows the line numbers to reflect statuses like Error, Warning, etc
2025-02-15 21:29:31 -05:00
rootiest c6fcdfef49 Feat(diffview): use 3-way mixed windows mergeview by default
Moved diffview opts to main types file and changed default from 3-way veritcal to 3-way mixed
window.
2025-02-15 21:28:14 -05:00
rootiest 97da62dcbe 🗑️ Cleaned(keymaps): remove old uneccessary keymap 2025-02-15 21:26:15 -05:00
rootiest 26e183e519 add gitsigns features toggles
In options.lua you can now set:
- vim.g.git_line_hl: to enable line highlights
- vim.g.git_word_hl: to enable word highlights
2025-02-15 21:24:25 -05:00
rootiest df54d30b24 🐛 Bug(keymaps): remove the \ keymap due to conflict
The \ keymap conflicts with the local-leader key. | remains as the vertical split keymap
2025-02-12 21:52:15 -05:00
rootiest fa4acc29ad Feat(keymaps): modify vertical split and explorer keymaps for easier use
Press \ or | for vertical split. Press Ctrl+| (Ctrl+Shift+\) for explorer.
2025-02-12 18:49:31 -05:00
rootiest a593ddb2fd remove deprecated indentor module 2025-02-11 20:50:22 -05:00
rootiest 4de0ea2a96 avoid bootstrapping luarocks when use_luarocks is false 2025-02-11 20:50:06 -05:00
rootiest bd84aa9b29 implement new profile configuration 2025-02-11 20:49:21 -05:00
rootiest 588a46e239 deprecate old profiler in favor of snacks.profiler
Use PROF=1 env variable to enable startup profiling
2025-02-11 20:48:09 -05:00
rootiest 98ab9da88c add snacks.image
enables image support in snacks!
May consider removing image.nvim now, will look into using snacks.image
in markdown rendering.
2025-02-09 16:59:51 -05:00
rootiest 58bfe77e92 playing with using customized vscode layout for snacks.picker 2025-02-09 16:00:48 -05:00
rootiest 7659170599 update gitignore
add test.lua
2025-02-08 21:31:45 -05:00
rootiest ab4ec2ae3e lua file for using neovide as a terminal emulator
To use:

Run (or map an alias/shortcut to):
neovide -- -u '~/.config/neoterm/neoterm.lua'
2025-02-08 21:31:30 -05:00
rootiest 38c01e545c update blinky behavior to use new lua functions 2025-02-08 21:29:59 -05:00
rootiest 7df4f7ef01 add new snacks plugin features 2025-02-08 21:29:42 -05:00
rootiest 46c9af56d0 efficiency and organization 2025-02-08 21:29:22 -05:00
rootiest 9e9de6fad4 lazy-load smart-splits 2025-02-08 21:28:58 -05:00