Skip to content

zsh: fish-style suggestions/highlighting/history search; fix "Unable to find terminal" - #201

Merged
VictorGSchneider merged 1 commit into
mainfrom
claude/dreamy-ramanujan-bslkau
Oct 20, 2026
Merged

VictorGSchneider merged 1 commit into
mainfrom
claude/dreamy-ramanujan-bslkau

Conversation

@VictorGSchneider

@VictorGSchneider VictorGSchneider commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Two gaps found moving a CachyOS install from fish to Stoa's zsh.

zsh had none of what fish does out of the box

shell/.zshrc now sources three plugins from their Arch paths (/usr/share/zsh/plugins/...), but only when they are installed:

  • zsh-autosuggestions: suggestions from history as you type, in the stone colour.
  • zsh-syntax-highlighting: commands turn olive when valid and terracotta when unknown; strings are parchment; paths are underlined.
  • zsh-history-substring-search: ↑/↓, and k/j in vi command mode, search history for what is already typed.

Order follows upstream: syntax-highlighting after the other widgets, history-substring-search after it. post-install.sh installs these plus zsh-completions. commit-all now pulls with --rebase, like stoa-sync.

"Failed to open file .zshrc — Unable to find terminal required for application"

Opening a text file from Thunar went through GIO to a Terminal=true editor (nvim, when VS Code is not installed). GIO's built-in terminal list does not include kitty. GIO asks xdg-terminal-exec first, so post-install.sh now installs it and install.sh writes ~/.config/xdg-terminals.list = kitty.desktop when that file is absent.

Test plan

  • Package names and file paths checked against archlinux.org (zsh-autosuggestions, zsh-syntax-highlighting, zsh-history-substring-search, zsh-completions, xdg-terminal-exec in extra; the config file name from the xdg-terminal-exec README)
  • zsh -n on .zshrc. With the plugins absent it loads clean and binds nothing. With them installed at the Arch paths (cloned from upstream), it binds 4 history-substring keys and vicmd k, and applies the palette styles.
  • tests/run.sh --strict: 18/18
  • On the CachyOS machine: sudo pacman -S zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search zsh-completions xdg-terminal-exec, re-run install.sh (or create ~/.config/xdg-terminals.list), then open a new terminal

Generated by Claude Code

…minal=true apps

Coming from fish (CachyOS's default), Stoa's zsh had none of what fish
does out of the box. .zshrc now sources zsh-autosuggestions,
zsh-syntax-highlighting and zsh-history-substring-search from the Arch
paths when installed, coloured with the Stoic palette, with ↑/↓ (and
k/j in vi mode) searching history for what is typed; post-install.sh
installs them plus zsh-completions. commit-all pulls with --rebase like
stoa-sync.

Opening a text file from Thunar failed with "Unable to find terminal
required for application": the editor GIO picked was a Terminal=true
app (nvim) and GIO's built-in terminal list has no kitty. GIO asks
xdg-terminal-exec first, so post-install.sh installs it and install.sh
writes ~/.config/xdg-terminals.list = kitty.desktop when absent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LviacJW5Bp5ywJzNWy8AWM
@VictorGSchneider VictorGSchneider self-assigned this Oct 20, 2026
@VictorGSchneider
VictorGSchneider merged commit 5d5fbbf into main Oct 20, 2026
3 checks passed
@VictorGSchneider
VictorGSchneider deleted the claude/dreamy-ramanujan-bslkau branch October 20, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants