global: Switch from zsh to fish

This commit is contained in:
traxys 2024-08-26 14:01:04 +02:00
parent 68b04ca784
commit dc185e73a7
10 changed files with 96 additions and 921 deletions

70
flake.lock generated
View file

@ -111,22 +111,6 @@
"type": "github"
}
},
"fast-syntax-highlighting": {
"flake": false,
"locked": {
"lastModified": 1688591419,
"narHash": "sha256-RVX9ZSzjBW3LpFs2W86lKI6vtcvDWP6EPxzeTcRZua4=",
"owner": "zdharma-continuum",
"repo": "fast-syntax-highlighting",
"rev": "cf318e06a9b7c9f2219d78f41b46fa6e06011fd9",
"type": "github"
},
"original": {
"owner": "zdharma-continuum",
"repo": "fast-syntax-highlighting",
"type": "github"
}
},
"fioul": {
"inputs": {
"flake-utils": "flake-utils_2",
@ -754,22 +738,6 @@
"type": "github"
}
},
"jq-zsh-plugin": {
"flake": false,
"locked": {
"lastModified": 1724402792,
"narHash": "sha256-XYDIDThQbnr9O9cOIFPz9qqSFjxovcCqb4j6LFVlL5w=",
"owner": "reegnz",
"repo": "jq-zsh-plugin",
"rev": "ded47a1e51303fb2cb331288e134e18f637274a6",
"type": "github"
},
"original": {
"owner": "reegnz",
"repo": "jq-zsh-plugin",
"type": "github"
}
},
"kabalist": {
"flake": false,
"locked": {
@ -1474,14 +1442,12 @@
"inputs": {
"attic": "attic",
"comma": "comma",
"fast-syntax-highlighting": "fast-syntax-highlighting",
"fioul": "fioul",
"flake-parts": "flake-parts",
"flake-root": "flake-root",
"glaurung": "glaurung",
"gsm": "gsm",
"home-manager": "home-manager",
"jq-zsh-plugin": "jq-zsh-plugin",
"kabalist": "kabalist",
"meson-syntax": "meson-syntax",
"mujmap": "mujmap",
@ -1501,9 +1467,7 @@
"simulationcraft": "simulationcraft",
"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"
"wiki.vim": "wiki.vim"
}
},
"rust-overlay": {
@ -2045,38 +2009,6 @@
"repo": "wiki.vim",
"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": {
"lastModified": 1704028593,
"narHash": "sha256-Rtg8kWVLhXRuD2/Ctbtgz9MQCtKZOLpAIdommZhXKdE=",
"owner": "chisui",
"repo": "zsh-nix-shell",
"rev": "82ca15e638cc208e6d8368e34a1625ed75e08f90",
"type": "github"
},
"original": {
"owner": "chisui",
"repo": "zsh-nix-shell",
"type": "github"
}
}
},
"root": "root",

View file

@ -73,22 +73,6 @@
inputs.naersk.follows = "naersk";
inputs.nixpkgs.follows = "nixpkgs";
};
zsh-nix-shell = {
url = "github:chisui/zsh-nix-shell";
flake = false;
};
fast-syntax-highlighting = {
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;
};
mujmap = {
url = "github:elizagamedev/mujmap";
#inputs.nixpkgs.follows = "nixpkgs";

View file

@ -326,7 +326,7 @@ in
};
};
programs.zsh.shellAliases = {
programs.fish.shellAliases = {
"khal-today" = "khal list today today -f '{start-time}-{end-time}: {title}'";
};

View file

@ -57,7 +57,7 @@
};
};
programs.zsh.shellAliases = {
programs.fish.shellAliases = {
gemail = ''git send-email --sendmail-cmd="nwadminSendmail" --to="dl-bxi-sw-ll-patches@***REMOVED***"'';
};
};

View file

