feat: harden terminal abbreviations, gracefully fallback missing integrations, and check deps #5
@@ -79,11 +79,7 @@ Managed via [Fisher](https://github.com/jorgebucaran/fisher):
|
|||||||
| `mattmc3/magic-enter.fish` | Smart Enter: runs `ls` / `git status` on blank line |
|
| `mattmc3/magic-enter.fish` | Smart Enter: runs `ls` / `git status` on blank line |
|
||||||
| `jorgebucaran/spark.fish` | Sparkline bar charts in the terminal |
|
| `jorgebucaran/spark.fish` | Sparkline bar charts in the terminal |
|
||||||
|
|
||||||
Install plugins after cloning:
|
Fisher and all listed plugins are installed automatically by the bootstrap script in `config.fish` upon launching the shell for the first time.
|
||||||
|
|
||||||
```fish
|
|
||||||
fisher update
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -107,6 +103,8 @@ See [FZF Bindings](#fzf-bindings) under Key Bindings for the default FZF shortcu
|
|||||||
|
|
||||||
## Integrations
|
## Integrations
|
||||||
|
|
||||||
|
> **Note:** All integrations listed below are designed to gracefully fallback to basic commands or safely ignore their configuration if their required external dependencies are not installed on the system.
|
||||||
|
|
||||||
### Zoxide
|
### Zoxide
|
||||||
|
|
||||||
Smart `cd` replacement. `cd` (or `z`) `<keyword>` jumps to the best frecency match; `cdi` (or `zi`) opens an interactive selector.
|
Smart `cd` replacement. `cd` (or `z`) `<keyword>` jumps to the best frecency match; `cdi` (or `zi`) opens an interactive selector.
|
||||||
@@ -390,9 +388,9 @@ These abbreviations replicate Bash's bang-style history expansions. They expand
|
|||||||
| `cmf` | `chezmoi forget` |
|
| `cmf` | `chezmoi forget` |
|
||||||
| `cmi` | `chezmoi init` |
|
| `cmi` | `chezmoi init` |
|
||||||
|
|
||||||
### Kitty Window Management
|
### Kitty / WezTerm Window Management
|
||||||
|
|
||||||
These abbreviations mirror Vim/tmux ergonomics for managing Kitty splits, tabs, and windows.
|
These abbreviations mirror Vim/tmux ergonomics for managing terminal splits, tabs, and windows. They automatically detect whether you are using Kitty or WezTerm and execute the appropriate terminal CLI commands.
|
||||||
|
|
||||||
| Abbr | Action |
|
| Abbr | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
@@ -481,7 +479,7 @@ Named context shortcuts (e.g. `dcr`, `dck`) live in `~/.config/.user-dots/fish/l
|
|||||||
| [lazygit](https://github.com/jesseduffield/lazygit) | git TUI |
|
| [lazygit](https://github.com/jesseduffield/lazygit) | git TUI |
|
||||||
| [lazydocker](https://github.com/jesseduffield/lazydocker) | Docker TUI |
|
| [lazydocker](https://github.com/jesseduffield/lazydocker) | Docker TUI |
|
||||||
| [trash-cli](https://github.com/andreafrancia/trash-cli) | Safe `rm` |
|
| [trash-cli](https://github.com/andreafrancia/trash-cli) | Safe `rm` |
|
||||||
| [Kitty](https://sw.kovidgoyal.net/kitty/) | Terminal emulator |
|
| [Kitty](https://sw.kovidgoyal.net/kitty/) / [WezTerm](https://wezfurlong.org/wezterm/) | Terminal emulator |
|
||||||
| [WakaTime](https://wakatime.com/) | Activity tracking |
|
| [WakaTime](https://wakatime.com/) | Activity tracking |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
+159
-97
@@ -19,16 +19,24 @@ abbr -a v antigravity
|
|||||||
# Kate
|
# Kate
|
||||||
abbr -a k kate
|
abbr -a k kate
|
||||||
# WezTerm SSH
|
# WezTerm SSH
|
||||||
abbr -a s wezterm ssh
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a s wezterm ssh
|
||||||
|
end
|
||||||
# Neovim in a new tab
|
# Neovim in a new tab
|
||||||
#abbr -a editt wezterm cli spawn nvim # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a editt kitty @ launch --type=tab --cwd=current nvim # Kitty
|
abbr -a editt kitty @ launch --type=tab --cwd=current nvim # Kitty
|
||||||
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a editt wezterm cli spawn nvim # WezTerm
|
||||||
|
end
|
||||||
# LazyGit
|
# LazyGit
|
||||||
abbr -a lg lazygit
|
abbr -a lg lazygit
|
||||||
# Sudo shell
|
# Sudo shell
|
||||||
abbr -a sudu sudo -s
|
abbr -a sudu sudo -s
|
||||||
# Kitty
|
# Kitty
|
||||||
abbr -a kt kitty
|
if test "$TERM" = xterm-kitty
|
||||||
|
abbr -a kt kitty
|
||||||
|
end
|
||||||
# cat
|
# cat
|
||||||
abbr -a c cat
|
abbr -a c cat
|
||||||
# chezmoi
|
# chezmoi
|
||||||
@@ -65,10 +73,14 @@ abbr -a g git
|
|||||||
abbr -a ag antigravity
|
abbr -a ag antigravity
|
||||||
abbr -a ag. antigravity .
|
abbr -a ag. antigravity .
|
||||||
# Quit
|
# Quit
|
||||||
# abbr -a :q wezterm cli kill-pane # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
# abbr -a :Q wezterm cli kill-pane # WezTerm
|
abbr -a :q kitty @ close-window # Kitty (Closes the active split/pane)
|
||||||
abbr -a :q kitty @ close-window # Kitty (Closes the active split/pane)
|
abbr -a :Q kitty @ close-tab # Kitty (Closes the whole tab)
|
||||||
abbr -a :Q kitty @ close-tab # Kitty (Closes the whole tab)
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :q wezterm cli kill-pane # WezTerm
|
||||||
|
abbr -a :Q wezterm cli kill-pane # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
######### Alternates ##########
|
######### Alternates ##########
|
||||||
### ls alternates
|
### ls alternates
|
||||||
@@ -86,116 +98,162 @@ abbr -a lT lt
|
|||||||
abbr -a lsT lstree
|
abbr -a lsT lstree
|
||||||
|
|
||||||
# Window Creation (OS Windows)
|
# Window Creation (OS Windows)
|
||||||
# abbr -a :w wezterm cli spawn --new-window # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :w kitty @ launch --type=os-window # Kitty
|
abbr -a :w kitty @ launch --type=os-window # Kitty
|
||||||
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :w wezterm cli spawn --new-window # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Window Splits (Panes)
|
# Window Splits (Panes)
|
||||||
# abbr -a :wv wezterm cli split-pane --bottom # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :wv kitty @ launch --location=hsplit # Kitty (Horizontal split)
|
abbr -a :wv kitty @ launch --location=hsplit # Kitty (Horizontal split)
|
||||||
# abbr -a :wh wezterm cli split-pane --right # WezTerm
|
abbr -a :wh kitty @ launch --location=vsplit # Kitty (Vertical split)
|
||||||
abbr -a :wh kitty @ launch --location=vsplit # Kitty (Vertical split)
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :wv wezterm cli split-pane --bottom # WezTerm
|
||||||
|
abbr -a :wh wezterm cli split-pane --right # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Window Detach (Move Pane)
|
# Window Detach (Move Pane)
|
||||||
# abbr -a :wo wezterm cli move-pane-to-new-tab --new-window # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :wo kitty @ detach-window --target-tab=new # Kitty (Moves pane to new tab)
|
abbr -a :wo kitty @ detach-window --target-tab=new # Kitty (Moves pane to new tab)
|
||||||
# abbr -a :wot wezterm cli move-pane-to-new-tab # WezTerm
|
abbr -a :wot kitty @ detach-window # Kitty (Same as above, default behavior)
|
||||||
abbr -a :wot kitty @ detach-window # Kitty (Same as above, default behavior)
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :wo wezterm cli move-pane-to-new-tab --new-window # WezTerm
|
||||||
|
abbr -a :wot wezterm cli move-pane-to-new-tab # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Tab Creation
|
# Tab Creation
|
||||||
# abbr -a :t wezterm cli spawn # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :t kitty @ launch --type=tab # Kitty
|
abbr -a :t kitty @ launch --type=tab # Kitty
|
||||||
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :t wezterm cli spawn # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Rename Tab
|
# Rename Tab
|
||||||
# abbr -a :tl wezterm cli set-tab-title # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :tl "kitty @ set-tab-title" # Kitty -> Usage: :tl "New Title"
|
abbr -a :tl "kitty @ set-tab-title" # Kitty -> Usage: :tl "New Title"
|
||||||
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :tl wezterm cli set-tab-title # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Rename Window
|
# Rename Window
|
||||||
# abbr -a :tw wezterm cli set-window-title # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :tw "kitty @ set-window-title" # Kitty
|
abbr -a :tw "kitty @ set-window-title" # Kitty
|
||||||
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :tw wezterm cli set-window-title # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Rename Workspace
|
# Rename Workspace
|
||||||
# abbr -a :twk wezterm cli rename-workspace # WezTerm
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :twk wezterm cli rename-workspace # WezTerm
|
||||||
|
end
|
||||||
# Kitty does not have a direct CLI equivalent for renaming a dynamic "workspace" session.
|
# Kitty does not have a direct CLI equivalent for renaming a dynamic "workspace" session.
|
||||||
|
|
||||||
# Tab Navigation
|
# Tab Navigation
|
||||||
# abbr -a :tp wezterm cli activate-tab --tab-relative -1 # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :tp "kitty @ focus-tab --match neighbor:left" # Kitty
|
abbr -a :tp "kitty @ focus-tab --match neighbor:left" # Kitty
|
||||||
# abbr -a :tn wezterm cli activate-tab --tab-relative 1 # WezTerm
|
abbr -a :tn "kitty @ focus-tab --match neighbor:right" # Kitty
|
||||||
abbr -a :tn "kitty @ focus-tab --match neighbor:right" # Kitty
|
end
|
||||||
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
|
abbr -a :tp wezterm cli activate-tab --tab-relative -1 # WezTerm
|
||||||
|
abbr -a :tn wezterm cli activate-tab --tab-relative 1 # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Specialty Tab Shortcuts (New Tab in specific dir)
|
# Specialty Tab Shortcuts (New Tab in specific dir)
|
||||||
# abbr -a :tgk wezterm cli spawn --cwd ~/.config/kitty # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :tgk kitty @ launch --type=tab --cwd ~/.config/kitty # Kitty
|
abbr -a :tgk kitty @ launch --type=tab --cwd ~/.config/kitty # Kitty
|
||||||
# abbr -a :tgn wezterm cli spawn --cwd ~/.config/nvim # WezTerm
|
abbr -a :tgn kitty @ launch --type=tab --cwd ~/.config/nvim # Kitty
|
||||||
abbr -a :tgn kitty @ launch --type=tab --cwd ~/.config/nvim # Kitty
|
abbr -a :tgf kitty @ launch --type=tab --cwd ~/.config/fish # Kitty
|
||||||
# abbr -a :tgf wezterm cli spawn --cwd ~/.config/fish # WezTerm
|
abbr -a :tgh kitty @ launch --type=tab --cwd ~
|
||||||
abbr -a :tgf kitty @ launch --type=tab --cwd ~/.config/fish # Kitty
|
abbr -a :tgcz kitty @ launch --type=tab --cwd ~/.local/share/chezmoi # Kitty
|
||||||
# abbr -a :tgh wezterm cli spawn --cwd ~ # WezTerm
|
abbr -a :tgcm kitty @ launch --type=tab --cwd ~/.config/chezmoi # Kitty
|
||||||
abbr -a :tgh kitty @ launch --type=tab --cwd ~
|
abbr -a :tgp kitty @ launch --type=tab --cwd ~/projects # Kitty
|
||||||
# abbr -a :tgcz wezterm cli spawn --cwd ~/.local/share/chezmoi # WezTerm
|
abbr -a :tgr kitty @ launch --type=tab -- sudo -i
|
||||||
abbr -a :tgcz kitty @ launch --type=tab --cwd ~/.local/share/chezmoi # Kitty
|
end
|
||||||
# abbr -a :tgcm wezterm cli spawn --cwd ~/.config/chezmoi # WezTerm
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
abbr -a :tgcm kitty @ launch --type=tab --cwd ~/.config/chezmoi # Kitty
|
abbr -a :tgk wezterm cli spawn --cwd ~/.config/kitty # WezTerm
|
||||||
# abbr -a :tgp wezterm cli spawn --cwd ~/projects # WezTerm
|
abbr -a :tgn wezterm cli spawn --cwd ~/.config/nvim # WezTerm
|
||||||
abbr -a :tgp kitty @ launch --type=tab --cwd ~/projects # Kitty
|
abbr -a :tgf wezterm cli spawn --cwd ~/.config/fish # WezTerm
|
||||||
# abbr -a :tgr wezterm cli spawn -- sudo -i # WezTerm
|
abbr -a :tgh wezterm cli spawn --cwd ~ # WezTerm
|
||||||
abbr -a :tgr kitty @ launch --type=tab -- sudo -i
|
abbr -a :tgcz wezterm cli spawn --cwd ~/.local/share/chezmoi # WezTerm
|
||||||
|
abbr -a :tgcm wezterm cli spawn --cwd ~/.config/chezmoi # WezTerm
|
||||||
|
abbr -a :tgp wezterm cli spawn --cwd ~/projects # WezTerm
|
||||||
|
abbr -a :tgr wezterm cli spawn -- sudo -i # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Specialty Window Shortcuts (New OS Window in specific dir)
|
# Specialty Window Shortcuts (New OS Window in specific dir)
|
||||||
# abbr -a :wgk wezterm cli spawn --new-window --cwd ~/.config/kitty # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :wgk kitty @ launch --type=os-window --cwd ~/.config/kitty # Kitty
|
abbr -a :wgk kitty @ launch --type=os-window --cwd ~/.config/kitty # Kitty
|
||||||
# abbr -a :wgn wezterm cli spawn --new-window --cwd ~/.config/nvim # WezTerm
|
abbr -a :wgn kitty @ launch --type=os-window --cwd ~/.config/nvim # Kitty
|
||||||
abbr -a :wgn kitty @ launch --type=os-window --cwd ~/.config/nvim # Kitty
|
abbr -a :wgf kitty @ launch --type=os-window --cwd ~/.config/fish # Kitty
|
||||||
# abbr -a :wgf wezterm cli spawn --new-window --cwd ~/.config/fish # WezTerm
|
abbr -a :wgh kitty @ launch --type=os-window --cwd ~
|
||||||
abbr -a :wgf kitty @ launch --type=os-window --cwd ~/.config/fish # Kitty
|
abbr -a :wgzd kitty @ launch --type=os-window --cwd ~/.local/share/chezmoi # Kitty
|
||||||
# abbr -a :wgh wezterm cli spawn --new-window --cwd ~ # WezTerm
|
abbr -a :wgcz kitty @ launch --type=os-window --cwd ~/.config/chezmoi # Kitty
|
||||||
abbr -a :wgh kitty @ launch --type=os-window --cwd ~
|
abbr -a :wgp kitty @ launch --type=os-window --cwd ~/projects # Kitty
|
||||||
# abbr -a :wgzd wezterm cli spawn --new-window --cwd ~/.local/share/chezmoi # WezTerm
|
abbr -a :wgr kitty @ launch --type=os-window -- sudo -i # Kitty
|
||||||
abbr -a :wgzd kitty @ launch --type=os-window --cwd ~/.local/share/chezmoi # Kitty
|
end
|
||||||
# abbr -a :wgcz wezterm cli spawn --new-window --cwd ~/.config/chezmoi # WezTerm
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
abbr -a :wgcz kitty @ launch --type=os-window --cwd ~/.config/chezmoi # Kitty
|
abbr -a :wgk wezterm cli spawn --new-window --cwd ~/.config/kitty # WezTerm
|
||||||
# abbr -a :wgp wezterm cli spawn --new-window --cwd ~/projects # WezTerm
|
abbr -a :wgn wezterm cli spawn --new-window --cwd ~/.config/nvim # WezTerm
|
||||||
abbr -a :wgp kitty @ launch --type=os-window --cwd ~/projects # Kitty
|
abbr -a :wgf wezterm cli spawn --new-window --cwd ~/.config/fish # WezTerm
|
||||||
# abbr -a :wgr wezterm cli spawn --new-window -- sudo -i # WezTerm
|
abbr -a :wgh wezterm cli spawn --new-window --cwd ~ # WezTerm
|
||||||
abbr -a :wgr kitty @ launch --type=os-window -- sudo -i # Kitty
|
abbr -a :wgzd wezterm cli spawn --new-window --cwd ~/.local/share/chezmoi # WezTerm
|
||||||
|
abbr -a :wgcz wezterm cli spawn --new-window --cwd ~/.config/chezmoi # WezTerm
|
||||||
|
abbr -a :wgp wezterm cli spawn --new-window --cwd ~/projects # WezTerm
|
||||||
|
abbr -a :wgr wezterm cli spawn --new-window -- sudo -i # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Specialty Window Vertical Shortcuts (Split Bottom)
|
# Specialty Window Vertical Shortcuts (Split Bottom)
|
||||||
# abbr -a :wvgk wezterm cli split-pane --bottom --cwd ~/.config/kitty # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :wvgk kitty @ launch --location=hsplit --cwd ~/.config/kitty # Kitty
|
abbr -a :wvgk kitty @ launch --location=hsplit --cwd ~/.config/kitty # Kitty
|
||||||
# abbr -a :wvgn wezterm cli split-pane --bottom --cwd ~/.config/nvim # WezTerm
|
abbr -a :wvgn kitty @ launch --location=hsplit --cwd ~/.config/nvim # Kitty
|
||||||
abbr -a :wvgn kitty @ launch --location=hsplit --cwd ~/.config/nvim # Kitty
|
abbr -a :wvgf kitty @ launch --location=hsplit --cwd ~/.config/fish # Kitty
|
||||||
# abbr -a :wvgf wezterm cli split-pane --bottom --cwd ~/.config/fish # WezTerm
|
abbr -a :wvgh kitty @ launch --location=hsplit --cwd ~ # Kitty
|
||||||
abbr -a :wvgf kitty @ launch --location=hsplit --cwd ~/.config/fish # Kitty
|
abbr -a :wvgcz kitty @ launch --location=hsplit --cwd ~/.local/share/chezmoi # Kitty
|
||||||
# abbr -a :wvgh wezterm cli split-pane --bottom --cwd ~ # WezTerm
|
abbr -a :wvgcm kitty @ launch --location=hsplit --cwd ~/.config/chezmoi # Kitty
|
||||||
abbr -a :wvgh kitty @ launch --location=hsplit --cwd ~ # Kitty
|
abbr -a :wvgp kitty @ launch --location=hsplit --cwd ~/projects # Kitty
|
||||||
# abbr -a :wvgcz wezterm cli split-pane --bottom --cwd ~/.local/share/chezmoi # WezTerm
|
abbr -a :wvgr kitty @ launch --location=hsplit -- sudo -i # Kitty
|
||||||
abbr -a :wvgcz kitty @ launch --location=hsplit --cwd ~/.local/share/chezmoi # Kitty
|
end
|
||||||
# abbr -a :wvgcm wezterm cli split-pane --bottom --cwd ~/.config/chezmoi # WezTerm
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
abbr -a :wvgcm kitty @ launch --location=hsplit --cwd ~/.config/chezmoi # Kitty
|
abbr -a :wvgk wezterm cli split-pane --bottom --cwd ~/.config/kitty # WezTerm
|
||||||
# abbr -a :wvgp wezterm cli split-pane --bottom --cwd ~/projects # WezTerm
|
abbr -a :wvgn wezterm cli split-pane --bottom --cwd ~/.config/nvim # WezTerm
|
||||||
abbr -a :wvgp kitty @ launch --location=hsplit --cwd ~/projects # Kitty
|
abbr -a :wvgf wezterm cli split-pane --bottom --cwd ~/.config/fish # WezTerm
|
||||||
# abbr -a :wvgr wezterm cli split-pane --bottom -- sudo -i # WezTerm
|
abbr -a :wvgh wezterm cli split-pane --bottom --cwd ~ # WezTerm
|
||||||
abbr -a :wvgr kitty @ launch --location=hsplit -- sudo -i # Kitty
|
abbr -a :wvgcz wezterm cli split-pane --bottom --cwd ~/.local/share/chezmoi # WezTerm
|
||||||
|
abbr -a :wvgcm wezterm cli split-pane --bottom --cwd ~/.config/chezmoi # WezTerm
|
||||||
|
abbr -a :wvgp wezterm cli split-pane --bottom --cwd ~/projects # WezTerm
|
||||||
|
abbr -a :wvgr wezterm cli split-pane --bottom -- sudo -i # WezTerm
|
||||||
|
end
|
||||||
|
|
||||||
# Specialty Window Horizontal Shortcuts (Split Right)
|
# Specialty Window Horizontal Shortcuts (Split Right)
|
||||||
# abbr -a :whgk wezterm cli split-pane --bottom --cwd ~/.config/kitty # WezTerm
|
if test "$TERM" = xterm-kitty
|
||||||
abbr -a :whgk kitty @ launch --location=vsplit --cwd ~/.config/kitty # Kitty
|
abbr -a :whgk kitty @ launch --location=vsplit --cwd ~/.config/kitty # Kitty
|
||||||
# abbr -a :whgn wezterm cli split-pane --bottom --cwd ~/.config/nvim # WezTerm
|
abbr -a :whgn kitty @ launch --location=vsplit --cwd ~/.config/nvim # Kitty
|
||||||
abbr -a :whgn kitty @ launch --location=vsplit --cwd ~/.config/nvim # Kitty
|
abbr -a :whgf kitty @ launch --location=vsplit --cwd ~/.config/fish # Kitty
|
||||||
# abbr -a :whgf wezterm cli split-pane --bottom --cwd ~/.config/fish # WezTerm
|
abbr -a :whgh kitty @ launch --location=vsplit --cwd ~ # Kitty
|
||||||
abbr -a :whgf kitty @ launch --location=vsplit --cwd ~/.config/fish # Kitty
|
abbr -a :whgcz kitty @ launch --location=vsplit --cwd ~/.local/share/chezmoi # Kitty
|
||||||
# abbr -a :whgh wezterm cli split-pane --bottom --cwd ~ # WezTerm
|
abbr -a :whgcm kitty @ launch --location=vsplit --cwd ~/.config/chezmoi # Kitty
|
||||||
abbr -a :whgh kitty @ launch --location=vsplit --cwd ~ # Kitty
|
abbr -a :whgp kitty @ launch --location=vsplit --cwd ~/projects # Kitty
|
||||||
# abbr -a :whgcz wezterm cli split-pane --bottom --cwd ~/.local/share/chezmoi # WezTerm
|
abbr -a :whgr kitty @ launch --location=vsplit --cwd current sudo -i # Kitty -> Specialty cd Shortcuts
|
||||||
abbr -a :whgcz kitty @ launch --location=vsplit --cwd ~/.local/share/chezmoi # Kitty
|
abbr -a :cdk 'cd ~/.config/kitty/ # Kitty Config'
|
||||||
# abbr -a :whgcm wezterm cli split-pane --bottom --cwd ~/.config/chezmoi # WezTerm
|
abbr -a :cdkn 'cd ~/.config/kitty;nvim'
|
||||||
abbr -a :whgcm kitty @ launch --location=vsplit --cwd ~/.config/chezmoi # Kitty
|
end
|
||||||
# abbr -a :whgp wezterm cli split-pane --bottom --cwd ~/projects # WezTerm
|
if test "$TERM_PROGRAM" = WezTerm
|
||||||
abbr -a :whgp kitty @ launch --location=vsplit --cwd ~/projects # Kitty
|
abbr -a :whgk wezterm cli split-pane --bottom --cwd ~/.config/kitty # WezTerm
|
||||||
# abbr -a :whgr wezterm cli split-pane --bottom -- sudo -i # WezTerm
|
abbr -a :whgn wezterm cli split-pane --bottom --cwd ~/.config/nvim # WezTerm
|
||||||
abbr -a :whgr kitty @ launch --location=vsplit --cwd current sudo -i # Kitty -> Specialty cd Shortcuts
|
abbr -a :whgf wezterm cli split-pane --bottom --cwd ~/.config/fish # WezTerm
|
||||||
abbr -a :cdk 'cd ~/.config/kitty/ # Kitty Config'
|
abbr -a :whgh wezterm cli split-pane --bottom --cwd ~ # WezTerm
|
||||||
abbr -a :cdkn 'cd ~/.config/kitty;nvim'
|
abbr -a :whgcz wezterm cli split-pane --bottom --cwd ~/.local/share/chezmoi # WezTerm
|
||||||
|
abbr -a :whgcm wezterm cli split-pane --bottom --cwd ~/.config/chezmoi # WezTerm
|
||||||
|
abbr -a :whgp wezterm cli split-pane --bottom --cwd ~/projects # WezTerm
|
||||||
|
abbr -a :whgr wezterm cli split-pane --bottom -- sudo -i # WezTerm
|
||||||
|
end
|
||||||
abbr -a :cdn cd '~/.config/nvim/ # Neovim Config'
|
abbr -a :cdn cd '~/.config/nvim/ # Neovim Config'
|
||||||
abbr -a :cdnn 'cd ~/.config/nvim;nvim'
|
abbr -a :cdnn 'cd ~/.config/nvim;nvim'
|
||||||
abbr -a :cdf 'cd ~/.config/fish/ # Fish Config'
|
abbr -a :cdf 'cd ~/.config/fish/ # Fish Config'
|
||||||
@@ -211,9 +269,13 @@ abbr -a :cdp --regex ':cdp' --set-cursor 'cd ~/projects/%'
|
|||||||
abbr -a :cdpn 'cd ~/projects;nvim'
|
abbr -a :cdpn 'cd ~/projects;nvim'
|
||||||
abbr -a :cdw 'cd ~/.config/wezterm/ # WezTerm Config'
|
abbr -a :cdw 'cd ~/.config/wezterm/ # WezTerm Config'
|
||||||
abbr -a :cdwn 'cd ~/.config/wezterm;nvim'
|
abbr -a :cdwn 'cd ~/.config/wezterm;nvim'
|
||||||
abbr -a editt kitty @ launch --type tab nvim
|
if test "$TERM" = xterm-kitty
|
||||||
|
abbr -a editt kitty @ launch --type tab nvim
|
||||||
|
end
|
||||||
# Spawn window
|
# Spawn window
|
||||||
abbr -a :sw spwin
|
if test "$TERM" = xterm-kitty
|
||||||
|
abbr -a :sw spwin
|
||||||
|
end
|
||||||
|
|
||||||
### Docker ###
|
### Docker ###
|
||||||
abbr -a dcl 'docker context use default # Local Host'
|
abbr -a dcl 'docker context use default # Local Host'
|
||||||
|
|||||||
@@ -14,6 +14,10 @@
|
|||||||
|
|
||||||
# fish completion for tailscale -*- shell-script -*-
|
# fish completion for tailscale -*- shell-script -*-
|
||||||
|
|
||||||
|
if not type -q tailscale
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
function __tailscale_debug
|
function __tailscale_debug
|
||||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
set -l file "$BASH_COMP_DEBUG_FILE"
|
||||||
if test -n "$file"
|
if test -n "$file"
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ function __register_wakatime_fish_before_exec -e fish_postexec
|
|||||||
else if type -p ~/.wakatime/wakatime-cli 2>&1 > /dev/null
|
else if type -p ~/.wakatime/wakatime-cli 2>&1 > /dev/null
|
||||||
set wakatime_path (type -p ~/.wakatime/wakatime-cli)
|
set wakatime_path (type -p ~/.wakatime/wakatime-cli)
|
||||||
else
|
else
|
||||||
echo "wakatime command not found. Please read \"https://wakatime.com/terminal\" and install wakatime."
|
|
||||||
return 1
|
return 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
#
|
#
|
||||||
|
#
|
||||||
# Utility functions for zoxide.
|
# Utility functions for zoxide.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
if not type -q zoxide
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
|
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
|
||||||
function __zoxide_pwd
|
function __zoxide_pwd
|
||||||
builtin pwd -L
|
builtin pwd -L
|
||||||
|
|||||||
+3
-1
@@ -81,7 +81,9 @@ set -Ux FZF_DEFAULT_OPTS "\
|
|||||||
#
|
#
|
||||||
# The Auto-Venv script above will ignore directories with a
|
# The Auto-Venv script above will ignore directories with a
|
||||||
# .envrc file (direnv configuration) to prevent conflicts.
|
# .envrc file (direnv configuration) to prevent conflicts.
|
||||||
direnv hook fish | source
|
if type -q direnv
|
||||||
|
direnv hook fish | source
|
||||||
|
end
|
||||||
|
|
||||||
# ────────────────────────────── Auto-Venv ───────────────────────────────
|
# ────────────────────────────── Auto-Venv ───────────────────────────────
|
||||||
# Auto-activate Python venv on directory change
|
# Auto-activate Python venv on directory change
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
# Copyright (C) 2026 Rootiest
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
function check_fish_deps --description "Check all fish-related dependencies"
|
||||||
|
set -l required fish fisher starship fzf zoxide direnv paru
|
||||||
|
set -l integrations wakatime tailscale
|
||||||
|
set -l recommended eza lsd bat btop dust duf prettyping most rg lazygit lazydocker trash kitty wezterm
|
||||||
|
|
||||||
|
function __print_dep
|
||||||
|
set -l dep $argv[1]
|
||||||
|
if type -q $dep
|
||||||
|
set_color green
|
||||||
|
echo -n " "
|
||||||
|
set_color normal
|
||||||
|
echo -n "$dep "
|
||||||
|
set_color brblack
|
||||||
|
echo "(Found at "(type -p $dep)")"
|
||||||
|
set_color normal
|
||||||
|
else
|
||||||
|
set_color red
|
||||||
|
echo -n " "
|
||||||
|
set_color normal
|
||||||
|
echo -n "$dep "
|
||||||
|
set_color brblack
|
||||||
|
echo "(Not installed)"
|
||||||
|
set_color normal
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set_color cyan; echo "Required Dependencies:"; set_color normal
|
||||||
|
for dep in $required
|
||||||
|
__print_dep $dep
|
||||||
|
end
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
set_color cyan; echo "Integrations:"; set_color normal
|
||||||
|
for dep in $integrations
|
||||||
|
__print_dep $dep
|
||||||
|
end
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
set_color cyan; echo "Recommended Dependencies:"; set_color normal
|
||||||
|
for dep in $recommended
|
||||||
|
__print_dep $dep
|
||||||
|
end
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
functions -e __print_dep
|
||||||
|
end
|
||||||
@@ -2,6 +2,9 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
function clone --wraps=clone-in-kitty --description 'alias clone=clone-in-kitty'
|
function clone --wraps=clone-in-kitty --description 'alias clone=clone-in-kitty'
|
||||||
clone-in-kitty $argv
|
if test "$TERM" != xterm-kitty
|
||||||
|
echo "Error: The 'clone' command requires Kitty terminal." >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
clone-in-kitty $argv
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
function clonet --wraps='clone-in-kitty --type=tab' --description 'alias clonet=clone-in-kitty --type=tab'
|
function clonet --wraps='clone-in-kitty --type=tab' --description 'alias clonet=clone-in-kitty --type=tab'
|
||||||
clone-in-kitty --type=tab $argv
|
if test "$TERM" != xterm-kitty
|
||||||
|
echo "Error: The 'clonet' command requires Kitty terminal." >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
clone-in-kitty --type=tab $argv
|
||||||
end
|
end
|
||||||
|
|||||||
+5
-2
@@ -2,6 +2,9 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
function rg --description 'alias rg=rg --hyperlink-format=kitty'
|
function rg --description 'alias rg=rg --hyperlink-format=kitty'
|
||||||
command rg --hyperlink-format=kitty $argv
|
if test "$TERM" = xterm-kitty
|
||||||
|
command rg --hyperlink-format=kitty $argv
|
||||||
|
else
|
||||||
|
command rg $argv
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
function split --description 'Run a command in a new Kitty split'
|
function split --description 'Run a command in a new Kitty split'
|
||||||
|
if test "$TERM" != xterm-kitty
|
||||||
|
echo "Error: The 'split' command requires Kitty terminal." >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
set -l location hsplit
|
set -l location hsplit
|
||||||
|
|
||||||
switch $argv[1]
|
switch $argv[1]
|
||||||
|
|||||||
@@ -2,5 +2,9 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
function spwin --wraps='~/.config/kitty/spawn-window.sh' --description 'alias spwin=~/.config/kitty/spawn-window.sh'
|
function spwin --wraps='~/.config/kitty/spawn-window.sh' --description 'alias spwin=~/.config/kitty/spawn-window.sh'
|
||||||
|
if test "$TERM" != xterm-kitty
|
||||||
|
echo "Error: The 'spwin' command requires Kitty terminal." >&2
|
||||||
|
return 1
|
||||||
|
end
|
||||||
~/.config/kitty/spawn-window.sh $argv
|
~/.config/kitty/spawn-window.sh $argv
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user