aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home/.config/zsh/.zshrc
Commit message (Collapse)AuthorAgeFilesLines
* feat: emit OSC 7 CWD for zellij pane/tab inheritanceLibravatar sommerfeld2 days1-0/+7
|
* fix: restore dynamic tab number prefixLibravatar sommerfeld2 days1-2/+3
| | | | | | | The compact bar does not show tab numbers on its own, so the prefix is needed. The index is queried dynamically via current-tab-info on each prompt. Inactive tabs may briefly show a stale number after a tab close but correct on focus.
* fix: drop tab number prefix from zellij tab namesLibravatar sommerfeld2 days1-3/+2
| | | | | | | The number prefix was redundant with zellij's compact bar which already shows tab numbers. Worse, inactive tabs showed stale numbers after tab closes since each shell can only update its own tab name on prompt. Now tabs show just dir or dir:cmd.
* fix: query zellij tab index dynamically on each promptLibravatar sommerfeld2 days1-4/+3
| | | | | | | The tab index was captured once at shell startup and cached in a variable. When tabs were closed and renumbered, the stale index persisted, showing wrong numbers. Now _zellij_tab_idx is a function that queries current-tab-info on every precmd/preexec call.
* fix: create XDG state dir for chpwd recent dirsLibravatar sommerfeld2 days1-7/+11
| | | | | | | | | The chpwd_recent_dirs handler errors when $XDG_STATE_HOME/zsh/ doesn't exist. Add a mkdir -p guard before setting the zstyle. Also rewrites za() to properly handle zellij list-sessions output by splitting into a zsh array and filtering empty lines. Adds a $ZELLIJ nesting guard and passes explicit session name to attach.
* feat: prefix zellij tab name with tab numberLibravatar sommerfeld2 days1-2/+4
| | | | | Queries tab position once at shell init (cached, no per-prompt cost) and prepends it: '1:dotfiles', '2:~:nvim', etc.
* fix: show ~ for home directory in zellij tab nameLibravatar sommerfeld2 days1-6/+3
|
* feat: auto-rename zellij tabs as dir:cmd (tmux-style)Libravatar sommerfeld2 days1-0/+12
| | | | | | | Uses precmd/preexec hooks to rename the active zellij tab: - At prompt: shows directory name (e.g. 'dotfiles') - During command: shows dir:cmd (e.g. 'dotfiles:nvim') Only active inside zellij ($ZELLIJ is set).
* fix: make za smart-attach (create/attach/pick based on session count)Libravatar sommerfeld2 days1-2/+11
| | | | | | 0 sessions: create new. 1 session: attach directly. Multiple: open the welcome picker. Replaces broken 'zellij attach -c' which required a session name argument.
* fix: use OSC 52 for clipboard instead of wl-copyLibravatar sommerfeld2 days1-2/+2
| | | | | | | System uses Xorg, not Wayland. OSC 52 is terminal-native and works on both X11 and Wayland without external tools. Alacritty supports it natively. Removes copy_command from zellij config (OSC 52 is the default when no copy_command is set).
* feat: add Ctrl-Y widget to copy command line to clipboardLibravatar sommerfeld2 days1-0/+5
| | | | | Replaces tmux-yank's prefix+y functionality with a native zsh widget that copies $BUFFER to clipboard via wl-copy.
* refactor: replace tmux aliases with zellij in .zshrcLibravatar sommerfeld2 days1-3/+2
| | | | | | - Remove ta/tas tmux aliases - Add za (zellij attach -c): attach or create session Usage: za (default session), za myname (named session)
* refactor: strip terminal keys section to essentialsLibravatar sommerfeld2 days1-29/+7
| | | | | | | | | | 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)
* docs: document every completion zstyleLibravatar sommerfeld2 days1-10/+15
| | | | | Each line now has an inline comment explaining what it does and why. The completer pipeline gets a multi-line breakdown of each stage.
* fix: declare ZSH_HIGHLIGHT_STYLES before subscript assignmentLibravatar sommerfeld2 days1-0/+1
| | | | | | | 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.
* feat: add Ctrl-Z toggle for foreground/backgroundLibravatar sommerfeld2 days1-0/+14
| | | | | | 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.
* feat: add zoxide for smart directory jumpingLibravatar sommerfeld2 days1-0/+5
| | | | | | | | 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).
* feat: add modern word-navigation keybindingsLibravatar sommerfeld2 days1-0/+8
| | | | | | | | | 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.
* refactor: modernize aliases and clean up LESS flagsLibravatar sommerfeld2 days1-3/+3
| | | | | | | | | - 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)
* feat: add history hardening and directory stack optionsLibravatar sommerfeld2 days1-0/+8
| | | | | | | | | | | | | | 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
* chore: remove redundant setopts (already zsh defaults)Libravatar sommerfeld2 days1-3/+1
| | | | | appendhistory (<D>), nomatch (<C><Z>), and notify (<Z>) are all set by default in zsh emulation. Add a comment noting this for reference.
* fix: resolve multiple bugs in .zshrcLibravatar sommerfeld2 days1-13/+8
| | | | | | | | | | | | | | | | - 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)
* refactor: rewrite .zshrc as unified interactive configLibravatar sommerfeld2 days1-127/+178
| | | | | | | | | | | | | | | | | | 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
* Add a lot of changesLibravatar sommerfeld2025-09-111-2/+27
|
* [zsh] Enable colors earlierLibravatar sommerfeld2025-01-311-2/+3
|
* [zsh] Fix autocompletion bugLibravatar sommerfeld2024-06-121-0/+1
|
* [zsh] Add user completion directory to $fpathLibravatar sommerfeld2024-05-221-0/+1
|
* first commitLibravatar Arnold Sommerfeld2023-10-181-0/+192