| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
- Remove 'fix' from core.whitespace — it's an apply.whitespace action,
not a valid whitespace type. Was silently ignored.
- Uncomment diff.algorithm = histogram — produces better diffs than
the default myers algorithm, especially for moved code blocks.
|
| |
|
|
|
|
|
|
|
|
| |
Remove 9 explicit key bindings (Home, End, Insert, Backspace, Delete,
Left, Right, PageUp, PageDown) — all already work OOTB in emacs mode
on modern terminals.
Keep only:
- Application mode block (ensures terminfo works during zle)
- Up/Down key lookup (needed for substring-search bindings below)
|
| |
|
|
|
| |
Each line now has an inline comment explaining what it does and why.
The completer pipeline gets a multi-line breakdown of each stage.
|
| |
|
|
|
|
|
| |
With extendedglob on, ZSH_HIGHLIGHT_STYLES[comment] triggers
'assignment to invalid subscript range' because the array doesn't
exist yet and [comment] is parsed as a glob pattern. Explicitly
declare it as an associative array first.
|
| |
|
|
|
|
| |
Single Ctrl-Z press suspends a process AND resumes it — no need to
type 'fg' manually. If no jobs are suspended, clears the screen
instead. Very ergonomic for editor/build workflows.
|
| |
|
|
|
|
|
|
| |
z foo → jump to best frecency-ranked directory matching "foo"
zi → interactive fzf picker for directory history
Much more powerful than cdr — learns from usage patterns across all
sessions and ranks by frequency + recency (frecency algorithm).
|
| |
|
|
|
|
|
|
|
| |
Ctrl-Right/Left and Alt-Right/Left for word-by-word navigation.
Ctrl-Backspace/Delete for word-by-word deletion.
The key insight: Ctrl-Right (forward-word) with zsh-autosuggestions
installed automatically accepts the next word of the suggestion,
giving fish's killer partial-accept feature for free.
|
| |
|
|
|
|
|
|
|
| |
- Replace fgrep/egrep aliases with grep -F/grep -E (POSIX deprecated
the standalone fgrep/egrep commands)
- Rename gdb alias to gdbr (gdb auto-started with args is a
convenience shortcut, not a replacement for plain gdb)
- Remove LESS -X flag (legacy workaround for old less versions that
didn't properly use alternate screen)
|
| |
|
|
|
|
|
| |
- AWT_TOOLKIT=MToolkit: removed in Java 7 (2011), does nothing
- GTK_RC_FILES for gtk-1.0: GTK1 is from 1998, no apps use it
- PYTHON_EGG_CACHE: eggs deprecated, pip/setuptools use wheels
- WORKON_HOME: virtualenvwrapper not used (modern Python uses venv/uv)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
History:
- extended_history: save timestamps per entry
- share_history: share across concurrent sessions
- hist_ignore_all_dups: remove older duplicate on new entry
- hist_find_no_dups: skip duplicates when searching
- hist_reduce_blanks: trim superfluous whitespace
- hist_ignore_space: leading space = private command
Navigation:
- auto_pushd: cd pushes onto dir stack (cd -<TAB> to browse)
- pushd_ignore_dups: don't push duplicate dirs
|
| |
|
|
|
| |
appendhistory (<D>), nomatch (<C><Z>), and notify (<Z>) are all set
by default in zsh emulation. Add a comment noting this for reference.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move HISTFILE from XDG_CACHE_HOME to XDG_STATE_HOME (history is
state, not cache — cache cleaners could delete it)
- Fix compinit: add -d flag to put zcompdump in XDG_CACHE_HOME
instead of polluting $HOME
- Fix cdr: set recent-dirs-file to XDG_STATE_HOME location
- Fix ZSH_HIGHLIGHT_HIGHLIGHTERS/STYLES: set BEFORE sourcing the
plugin (required by plugin docs)
- Fix zsh-history-substring-search: bind to Up/Down keys (was loaded
but never bound — dead code)
- Remove dead .../..../….. aliases (rationalise-dot widget intercepts
every dot keystroke, making these unreachable)
- Remove redundant ShiftTab reverse-menu-complete binding (overridden
by autosuggest-accept)
|
| |
|
|
|
|
| |
Rewrite shell config section to reflect the zsh-only 3-file
architecture (.zshenv, .zprofile, .zshrc). Remove references to
deleted files (.profile, .bashrc, envrc, aliases, shinit).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Remove files made redundant by the zsh-only rewrite:
- home/.profile (POSIX login shell — replaced by .zprofile)
- home/.bashrc (bash interactive — no longer needed)
- home/.bash_logout (bash logout — no longer needed)
- home/.config/sh/envrc (shared env vars — merged into .zprofile)
- home/.config/sh/aliases (shared aliases — merged into .zshrc)
- home/.config/sh/shinit (POSIX interactive init — merged into .zshrc)
The inputrc file is kept for readline-based tools (python REPL, etc.).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge aliases into .zshrc and fix multiple bugs:
- Fix: remove duplicate zle application mode block (lines 110-115)
- Fix: select-word-style called once (shell), was called twice (bash then shell)
- Fix: remove contradictory no_complete_aliases/COMPLETE_ALIASES setopts
- Fix: remove 'set zle_bracketed_paste' (wrong syntax, did nothing)
- Remove: case $- guard (unnecessary — zsh only sources .zshrc interactively)
- Remove: shinit sourcing (replaced by direct config in .zprofile/.zshrc)
- Remove: safesource calls (direct source)
- Remove: ZSH_AUTOSUGGEST_USE_ASYNC (deprecated, async is default)
- Remove: run-help-sudo (system uses doas)
- Remove: bash() wrapper function (no longer needed)
- Remove: initial Up/Down bindings (immediately overridden by prefix search)
- Organize into clearly labeled sections with comments
- Consolidate compdef calls
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the symlink-to-.profile with a proper zsh-native .zprofile.
Merges content from envrc into a single file. Changes:
- Remove POSIX compat helpers (safesource, exists, ifexists)
- Remove LESS_TERMCAP block (MANPAGER is nvim)
- Remove deprecated MOZ_WEBRENDER, MOZ_X11_EGL, GPG_AGENT_INFO
- Remove SENTRY_ACCESS_TOKEN, ENV export
- Remove .zshrc dispatch (zsh handles this natively via ZDOTDIR)
- Fix duplicate RUSTUP_HOME export
- Fix work-envrc: was checking wrong file readability
- Fix XAUTHORITY: also skip when over SSH
- Use zsh idioms: typeset -U, $+commands, [[]]
- Use $TTY for GPG_TTY (zsh sets this automatically)
- Organize into clearly labeled sections with comments
- Delete home/.zprofile (was symlink to .profile, now redundant)
|
| |
|
|
|
| |
Sets ZDOTDIR so zsh finds .zprofile and .zshrc in XDG_CONFIG_HOME/zsh
instead of requiring files in $HOME.
|
| |
|
|
| |
Re-enable shada for persistent marks, registers, and command history.
|
| |
|
|
|
|
| |
Add inline comments explaining the intent and behavior of each setting,
including non-obvious choices like shadafile=NONE, scrolloff=999, and
the two-phase folding setup.
|
| |
|
|
| |
Immediately overridden by tiny-inline-diagnostic setup in lsp.lua.
|
| |
|
|
| |
Has no effect when mapleader is already set to Space.
|
| |
|
|
| |
Bytecode caching is enabled by default in Neovim 0.12.
|
| |
|
|
| |
grug-far, spectre_panel, tsplayground are not installed plugins.
|
| |
|
|
|
| |
Neovim 0.12 provides vim.treesitter.indentexpr() natively, replacing
the nvim-treesitter plugin's indentexpr function.
|
| |
|
|
|
| |
Server binary may not be installed on all machines. Wrap in pcall to
prevent startup errors when tblgen_lsp_server is unavailable.
|
| |
|
|
|
|
| |
System uses doas for privilege escalation. Renamed SudoWrite → DoasWrite
and switched from sudo -p '' -S to doas -S with newline-terminated
password input.
|
| |
|
|
|
| |
Neovim 0.12 changed the signature from a table { bufnr = N } to a
plain integer bufnr parameter.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace lazy.nvim plugin manager with Neovim 0.12's native vim.pack API.
All plugin config files rewritten from lazy.nvim spec tables to imperative
require/setup format with explicit vim.keymap.set() calls.
Key changes:
- vim.pack.add() with ~53 plugins in init.lua
- blink.cmp/pairs/download pinned to version tags (vim.version.range)
- PackChanged autocmd for markdown-preview build hook
- Ordered requires: colorscheme → ui → treesitter → completion → lsp → rest
- Plugin setup guards (gitsigns, which-key, blink.cmp) handle deferred
plugin/ file loading correctly
Net reduction: ~438 lines across 13 files.
|
| | |
|
| |
|
|
|
| |
Auto-loaded as dependency by neogit, gitlinker, gitsigns, and
refactoring.nvim. Standalone spec was unnecessary.
|
| |
|
|
|
| |
Marginal utility (auto-sizing cmdheight) for startup cost of
a lazy=false plugin with empty opts.
|
| |
|
|
|
| |
Neotest plugin was removed but its which-key group and
close-with-q filetypes remained as dead config.
|
| |
|
|
|
| |
Redundant with copilot.lua (inline completions via NES) and
Copilot CLI (chat/agentic workflows outside the editor).
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove version pin and migrate to v2 API:
- run_template() → run_task()
- prompt="never" → disallow_prompt=true
- Shell template removed → vim.cmd("OverseerShell")
- list_tasks recent_first removed → sort by task id
This also resolves the vim.validate deprecation warning from
checkhealth, which was fixed upstream in v2.0.0.
|
| |
|
|
|
|
|
|
| |
Remap live_grep from <localleader>g to <localleader>/ to avoid
overlapping with git fzf commands (<localleader>gc, gb, gs, etc.)
which caused a timeout delay on <localleader>g.
Also fix buffers mapping desc that incorrectly said [G]rep.
|
| |
|
|
|
| |
The name ts.lua is ambiguous (TypeScript vs treesitter). Use the full name
for clarity.
|
| |
|
|
| |
format_hunks is defined but never called anywhere.
|
| |
|
|
|
|
| |
The 120-line LspAttach handler (fzf-lua navigation, document highlighting,
codelens, inlay hints) belongs with the LSP plugin configuration, not in
generic autocmds. This puts all LSP behavior in one file.
|
| |
|
|
|
| |
Move copilot.lua from completion.lua and codecompanion from plugins/init.lua
into a dedicated ai.lua file. Both are AI-related, not completion.
|
| |
|
|
|
| |
Move auto-session config (85 lines, with overseer and dap integration) from
plugins/init.lua into a dedicated session.lua file.
|
| |
|
|
|
| |
Move the overseer task runner config (140 lines, 13 keymaps) from the
plugins/init.lua junk drawer into a dedicated runner.lua file.
|
| |
|
|
|
| |
Move surround, guess-indent, various-textobjs, dial, and refactoring from
the 521-line plugins/init.lua junk drawer into a dedicated editing.lua file.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
after/plugin/ runs after ALL plugins with unpredictable ordering. Explicit
require() from init.lua after lazy.setup() is more predictable and standard.
- after/plugin/autocmds.lua → lua/config/autocmds.lua
- after/plugin/mappings.lua → lua/config/keymaps.lua
- cfg/options.lua → config/options.lua
- cfg/utils.lua → config/utils.lua
Creates a consistent lua/config/ namespace for all non-plugin configuration.
|
| |
|
|
|
|
|
|
| |
Two separate LspAttach handlers existed in autocmds.lua and search.lua,
fragmenting LSP behavior across files. Merge fzf-lua LSP navigation
mappings into the main LspAttach handler in autocmds.lua using lazy
require('fzf-lua'). This makes all LSP-on-attach behavior visible in one
place.
|
| |
|
|
|
|
| |
Rename lua/custom/plugins/ to lua/plugins/ following the standard lazy.nvim
convention. The extra custom/ nesting added no value. Update import path in
init.lua accordingly.
|
| |
|
|
|
|
| |
Vim's built-in equalalways option (default: true) already equalizes windows
on resize. The plugin's proportional resizing logic provides negligible
benefit.
|
| |
|
|
|
|
| |
Duplicates built-in K (vim.lsp.buf.hover) with marginal extras (man,
dictionary, gh, fold_preview). Three keymaps for one plugin that mostly
duplicates a 0.12 built-in default is low value.
|
| |
|
|
|
|
| |
- synmaxcol=500: irrelevant with treesitter handling all highlighting
- showmatch=true: redundant with blink.pairs, causes annoying cursor jump
- cmdheight=2: conflicts with auto-cmdheight.nvim which manages it dynamically
|
| |
|
|
|
|
| |
Remove _threaded_diff and _refresh_staged_on_update (internal/undocumented
options prefixed with _, may break on any update). Remove highlights block
where all values were nil (just uses defaults, no-op).
|