@ -42,6 +42,7 @@
RUSTUP_HOME = "${XDG_DATA_HOME}/rustup";
WINEPREFIX = "${XDG_DATA_HOME}/wine";
DELTA_PAGER = "less -+X";
EDITOR = "nvim";
};
home.packages =
@ -54,7 +55,6 @@
gnumake
jq
man-pages
nix-zsh-completions
oscclip
pandoc
raclette
@ -94,7 +94,6 @@
programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableZshIntegration = true;
};
programs.home-manager.enable = true;
@ -165,7 +164,8 @@
programs.starship = {
enable = true;
enableZshIntegration = true;
enableTransience = true;
enableFishIntegration = true;
settings =
let
background = "#3e3e3e";
@ -281,56 +281,101 @@
};
};
programs.zsh = {
programs.fish = {
enable = true;
shellInit = ''
fish_add_path /nix/var/nix/profiles/default/bin
if [ -f "$HOME/.zvars" ]
source "$HOME/.zvars"
end
function up-or-search-prefix -d "Search (by prefix) back or move cursor up 1 line"
# If we are already in search mode, continue
if commandline --search-mode
commandline -f history-search-backward
return
end
# If we are navigating the pager, then up always navigates
if commandline --paging-mode
commandline -f up-line
return
end
# We are not already in search mode.
# If we are on the top line, start search mode,
# otherwise move up
set -l lineno (commandline -L)
switch $lineno
case 1
commandline -f history-prefix-search-backward
case '*'
commandline -f up-line
end
end
function down-or-search-prefix -d "search (by prefix) forward or move down 1 line"
# If we are already in search mode, continue
if commandline --search-mode
commandline -f history-search-forward
return
end
# If we are navigating the pager, then up always navigates
if commandline --paging-mode
commandline -f down-line
return
end
# We are not already in search mode.
# If we are on the bottom line, start search mode,
# otherwise move down
set -l lineno (commandline -L)
set -l line_count (count (commandline))
switch $lineno
case $line_count
commandline -f history-prefix-search-forward
case '*'
commandline -f down-line
end
end
bind --preset \e\A up-or-search-prefix
bind --preset \e\B down-or-search-prefix
'';
shellInitLast = ''
${pkgs.fortune}/bin/fortune \
| ${pkgs.cowsay}/bin/cowsay \
| ${pkgs.dotacat}/bin/dotacat
'';
shellAliases = {
cat = "${pkgs.bat}/bin/bat -p";
ls = "${pkgs.eza}/bin/eza --icons";
man = "${lib.getExe pkgs.bat-extras.batman}";
gss = "git status -s";
glo = "git log --oneline";
gp = "git push";
gl = "git pull";
};
};
programs.zsh = {
enable = false;
enableCompletion = true;
plugins = [
{
name = "fast-syntax-highlighting";
file = "fast-syntax-highlighting.plugin.zsh";
src = inputs.fast-syntax-highlighting;
}
{
name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh";
src = inputs.zsh-nix-shell;
}
{
name = "jq-zsh-plugin";
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";
initExtra = ''
bindkey -e
export PATH="$PATH:$HOME/bin";
if [ -f "$HOME/.zvars" ]; then
source "$HOME/.zvars"
fi
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
SESSION_TYPE=remote/ssh
else
case $(ps -o comm= -p "$PPID") in
sshd|*/sshd) SESSION_TYPE=remote/ssh;;
esac
fi
if [[ $SESSION_TYPE = remote/ssh ]]; then
title_prefix="$(whoami)@$(hostname) - "
fi
DISABLE_AUTO_TITLE="true"
preexec() {
@ -354,20 +399,7 @@
HISTORY_SUBSTRING_SEARCH_PREFIXED=1
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down
${pkgs.fortune}/bin/fortune \
| ${pkgs.cowsay}/bin/cowsay \
| ${pkgs.dotacat}/bin/dotacat
'';
shellAliases = {
cat = "${pkgs.bat}/bin/bat -p";
ls = "${pkgs.eza}/bin/eza --icons";
man = "${lib.getExe pkgs.bat-extras.batman}";
gss = "git status -s";
glo = "git log --oneline";
gp = "git push";
gl = "git pull";
};
};
home.file = {

View file

@ -15,11 +15,11 @@
users.users."${config.extraInfo.username}" = {
isNormalUser = true;
home = "/home/${config.extraInfo.username}";
shell = pkgs.zsh;
shell = pkgs.fish;
extraGroups = [ "wheel" ];
};
programs.zsh.enable = true;
programs.fish.enable = true;
i18n.defaultLocale = "en_GB.UTF-8";
console = {
@ -27,7 +27,6 @@
keyMap = "dvorak-programmer";
};
environment.pathsToLink = [ "/share/zsh" ];
fonts.enableDefaultPackages = true;
fonts = {
packages = with pkgs; [

View file

@ -34,7 +34,6 @@
"nvim-treesitter"
"openscad.nvim"
"yanky.nvim"
"zsh"
];
};
};
@ -290,10 +289,6 @@
{ name = "omni"; }
];
};
filetype.sh = {
sources = [ { name = "zsh"; } ];
};
};
plugins.telescope = {

View file

@ -25,9 +25,6 @@ in
services.syncthing.enable = true;
programs.ssh.enable = true;
programs.zsh.initExtraBeforeCompInit = ''
fpath+="$HOME/.zfunc"
'';
services.nextcloud-client = {
enable = true;
@ -103,9 +100,5 @@ in
source = ./scripts;
recursive = true;
};
".zfunc" = {
source = ./zfunc;
recursive = true;
};
};
}

