zshcompsys(1):
> The function bashcompinit provides compatibility with bash's
> programmable completion system. When run it will define the functions,
> compgen and complete which correspond to the bash builtins with the
> same names. It will then be possible to use completion specifications
> and functions written for bash.
Instead of exec-ing the tmux process, run it normally and exit
afterwards. Otherwise the zlogout is not read as mentioned a couple of
lines above and in `zsh(1)`:
> However, if the shell terminates due to exec'ing another process, the
> logout files are not read.
When connected over ssh and attaching to/creating a tmux session, the
shell should `exec` the tmux command so that detaching from the session
automatically also closes the ssh connection.
If something should happen and the `tmux` command bricks the remote
shell this can fixed by logging in with:
ssh [destination] zsh -dfi
Escape slashes in the branch name before passing it to `mktemp`.
Otherwise it would complain with:
mktemp: invalid suffix [...], contains directory separator
Add description in one sentence and use cases for this.
Remove sentence about removing `TEMP_DIR` that is outdated since:
5a8b5ffd21 ("git:checkout-worktree: Use `mktemp` template")
Use a template that directly includes the repository name and the branch
checked out. This makes finding and deleting the worktree directory if
anything goes wrong a lot easier.
Checkout the worktree directly in the temporary directory. With that
`TEMP_DIR` becomes obsolete.
Fix the exit condition when the function is called outside of a git
repository.
Use zsh's `:t` History Expansion Modifier, as `$?` does not keep `git
rev-parse`'s exit code, but rather `basename`'s.
Split `toplevel` definition and assignment as the `local` builtin has
it's own exit code. Thus the function previously did not return if the
`PWD` was not in a git repo.
I wanted to have them standalone in a commit once for better
transparency instead of reapplying them before committing the updated
theme in the last commit:
529c41abcf ("zsh:p10k: Reset to `p10k configure`")
Update zsh-syntax-highlighting to include 0ddb1a8d5120 as this fixes a
highlighting bug with zsh-autosuggestions introduced with zsh 5.8.1.
See following issues:
- 662 in zsh-autosuggestions
- 857 in zsh-syntax-highlighting
Some distributions ship older versions of `column` that do not have the
flags `-dNLO`. This is a workaround around this limitation that creates
the same output using other tools.
Do not set `MANPAGER` to `nvim` as `nvim-man` is used already and in the
case that it does not open `nvim` I want to use `less` as **pager**.
This makes it possible to use `man -- <page>` as 'hack' to view the page
in `less` for example if a real pager is desired because of the loading
time (e.g. `zshall`).
Load only the `man.vim` plugin, nothing else. This should speed up the
startup a bit. It will never be as fast as `less` though, as it loads
the whole file first.
Move `git-track` into its own autoloadable function.
This way it is
better maintainable as in one-liner format and brings the possibility of
having more complexity (e.g. for better portability).
By that it is also now executable as `git-track` as well as `git track`
as before.