minimal: Implement oh-my-zsh like experience for completion

This commit is contained in:
traxys 2024-08-26 11:14:49 +02:00
parent 05c676c775
commit b984ba4cf1
3 changed files with 33 additions and 0 deletions

17
flake.lock generated
View file

@ -1502,6 +1502,7 @@
"treefmt-nix": "treefmt-nix_3",
"vim-headerguard": "vim-headerguard",
"wiki.vim": "wiki.vim",
"zsh-history-substring-search": "zsh-history-substring-search",
"zsh-nix-shell": "zsh-nix-shell"
}
},
@ -2045,6 +2046,22 @@
"type": "github"
}
},
"zsh-history-substring-search": {
"flake": false,
"locked": {
"lastModified": 1717563893,
"narHash": "sha256-1+w0AeVJtu1EK5iNVwk3loenFuIyVlQmlw8TWliHZGI=",
"owner": "zsh-users",
"repo": "zsh-history-substring-search",
"rev": "87ce96b1862928d84b1afe7c173316614b30e301",
"type": "github"
},
"original": {
"owner": "zsh-users",
"repo": "zsh-history-substring-search",
"type": "github"
}
},
"zsh-nix-shell": {
"flake": false,
"locked": {

View file

@ -81,6 +81,10 @@
url = "github:zdharma-continuum/fast-syntax-highlighting";
flake = false;
};
zsh-history-substring-search = {
url = "github:zsh-users/zsh-history-substring-search";
flake = false;
};
jq-zsh-plugin = {
url = "github:reegnz/jq-zsh-plugin";
flake = false;

View file

@ -282,7 +282,9 @@
programs.zsh = {
enable = true;
enableCompletion = true;
plugins = [
{
name = "fast-syntax-highlighting";
@ -299,6 +301,11 @@
file = "jq.plugin.zsh";
src = inputs.jq-zsh-plugin;
}
{
name = "history-substring-search";
file = "zsh-history-substring-search.zsh";
src = inputs.zsh-history-substring-search;
}
];
envExtra = "export EDITOR=nvim";
@ -339,6 +346,11 @@
zmodload zsh/zpty
zstyle ':completion:*' menu select
HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND=""
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down
${pkgs.fortune}/bin/fortune \
| ${pkgs.cowsay}/bin/cowsay \
| ${pkgs.dotacat}/bin/dotacat