View file

@ -1,205 +0,0 @@
#compdef jira
# zsh completion for jira -*- shell-script -*-
__jira_debug()
{
local file="$BASH_COMP_DEBUG_FILE"
if [[ -n ${file} ]]; then
echo "$*" >> "${file}"
fi
}
_jira()
{
local shellCompDirectiveError=1
local shellCompDirectiveNoSpace=2
local shellCompDirectiveNoFileComp=4
local shellCompDirectiveFilterFileExt=8
local shellCompDirectiveFilterDirs=16
local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace
local -a completions
__jira_debug "\n========= starting completion logic =========="
__jira_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}"
# The user could have moved the cursor backwards on the command-line.
# We need to trigger completion from the $CURRENT location, so we need
# to truncate the command-line ($words) up to the $CURRENT location.
# (We cannot use $CURSOR as its value does not work when a command is an alias.)
words=("${=words[1,CURRENT]}")
__jira_debug "Truncated words[*]: ${words[*]},"
lastParam=${words[-1]}
lastChar=${lastParam[-1]}
__jira_debug "lastParam: ${lastParam}, lastChar: ${lastChar}"
# For zsh, when completing a flag with an = (e.g., jira -n=<TAB>)
# completions must be prefixed with the flag
setopt local_options BASH_REMATCH
if [[ "${lastParam}" =~ '-.*=' ]]; then
# We are dealing with a flag with an =
flagPrefix="-P ${BASH_REMATCH}"
fi
# Prepare the command to obtain completions
requestComp="${words[1]} __complete ${words[2,-1]}"
if [ "${lastChar}" = "" ]; then
# If the last parameter is complete (there is a space following it)
# We add an extra empty parameter so we can indicate this to the go completion code.
__jira_debug "Adding extra empty parameter"
requestComp="${requestComp} \"\""
fi
__jira_debug "About to call: eval ${requestComp}"
# Use eval to handle any environment variables and such
out=$(eval ${requestComp} 2>/dev/null)
__jira_debug "completion output: ${out}"
# Extract the directive integer following a : from the last line
local lastLine
while IFS='\n' read -r line; do
lastLine=${line}
done < <(printf "%s\n" "${out[@]}")
__jira_debug "last line: ${lastLine}"
if [ "${lastLine[1]}" = : ]; then
directive=${lastLine[2,-1]}
# Remove the directive including the : and the newline
local suffix
(( suffix=${#lastLine}+2))
out=${out[1,-$suffix]}
else
# There is no directive specified. Leave $out as is.
__jira_debug "No directive found. Setting do default"
directive=0
fi
__jira_debug "directive: ${directive}"
__jira_debug "completions: ${out}"
__jira_debug "flagPrefix: ${flagPrefix}"
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
__jira_debug "Completion received error. Ignoring completions."
return
fi
local activeHelpMarker="_activeHelp_ "
local endIndex=${#activeHelpMarker}
local startIndex=$((${#activeHelpMarker}+1))
local hasActiveHelp=0
while IFS='\n' read -r comp; do
# Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
__jira_debug "ActiveHelp found: $comp"
comp="${comp[$startIndex,-1]}"
if [ -n "$comp" ]; then
compadd -x "${comp}"
__jira_debug "ActiveHelp will need delimiter"
hasActiveHelp=1
fi
continue
fi
if [ -n "$comp" ]; then
# If requested, completions are returned with a description.
# The description is preceded by a TAB character.
# For zsh's _describe, we need to use a : instead of a TAB.
# We first need to escape any : as part of the completion itself.
comp=${comp//:/\\:}
local tab="$(printf '\t')"
comp=${comp//$tab/:}
__jira_debug "Adding completion: ${comp}"
completions+=${comp}
lastComp=$comp
fi
done < <(printf "%s\n" "${out[@]}")
# Add a delimiter after the activeHelp statements, but only if:
# - there are completions following the activeHelp statements, or
# - file completion will be performed (so there will be choices after the activeHelp)
if [ $hasActiveHelp -eq 1 ]; then
if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
__jira_debug "Adding activeHelp delimiter"
compadd -x "--"
hasActiveHelp=0
fi
fi
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
__jira_debug "Activating nospace."
noSpace="-S ''"
fi
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
# File extension filtering
local filteringCmd
filteringCmd='_files'
for filter in ${completions[@]}; do
if [ ${filter[1]} != '*' ]; then
# zsh requires a glob pattern to do file filtering
filter="\*.$filter"
fi
filteringCmd+=" -g $filter"
done
filteringCmd+=" ${flagPrefix}"
__jira_debug "File filtering command: $filteringCmd"
_arguments '*:filename:'"$filteringCmd"
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
# File completion for directories only
local subdir
subdir="${completions[1]}"
if [ -n "$subdir" ]; then
__jira_debug "Listing directories in $subdir"
pushd "${subdir}" >/dev/null 2>&1
else
__jira_debug "Listing directories in ."
fi
local result
_arguments '*:dirname:_files -/'" ${flagPrefix}"
result=$?
if [ -n "$subdir" ]; then
popd >/dev/null 2>&1
fi
return $result
else
__jira_debug "Calling _describe"
if eval _describe "completions" completions $flagPrefix $noSpace; then
__jira_debug "_describe found some completions"
# Return the success of having called _describe
return 0
else
__jira_debug "_describe did not find completions."
__jira_debug "Checking if we should do file completion."
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
__jira_debug "deactivating file completion"
# We must return an error code here to let zsh know that there were no
# completions found by _describe; this is what will trigger other
# matching algorithms to attempt to find completions.
# For example zsh can match letters in the middle of words.
return 1
else
# Perform file completion
__jira_debug "Activating file completion"
# We must return the result of this command, so it must be the
# last command, or else we must store its result to return it.
_arguments '*:filename:_files'" ${flagPrefix}"
fi
fi
fi
}
# don't run the completion function when being source-ed or eval-ed
if [ "$funcstack[1]" = "_jira" ]; then
_jira
fi

View file

@ -1,555 +0,0 @@
#compdef kabalist_cli
autoload -U is-at-least
_kabalist_cli() {
typeset -A opt_args
typeset -a _arguments_options
local ret=1
if is-at-least 5.2; then
_arguments_options=(-s -S -C)
else
_arguments_options=(-s -C)
fi
local context curcontext="$curcontext" state line
_arguments "${_arguments_options[@]}" \
'-u+[]:URL: ' \
'--url=[]:URL: ' \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli_commands" \
"*::: :->kabalist_cli" \
&& ret=0
case $state in
(kabalist_cli)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-command-$line[1]:"
case $line[1] in
(account)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli__account_commands" \
"*::: :->account" \
&& ret=0
case $state in
(account)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-account-command-$line[1]:"
case $line[1] in
(login)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
'::password:' \
&& ret=0
;;
(recover)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':id:' \
'::password:' \
&& ret=0
;;
(register)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':id:' \
':username:' \
'::password:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-t+[]:TOKEN: ' \
'--token=[]:TOKEN: ' \
'-h[Print help information]' \
'--help[Print help information]' \
':list:' \
":: :_kabalist_cli__list_commands" \
"*::: :->list" \
&& ret=0
case $state in
(list)
words=($line[2] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-list-command-$line[2]:"
case $line[2] in
(delete)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
'::amount:' \
&& ret=0
;;
(item)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':item:' \
":: :_kabalist_cli__list__item_commands" \
"*::: :->item" \
&& ret=0
case $state in
(item)
words=($line[2] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-list-item-command-$line[2]:"
case $line[2] in
(tick)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
'::name:' \
'::amount:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(share)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli__list__share_commands" \
"*::: :->share" \
&& ret=0
case $state in
(share)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-list-share-command-$line[1]:"
case $line[1] in
(add)
_arguments "${_arguments_options[@]}" \
'-r[]' \
'--readonly[]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'--all[]' \
'-h[Print help information]' \
'--help[Print help information]' \
'*::names:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(public)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli__list__public_commands" \
"*::: :->public" \
&& ret=0
case $state in
(public)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-list-public-command-$line[1]:"
case $line[1] in
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(history)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
'::search:' \
&& ret=0
;;
(pantry)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli__list__pantry_commands" \
"*::: :->pantry" \
&& ret=0
case $state in
(pantry)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-list-pantry-command-$line[1]:"
case $line[1] in
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':target:' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
'-t+[]:TARGET: ' \
'--target=[]:TARGET: ' \
'-a+[]:AMOUNT: ' \
'--amount=[]:AMOUNT: ' \
'-h[Print help information]' \
'--help[Print help information]' \
':item:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':item:' \
&& ret=0
;;
(refill)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(lists)
_arguments "${_arguments_options[@]}" \
'-t+[]:TOKEN: ' \
'--token=[]:TOKEN: ' \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kabalist_cli__lists_commands" \
"*::: :->lists" \
&& ret=0
case $state in
(lists)
words=($line[1] "${words[@]}")
(( CURRENT += 1 ))
curcontext="${curcontext%:*:*}:kabalist_cli-lists-command-$line[1]:"
case $line[1] in
(create)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':list:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
':shell:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
esac
;;
esac
}
(( $+functions[_kabalist_cli_commands] )) ||
_kabalist_cli_commands() {
local commands; commands=(
'account:' \
'list:' \
'lists:' \
'completions:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli commands' commands "$@"
}
(( $+functions[_kabalist_cli__account_commands] )) ||
_kabalist_cli__account_commands() {
local commands; commands=(
'login:' \
'recover:' \
'register:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli account commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__add_commands] )) ||
_kabalist_cli__list__add_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list add commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry__add_commands] )) ||
_kabalist_cli__list__pantry__add_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list pantry add commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__share__add_commands] )) ||
_kabalist_cli__list__share__add_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list share add commands' commands "$@"
}
(( $+functions[_kabalist_cli__completions_commands] )) ||
_kabalist_cli__completions_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli completions commands' commands "$@"
}
(( $+functions[_kabalist_cli__lists__create_commands] )) ||
_kabalist_cli__lists__create_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli lists create commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__delete_commands] )) ||
_kabalist_cli__list__delete_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list delete commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry__delete_commands] )) ||
_kabalist_cli__list__pantry__delete_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list pantry delete commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__share__delete_commands] )) ||
_kabalist_cli__list__share__delete_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list share delete commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry__edit_commands] )) ||
_kabalist_cli__list__pantry__edit_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list pantry edit commands' commands "$@"
}
(( $+functions[_kabalist_cli__account__help_commands] )) ||
_kabalist_cli__account__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli account help commands' commands "$@"
}
(( $+functions[_kabalist_cli__help_commands] )) ||
_kabalist_cli__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__help_commands] )) ||
_kabalist_cli__list__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__item__help_commands] )) ||
_kabalist_cli__list__item__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list item help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry__help_commands] )) ||
_kabalist_cli__list__pantry__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list pantry help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__public__help_commands] )) ||
_kabalist_cli__list__public__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list public help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__share__help_commands] )) ||
_kabalist_cli__list__share__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list share help commands' commands "$@"
}
(( $+functions[_kabalist_cli__lists__help_commands] )) ||
_kabalist_cli__lists__help_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli lists help commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__history_commands] )) ||
_kabalist_cli__list__history_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list history commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__item_commands] )) ||
_kabalist_cli__list__item_commands() {
local commands; commands=(
'tick:' \
'update:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli list item commands' commands "$@"
}
(( $+functions[_kabalist_cli__list_commands] )) ||
_kabalist_cli__list_commands() {
local commands; commands=(
'delete:' \
'add:' \
'item:' \
'share:' \
'public:' \
'history:' \
'pantry:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli list commands' commands "$@"
}
(( $+functions[_kabalist_cli__lists_commands] )) ||
_kabalist_cli__lists_commands() {
local commands; commands=(
'create:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli lists commands' commands "$@"
}
(( $+functions[_kabalist_cli__account__login_commands] )) ||
_kabalist_cli__account__login_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli account login commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry_commands] )) ||
_kabalist_cli__list__pantry_commands() {
local commands; commands=(
'add:' \
'edit:' \
'delete:' \
'refill:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli list pantry commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__public_commands] )) ||
_kabalist_cli__list__public_commands() {
local commands; commands=(
'set:' \
'remove:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli list public commands' commands "$@"
}
(( $+functions[_kabalist_cli__account__recover_commands] )) ||
_kabalist_cli__account__recover_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli account recover commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__pantry__refill_commands] )) ||
_kabalist_cli__list__pantry__refill_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list pantry refill commands' commands "$@"
}
(( $+functions[_kabalist_cli__account__register_commands] )) ||
_kabalist_cli__account__register_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli account register commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__public__remove_commands] )) ||
_kabalist_cli__list__public__remove_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list public remove commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__public__set_commands] )) ||
_kabalist_cli__list__public__set_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list public set commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__share_commands] )) ||
_kabalist_cli__list__share_commands() {
local commands; commands=(
'add:' \
'delete:' \
'help:Print this message or the help of the given subcommand(s)' \
)
_describe -t commands 'kabalist_cli list share commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__item__tick_commands] )) ||
_kabalist_cli__list__item__tick_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list item tick commands' commands "$@"
}
(( $+functions[_kabalist_cli__list__item__update_commands] )) ||
_kabalist_cli__list__item__update_commands() {
local commands; commands=()
_describe -t commands 'kabalist_cli list item update commands' commands "$@"
}
_kabalist_cli "$@"