Speed up fish prompt and mise activation#316
Merged
Merged
Conversation
Avoid duplicate mise fish activation and replace per-prompt mise environment updates with startup and directory-change hooks. Enable mise caching for env and remote version lookups, and make Starship jj custom modules avoid spawning fish for non-jj repositories. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the current Catppuccin Mocha bat theme name and include none as a valid Copilot reasoning effort completion. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Lower the status refresh rate, remove a per-window contextual-name shellout from Catppuccin window labels, and suppress noisy outdated-package status stderr. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the contextual window-name command in Catppuccin window labels and fix the hardcoded home path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use a lightweight shell wrapper for common contextual window labels and fall back to the Python helper for Copilot, Node, and complex cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR is a performance pass over interactive shell/tmux startup paths. It keeps the existing workflows and visual setup, but removes repeated work from prompt rendering, mise activation, tmux window labels, tmuxinator startup, and tmux plugin startup.
Performance results
jjmodules run withshinstead of Fish and skip work outside.jjrepos.mise activate fishwithMISE_FISH_AUTO_ACTIVATE=0.PWDchange hook.PWDenv refreshmise hook-env -s fishruns only whenPWDchanges.gh auth tokenfor GitHub API auth.jjmodules.jjguardjj.fish/nvimpanes; Python fallback remains.status-intervalfrom1to5.pt/ personal tmux session launcherptwith a direct Fish function that creates the same personal session layout.ptafter async TPMptlauncher benefits from async TPM.Key findings
npm@latestmade mise noisy/slownpm/clirelease lookups and hit rate limits when npm was missing.npm = 'latest'after installing it locally and added caching/auth.jjcustom modules were running through Fish and costing close to a second.shand added.jjguards.tmuxinator start personalwas much slower than equivalent tmux commandstmuxinator start personal --no-attachmeasured ~7.6-7.7s; direct equivalent was much faster.ptFish function for the personal session only.Files changed by area
mise/config.tomlgh auth token.fish/conf.d/00-env.fish,fish/config.fishPWDchange only.starship.tomljjprompt modules cheaper.tmux/tmux.conf,scripts/tmux-contextual-window-name-fast.sh,scripts/tmux-show-outdated.shfish/conf.d/21-aliases.fish,fish/functions/pt.fishpttmuxinator alias with a direct session launcher.tmux/tmux.conf,scripts/tmux-load-plugins.shbat/config,fish/completions/copilot.fishTmux async loading details
Tmux startup was split into two phases:
scripts/tmux-load-plugins.shruns TPM, then reappliespost-tpm.conf,status-style, mouse/mode settings, andpost-catppuccin.conf.loading pluginsappears in yellow while loading; it clears on success and showsplugin load failedin red on failure.Tradeoffs
ptno longer uses tmuxinatorgtandststill use tmuxinator.Commits
96303019c216b6aa4642a8d8461312b41ce69fb038fd32d1f