Файловый менеджер - Редактировать - /home/lakoyani/lakoyani.com.fj/site-functions.tar
Назад
_sd_hosts_or_user_at_host 0000644 00000000117 14711200432 0011724 0 ustar 00 #autoload _alternative \ 'users-hosts:: _user_at_host' \ 'hosts:: _hosts' _kernel-install 0000644 00000001146 14711200432 0007546 0 ustar 00 #compdef kernel-install _images(){ if [[ "$words[2]" == "remove" ]]; then _message 'No more options' else _path_files -W /boot/ -P /boot/ -g "vmlinuz-*" fi } _kernels(){ read _MACHINE_ID < /etc/machine-id _kernel=( /lib/modules/[0-9]* ) if [[ "$cmd" == "remove" && -n "$_MACHINE_ID" ]]; then _kernel=( "/boot/$_MACHINE_ID"/[0-9]* ) fi _kernel=( ${_kernel##*/} ) _describe "installed kernels" _kernel } _arguments \ '1::add or remove:(add remove)' \ '2::kernel versions:_kernels' \ '3::kernel images:_images' #vim: set ft=zsh sw=4 ts=4 et _systemd-delta 0000644 00000001017 14711200432 0007376 0 ustar 00 #compdef systemd-delta _delta_type() { local -a _delta_types _delta_types=(masked equivalent redirected overridden unchanged) _values -s , "${_delta_types[@]}" } _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--no-pager[Do not pipe output into a pager]' \ '--diff=[Show a diff when overridden files differ]:boolean:(1 0)' \ {-t+,--type=}'[Only display a selected set of override types]:types:_delta_type' \ ':SUFFIX:(tmpfiles.d sysctl.d systemd/system)' _sd_outputmodes 0000644 00000000312 14711200432 0007672 0 ustar 00 #autoload local -a _output_opts _output_opts=(short short-iso short-precise short-monotonic verbose export json json-pretty json-sse cat) _describe -t output 'output mode' _output_opts || compadd "$@" _sd_unit_files 0000644 00000000353 14711200432 0007450 0 ustar 00 #autoload _sd_unit_files() { local files expl files=( '*:files:->files' ) _description files expl 'unit file' _files "$expl[@]" -g '*.(automount|busname|device|mount|path|service|snapshot|socket|swap|target|timer)' } _journalctl 0000644 00000011071 14711200432 0006775 0 ustar 00 #compdef journalctl _list_fields() { local -a journal_fields journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} _{P,U,G}ID _COMM _EXE _CMDLINE _AUDIT_{SESSION,LOGINUID} _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID} _SYSTEMD_USER_UNIT USER_UNIT _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT _KERNEL_{DEVICE,SUBSYSTEM} _UDEV_{SYSNAME,DEVNODE,DEVLINK} __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) case $_jrnl_none in yes) _values -s '=' 'possible fields' \ "${journal_fields[@]}:value:_journal_fields ${words[CURRENT]%%=*}" ;; *) _describe 'possible fields' journal_fields ;; esac } _journal_none() { local -a _commands _files _jrnl_none # Setting use-cache will slow this down considerably _commands=( ${"$(_call_program commands "$service" -F _EXE 2>/dev/null)"} ) _jrnl_none='yes' _alternative : \ 'files:/dev files:_files -W /dev -P /dev/' \ "commands:commands:($_commands[@])" \ 'fields:fields:_list_fields' } _journal_fields() { local -a _fields cmd cmd=("journalctl" "-F ${@[-1]}" "2>/dev/null" ) _fields=( ${(f)"$(_call_program fields $cmd[@])"} ) typeset -U _fields _describe 'possible values' _fields } _journal_boots() { local -a _bootid _previousboots _bootid=( ${(f)"$(_call_program bootid "$service -F _BOOT_ID")"} ) _previousboots=( -{1..${#_bootid}} ) _alternative : \ "offsets:boot offsets:compadd -a '_previousboots[1,-2]'" \ "bootid:boot ids:compadd -a _bootid" } _arguments -s \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--no-pager[Do not pipe output into a pager]' \ {-l,--full}'[Show long fields in full]' \ {-a,--all}'[Show all fields, including long and unprintable]' \ {-f,--follow}'[Follow journal]' \ {-e,--pager-end}'[Jump to the end of the journal in the pager]' \ {-n+,--lines=}'[Number of journal entries to show]:integer' \ '--no-tail[Show all lines, even in follow mode]' \ {-r,--reverse}'[Reverse output]' \ {-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \ {-x,--catalog}'[Show explanatory texts with each log line]' \ {-q,--quiet}"[Don't show privilege warning]" \ {-m,--merge}'[Show entries from all available journals]' \ {-b+,--boot=}'[Show data only from the specified boot or offset]::boot id or offset:_journal_boots' \ '--list-boots[List boots ordered by time]' \ {-k,--dmesg}'[Show only kernel messages from the current boot]' \ {-u+,--unit=}'[Show data only from the specified unit]:units:_journal_fields _SYSTEMD_UNIT' \ '--user-unit=[Show data only from the specified user session unit]:units:_journal_fields USER_UNIT' \ {-p+,--priority=}'[Show only messages within the specified priority range]:priority:_journal_fields PRIORITY' \ {-c+,--cursor=}'[Start showing entries from the specified cursor]:cursors:_journal_fields __CURSORS' \ '--after-cursor=[Start showing entries from after the specified cursor]:cursors:_journal_fields __CURSORS' \ '--since=[Start showing entries on or newer than the specified date]:YYYY-MM-DD HH\:MM\:SS' \ '--until=[Stop showing entries on or older than the specified date]:YYYY-MM-DD HH\:MM\:SS' \ {-F,--field=}'[List all values a certain field takes]:Fields:_list_fields' \ '--system[Show system and kernel messages]' \ '--user[Show messages from user services]' \ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \ {-D+,--directory=}'[Show journal files from directory]:directories:_directories' \ '--file=[Operate on specified journal files]:file:_files' \ '--root=[Operate on catalog hierarchy under specified directory]:directories:_directories' \ '--new-id128[Generate a new 128 Bit ID]' \ '--header[Show journal header information]' \ '--disk-usage[Show total disk usage]' \ '--list-catalog[List messages in catalog]' \ '--dump-catalog[Dump messages in catalog]' \ '--update-catalog[Update binary catalog database]' \ '--setup-keys[Generate a new FSS key pair]' \ '--force[Force recreation of the FSS keys]' \ '--interval=[Time interval for changing the FSS sealing key]:time interval' \ '--verify[Verify journal file consistency]' \ '--verify-key=[Specify FSS verification key]:FSS key' \ '*::default: _journal_none' _bootctl 0000644 00000001321 14711200432 0006263 0 ustar 00 #compdef bootctl (( $+functions[_bootctl_command] )) || _bootctl_command() { local -a _bootctl_cmds _bootctl_cmds=( "status:Show current firmware and boot settings" ) if (( CURRENT == 1 )); then _describe -t commands 'bootctl command' _bootctl_cmds || compadd "$@" else local curcontext="$curcontext" cmd="${${_bootctl_cmds[(r)$words[1]:*]%%:*}}" if (( $+functions[_bootctl_$cmd] )); then _bootctl_$cmd else _message "no more options" fi fi } _arguments \ {-h,--help}'[Prints a short help text and exits.]' \ '--version[Prints a short version string and exits.]' \ '*::bootctl command:_bootctl_command' _hostnamectl 0000644 00000004255 14711200432 0007147 0 ustar 00 #compdef hostnamectl _hostnamectl_set-hostname() { if (( CURRENT <= 3 )); then _message "new hostname" else _message "no more options" fi } _hostnamectl_set-icon-name() { if (( CURRENT <= 3 )); then _message "new icon name" else _message "no more options" fi } _hostnamectl_set-chassis() { if (( CURRENT <= 3 )); then _chassis=( desktop laptop server tablet handset watch embedded vm container ) _describe chassis _chassis else _message "no more options" fi } _hostnamectl_set-deployment() { if (( CURRENT <= 3 )); then _message "new environment" else _message "no more options" fi } _hostnamectl_set-location() { if (( CURRENT <= 3 )); then _message "new location" else _message "no more options" fi } _hostnamectl_command() { local -a _hostnamectl_cmds _hostnamectl_cmds=( "status:Show current hostname settings" "set-hostname:Set system hostname" "set-icon-name:Set icon name for host" "set-chassis:Set chassis type for host" "set-deployment:Set deployment environment for host" "set-location:Set location for host" ) if (( CURRENT == 1 )); then _describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@" else local curcontext="$curcontext" cmd="${${_hostnamectl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then if [[ $cmd == status ]]; then _message "no options" else _hostnamectl_$cmd fi else _message "unknown hostnamectl command: $words[1]" fi fi } _arguments -s \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--transient[Only set transient hostname]' \ '--static[Only set static hostname]' \ '--pretty[Only set pretty hostname]' \ '--no-ask-password[Do not prompt for password]' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \ '*::hostnamectl commands:_hostnamectl_command' _systemd-inhibit 0000644 00000001676 14711200432 0007746 0 ustar 00 #compdef systemd-inhibit _systemd_inhibit_command(){ if (( CURRENT == 1 )); then compset -q _normal else local n=${words[(b:2:i)[^-]*]} if (( n <= CURRENT )); then compset -n $n _alternative \ 'files:file:_files' \ 'commands:command:_normal' && return 0 fi _default fi } _inhibit_what() { local _inhibit _inhibit=(shutdown sleep idle handle-power-key handle-suspend-key handle-hibernate-key handle-lid-switch) _values -s : "${_inhibit[@]}" } _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--what=[Operations to inhibit]:options:_inhibit_what' \ '--who=[A descriptive string who is inhibiting]' \ '--why=[A descriptive string why is being inhibited]' \ '--mode=[One of block or delay]' \ '--list[List active inhibitors]' \ '*:commands:_systemd_inhibit_command' _udevadm 0000644 00000013500 14711200432 0006244 0 ustar 00 #compdef udevadm _udevadm_info(){ _arguments \ '--query=[Query the database for specified type of device data. It needs the --path or --name to identify the specified device.]:type:(name symlink path property all)' \ '--path=[The devpath of the device to query.]:sys files:_files -P /sys/ -W /sys' \ '--name=[The name of the device node or a symlink to query]:device files:_files -P /dev/ -W /dev' \ '--root[Print absolute paths in name or symlink query.]' \ '--attribute-walk[Print all sysfs properties of the specified device that can be used in udev rules to match the specified device]' \ '--export[Print output as key/value pairs.]' \ '--export-prefix=[Add a prefix to the key name of exported values.]:prefix' \ '--device-id-of-file=[Print major/minor numbers of the underlying device, where the file lives on.]:files:_udevadm_mounts' \ '--export-db[Export the content of the udev database.]' \ '--cleanup-db[Cleanup the udev database.]' } _udevadm_trigger(){ _arguments \ '--verbose[Print the list of devices which will be triggered.]' \ '--dry-run[Do not actually trigger the event.]' \ '--type=[Trigger a specific type of devices.]:types:(devices subsystems failed)' \ '--action=[Type of event to be triggered.]:actions:(add change remove)' \ '--subsystem-match=[Trigger events for devices which belong to a matching subsystem.]' \ '--subsystem-nomatch=[Do not trigger events for devices which belong to a matching subsystem.]' \ '--attr-match=attribute=[Trigger events for devices with a matching sysfs attribute.]' \ '--attr-nomatch=attribute=[Do not trigger events for devices with a matching sysfs attribute.]' \ '--property-match=[Trigger events for devices with a matching property value.]' \ '--tag-match=property[Trigger events for devices with a matching tag.]' \ '--sysname-match=[Trigger events for devices with a matching sys device name.]' \ '--parent-match=[Trigger events for all children of a given device.]' } _udevadm_settle(){ _arguments \ '--timeout=[Maximum number of seconds to wait for the event queue to become empty.]' \ '--seq-start=[Wait only for events after the given sequence number.]' \ '--seq-end=[Wait only for events before the given sequence number.]' \ '--exit-if-exists=[Stop waiting if file exists.]:files:_files' \ '--quiet[Do not print any output, like the remaining queue entries when reaching the timeout.]' \ '--help[Print help text.]' } _udevadm_control(){ _arguments \ '--exit[Signal and wait for systemd-udevd to exit.]' \ '--log-priority=[Set the internal log level of systemd-udevd.]:priorities:(err info debug)' \ '--stop-exec-queue[Signal systemd-udevd to stop executing new events. Incoming events will be queued.]' \ '--start-exec-queue[Signal systemd-udevd to enable the execution of events.]' \ '--reload[Signal systemd-udevd to reload the rules files and other databases like the kernel module index.]' \ '--property=[Set a global property for all events.]' \ '--children-max=[Set the maximum number of events.]' \ '--timeout=[The maximum number of seconds to wait for a reply from systemd-udevd.]' \ '--help[Print help text.]' } _udevadm_monitor(){ _arguments \ '--kernel[Print the kernel uevents.]' \ '--udev[Print the udev event after the rule processing.]' \ '--property[Also print the properties of the event.]' \ '--subsystem-match=[Filter events by subsystem/\[devtype\].]' \ '--tag-match=[Filter events by property.]' \ '--help[Print help text.]' } _udevadm_test(){ _arguments \ '--action=[The action string.]:actions:(add change remove)' \ '--subsystem=[The subsystem string.]' \ '--help[Print help text.]' \ '*::devpath:_files -P /sys/ -W /sys' } _udevadm_test-builtin(){ if (( CURRENT == 2 )); then _arguments \ '--help[Print help text]' \ '*::builtins:(blkid btrfs hwdb input_id net_id net_setup_link kmod path_id usb_id uaccess)' elif (( CURRENT == 3 )); then _arguments \ '--help[Print help text]' \ '*::syspath:_files -P /sys -W /sys' else _arguments \ '--help[Print help text]' fi } _udevadm_mounts(){ local dev_tmp dpath_tmp mp_tmp mline tmp=( "${(@f)$(< /etc/mtab)}" ) dev_tmp=( "${(@)${(@)tmp%% *}:#none}" ) mp_tmp=( "${(@)${(@)tmp#* }%% *}" ) local MATCH mp_tmp=("${(@q)mp_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}") dpath_tmp=( "${(@Mq)dev_tmp:#/*}" ) dev_tmp=( "${(@q)dev_tmp:#/*}" ) _alternative \ 'device-paths: device path:compadd -a dpath_tmp' \ 'directories:mount point:compadd -a mp_tmp' } _udevadm_command(){ local -a _udevadm_cmds _udevadm_cmds=( 'info:query sysfs or the udev database' 'trigger:request events from the kernel' 'settle:wait for the event queue to finish' 'control:control the udev daemon' 'monitor:listen to kernel and udev events' 'test:test an event run' 'test-builtin:test a built-in command' ) if ((CURRENT == 1)); then _describe -t commands 'udevadm commands' _udevadm_cmds else local curcontext="$curcontext" cmd="${${_udevadm_cmds[(r)$words[1]:*]%%:*}}" if (($#cmd)); then if (( $+functions[_udevadm_$cmd] )); then _udevadm_$cmd else _message "no options for $cmd" fi else _message "no more options" fi fi } _arguments \ '--debug[Print debug messages to stderr]' \ '--version[Print version number]' \ '--help[Print help text]' \ '*::udevadm commands:_udevadm_command' _systemd-run 0000644 00000003741 14711200432 0007117 0 ustar 00 #compdef systemd-run __systemctl() { local -a _modes _modes=("--user" "--system") systemctl ${words:*_modes} --full --no-legend --no-pager "$@" 2>/dev/null } __get_slices () { __systemctl list-units --all -t slice \ | { while read -r a b; do echo $a; done; }; } __slices () { local -a _slices _slices=(${(fo)"$(__get_slices)"}) typeset -U _slices _describe 'slices' _slices } _arguments \ {-h,--help}'[Show help message]' \ '--version[Show package version]' \ '--user[Run as user unit]' \ {-H+,--host=}'[Operate on remote host]:[user@]host:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \ '--scope[Run this as scope rather than service]' \ '--unit=[Run under the specified unit name]:unit name' \ {-p+,--property=}'[Set unit property]:NAME=VALUE' \ '--description=[Description for unit]:description' \ '--slice=[Run in the specified slice]:slices:__slices' \ {-r,--remain-after-exit}'[Leave service around until explicitly stopped]' \ '--send-sighup[Send SIGHUP when terminating]' \ '--service-type=[Service type]:type:(simple forking oneshot dbus notify idle)' \ '--uid=[Run as system user]:user:_users' \ '--gid=[Run as system group]:group:_groups' \ '--nice=[Nice level]:nice level' \ '--setenv=[Set environment]:NAME=VALUE' \ '--on-active=[Run after SEC seconds]:SEC' \ '--on-boot=[Run after SEC seconds from machine was booted up]:SEC' \ '--on-statup=[Run after SEC seconds from systemd was first started]:SEC' \ '--on-unit-active=[Run after SEC seconds from the last activation]:SEC' \ '--on-unit-inactive=[Run after SEC seconds from the last deactivation]:SEC' \ '--on-calendar=[Realtime timer]:SPEC' \ '--timer-property=[Set timer unit property]:NAME=VALUE' \ '*::command:_command' _localectl 0000644 00000006734 14711200432 0006574 0 ustar 00 #compdef localectl _localectl_set-locale() { local -a _locales locale_fields locale_fields=(LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME \ LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER \ LC_NAME LC_ADDRESS LC_TELEPHONE \ LC_MEASUREMENT LC_IDENTIFICATION) # LC_ALL is omitted on purpose local expl suf _locales=( ${(f)"$(_call_program locales "$service" list-locales)"} ) compset -P1 '*=' if [[ -prefix 1 *\= ]]; then local conf=${PREFIX%%\=*} _wanted locales expl "locales configs" \ _combination localeconfs confs=$conf locales "$@" - else compadd -S '=' $locale_fields fi } _localectl_set-keymap() { local -a _keymaps if (( CURRENT <= 3 )); then _keymaps=( ${(f)"$(_call_program locales "$service" list-keymaps)"} ) _describe keymaps _keymaps else _message "no more options" fi } _localectl_set-x11-keymap() { if (( $+commands[pkg-config] )); then local -a _file _layout _model _variant _options local _xorg_lst _xorg_lst=${"$($commands[pkg-config] xkeyboard-config --variable=xkb_base)"} _file=( ${(ps:\n\!:)"$(<$_xorg_lst/rules/xorg.lst)"} ) _layout=( ${${${(M)${(f)_file[1]}:# *}# }%% *} ) _model=( ${${${(M)${(f)_file[2]}:# *}# }%% *} ) _variant=( ${${${(M)${(f)_file[3]}:# *}# }%% *} ) _options=( ${${${(M)${(f)_file[4]}:# *}# }%% *} ) #_layout=( ${(f)"$( echo $_file[1] | awk '/^ / {print $1}' )"} ) #_model=( ${(f)"$(echo $_file[2] | awk '/^ / {print $1}')"} ) #_variant=( ${(f)"$(echo $_file[3] | awk '/^ / {print $1}')"} ) #_options=( ${(f)"$(echo ${_file[4]//:/\\:} | awk '/^ / {print $1}')"} ) case $CURRENT in 2) _describe layouts _layout ;; 3) _describe models _model;; 4) _describe variants _variant;; 5) _describe options _options;; *) _message "no more options" esac fi } _localectl_command() { local -a _localectl_cmds _localectl_cmds=( 'status:Show current locale settings' 'set-locale:Set system locale' 'list-locales:Show known locales' 'set-keymap:Set virtual console keyboard mapping' 'list-keymaps:Show known virtual console keyboard mappings' 'set-x11-keymap:Set X11 keyboard mapping' 'list-x11-keymap-models:Show known X11 keyboard mapping models' 'list-x11-keymap-layouts:Show known X11 keyboard mapping layouts' 'list-x11-keymap-variants:Show known X11 keyboard mapping variants' 'list-x11-keymap-options:Show known X11 keyboard mapping options' ) if (( CURRENT == 1 )); then _describe -t commands 'localectl command' _localectl_cmds else local curcontext="$curcontext" cmd="${${_localectl_cmds[(r)$words[1]:*]%%:*}}" if (( $+functions[_localectl_$cmd] )); then _localectl_$cmd else _message "unknown localectl command: $words[1]" fi fi } _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ "--no-convert[Don't convert keyboard mappings]" \ '--no-pager[Do not pipe output into a pager]' \ '--no-ask-password[Do not prompt for password]' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machine' \ '*::localectl commands:_localectl_command' _coredumpctl 0000644 00000002743 14711200432 0007147 0 ustar 00 #compdef coredumpctl _coredumpctl_command(){ local -a _coredumpctl_cmds _coredumpctl_cmds=( 'list:List available coredumps' 'info:Show detailed information about one or more coredumps' 'dump:Print coredump to stdout' 'gdb:Start gdb on a coredump' ) if (( CURRENT == 1 )); then _describe -t commands 'coredumpctl command' _coredumpctl_cmds else local curcontext="$curcontext" local -a _dumps cmd="${${_coredumpctl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then # user can set zstyle ':completion:*:*:coredumpctl:*' sort no for coredumps to be ordered by date, otherwise they get ordered by pid _dumps=( "${(foa)$(coredumpctl list | awk 'BEGIN{OFS=":"} /^\s/ {sub(/[[ \t]+/, ""); print $5,$0}' 2>/dev/null)}" ) if [[ -n "$_dumps" ]]; then _describe -t pids 'coredumps' _dumps else _message "no coredumps" fi else _message "no more options" fi fi } _arguments \ {-o+,--output=}'[Write output to FILE]:output file:_files' \ {-F+,--field=}'[Show field in list output]:field' \ '-1[Show information about most recent entry only]' \ '--no-pager[Do not pipe output into a pager]' \ '--no-legend[Do not print the column headers]' \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '*::coredumpctl commands:_coredumpctl_command' _systemd 0000644 00000007302 14711200432 0006312 0 ustar 00 #compdef systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tty-ask-password-agent local curcontext="$curcontext" state lstate line case "$service" in systemd-ask-password) _arguments \ {-h,--help}'[Show this help]' \ '--icon=[Icon name]' \ '--timeout=[Timeout in sec]' \ '--no-tty[Ask question via agent even on TTY]' \ '--accept-cached[Accept cached passwords]' \ '--multiple[List multiple passwords if available]' ;; systemd-cat) _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version.]' \ {-t+,--identifier=}'[Set syslog identifier.]' \ {-p+,--priority=}'[Set priority value.]:value:({0..7})' \ '--level-prefix=[Control whether level prefix shall be parsed.]:boolean:(1 0)' \ ':Message' ;; systemd-cgls) _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--no-pager[Do not pipe output into a pager]' \ {-a,--all}'[Show all groups, including empty]' \ '-k[Include kernel threads in output]' \ ':cgroups:(cpuset cpu cpuacct memory devices freezer net_cls blkio)' ;; systemd-cgtop) _arguments \ {-h,--help}'[Show this help]' \ '--version[Print version and exit]' \ '(-c -m -i -t)-p[Order by path]' \ '(-c -p -m -i)-t[Order by number of tasks]' \ '(-m -p -i -t)-c[Order by CPU load]' \ '(-c -p -i -t)-m[Order by memory load]' \ '(-c -m -p -t)-i[Order by IO load]' \ {-d+,--delay=}'[Specify delay]' \ {-n+,--iterations=}'[Run for N iterations before exiting]' \ {-b,--batch}'[Run in batch mode, accepting no input]' \ '--depth=[Maximum traversal depth]' ;; systemd-detect-virt) _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ {-c,--container}'[Only detect whether we are run in a container]' \ {-v,--vm}'[Only detect whether we are run in a VM]' \ {-q,--quiet}"[Don't output anything, just set return value]" ;; systemd-machine-id-setup) _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' ;; systemd-notify) _arguments \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--ready[Inform the init system about service start-up completion.]' \ '--pid=[Inform the init system about the main PID of the daemon]' \ '--status=[Send a free-form status string for the daemon to the init systemd]' \ '--booted[Returns 0 if the system was booted up with systemd]' \ '--readahead=[Controls disk read-ahead operations]:arguments:(cancel done noreply)' ;; systemd-tty-ask-password-agent) _arguments \ {-h,--help}'[Prints a short help text and exits.]' \ '--version[Prints a short version string and exits.]' \ '--list[Lists all currently pending system password requests.]' \ '--query[Process all currently pending system password requests by querying the user on the calling TTY.]' \ '--watch[Continuously process password requests.]' \ '--wall[Forward password requests to wall(1).]' \ '--plymouth[Ask question with plymouth(8).]' \ '--console[Ask question on /dev/console.]' ;; *) _message 'eh?' ;; esac #vim: set ft=zsh sw=4 ts=4 et _timedatectl 0000644 00000003725 14711200432 0007126 0 ustar 00 #compdef timedatectl _timedatectl_set-timezone(){ local -a _timezones _timezones=( ${(f)"$(_call_program timezones "${service}" list-timezones)"} ) compadd "$_timezones[@]" } _timedatectl_set-time(){ _message "YYYY-MM-DD HH:MM:SS" } _timedatectl_set-local-rtc(){ local -a _options _options=( '0:Maintain RTC in universal time' '1:Maintain RTC in local time' ) _describe options _options } _timedatectl_set-ntp(){ local -a _options _options=( '0:Disable NTP based network time configuration' '1:Enable NTP based network time configuration' ) _describe options _options } _timedatectl_command(){ local -a _timedatectl_cmds _timedatectl_cmds=( 'status:Show current time settings' 'set-time:Set system time' 'set-timezone:Set system timezone' 'list-timezones:Show known timezones' 'set-local-rtc:Control whether RTC is in local time' 'set-ntp:Control whether NTP is enabled' ) if (( CURRENT == 1 )); then _describe -t commands 'timedatectl command' _timedatectl_cmds else local curcontext="$curcontext" cmd="${${_timedatectl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then if (( $+functions[_timedatectl_$cmd] )); then _timedatectl_$cmd else _message "no more options" fi else _message "unknown timedatectl command: $words[1]" fi fi } _arguments -s \ {-h,--help}'[Show this help]' \ '--version[Show package version]' \ '--adjust-system-clock[Adjust system clock when changing local RTC mode]' \ '--no-pager[Do not pipe output into a pager]' \ '--no-ask-password[Do not prompt for password]' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \ '*::timedatectl commands:_timedatectl_command' _systemd-analyze 0000644 00000004516 14711200432 0007757 0 ustar 00 #compdef systemd-analyze _systemd_analyze_set-log-level() { local -a _levels _levels=(debug info notice warning err crit alert emerg) _describe -t level 'logging level' _levels || compadd "$@" } _systemd_analyze_verify() { _sd_unit_files } _systemd_analyze_command(){ local -a _systemd_analyze_cmds # Descriptions taken from systemd-analyze --help. _systemd_analyze_cmds=( 'time:Print time spent in the kernel before reaching userspace' 'blame:Print list of running units ordered by time to init' 'critical-chain:Print a tree of the time critical chain of units' 'plot:Output SVG graphic showing service initialization' 'dot:Dump dependency graph (in dot(1) format)' 'dump:Dump server status' 'set-log-level:Set systemd log threshold' 'verify:Check unit files for correctness' ) if (( CURRENT == 1 )); then _describe "options" _systemd_analyze_cmds else local curcontext="$curcontext" cmd="${${_systemd_analyze_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then if (( $+functions[_systemd_analyze_$cmd] )) && (( CURRENT == 2 )); then _systemd_analyze_$cmd else _message "no more options" fi else _message "unknown systemd-analyze command: $words[1]" fi fi } _arguments \ {-h,--help}'[Show help text]' \ '--version[Show package version]' \ '--system[Operate on system systemd instance]' \ '--user[Operate on user systemd instance]' \ '--no-pager[Do not pipe output into a pager]' \ '--man=[Do (not) check for existence of man pages]:boolean:(1 0)' \ '--order[When generating graph for dot, show only order]' \ '--require[When generating graph for dot, show only requirement]' \ '--fuzz=[When printing the tree of the critical chain, print also services, which finished TIMESPAN earlier, than the latest in the branch]:TIMESPAN' \ '--from-pattern=[When generating a dependency graph, filter only origins]:GLOB' \ '--to-pattern=[When generating a dependency graph, filter only destinations]:GLOB' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machine' \ '*::systemd-analyze commands:_systemd_analyze_command' _systemd-nspawn 0000644 00000007105 14711200432 0007617 0 ustar 00 #compdef systemd-nspawn _nspawn-caps(){ local -a _caps _caps=( CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_FSETID CAP_IPC_OWNER CAP_KILL CAP_LEASE CAP_LINUX_IMMUTABLE CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETGID CAP_SETFCAP CAP_SETPCAP CAP_SETUID CAP_SYS_ADMIN CAP_SYS_CHROOT CAP_SYS_NICE CAP_SYS_PTRACE CAP_SYS_TTY_CONFIG CAP_SYS_RESOURCE CAP_SYS_BOOT ) _values -s , 'capabilities' "$_caps[@]" } _arguments \ {-h,--help}'[Show this help]' \ {--directory=,-D+}'[Directory to use as file system root for the namespace container. If omitted the current directory will be used.]:directories:_directories' \ {--image=,-i+}'[Disk image to mount the root directory for the container from.]' \ {--boot=,-b+}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \ {--user=,-u+}'[Run the command under specified user, create home directory and cd into it.]' \ {--machine=,-M+}'[Sets the machine name for this container.]' \ '--uuid=[Set the specified uuid for the container.]' \ '--slice=[Make the container part of the specified slice, instead of the default machine.slice.]' \ '--private-network[Turn off networking in the container. This makes all network interfaces unavailable in the container, with the exception of the loopback device.]' \ '--private-network[Disconnect networking of the container from the host.]' \ '--network-interface=[Assign the specified network interface to the container.]' \ '--network-macvlan=[Create a "macvlan" interface of the specified Ethernet network interface and add it to the container.]' \ '--network-veth[Create a virtual Ethernet link (veth) between host and container.]' \ '--network-bridge=[Adds the host side of the Ethernet link created with --network-veth to the specified bridge.]' \ {--selinux-context=,-Z+}'[Sets the SELinux security context to be used to label processes in the container.]' \ {--selinux-apifs-context=,-L+}'[Sets the SELinux security context to be used to label files in the virtual API file systems in the container.]' \ '--capability=[List one or more additional capabilities to grant the container.]:capabilities:_nspawn-caps' \ '--drop-capability=[Specify one or more additional capabilities to drop for the container]' \ "--link-journal=[Control whether the container's journal shall be made visible to the host system.]:options:(no, host, guest, auto)" \ '-j[Equivalent to --link-journal=guest.]' \ '--read-only[Mount the root file system read only for the container.]' \ '--bind=[Bind mount a file or directory from the host into the container.]' \ '--bind-ro=[Bind mount a file or directory from the host into the container (read-only).]' \ '--setenv=[Specifies an environment variable assignment to pass to the init process in the container, in the format "NAME=VALUE".]' \ '--share-system[Allows the container to share certain system facilities with the host.]' \ '--register=[Controls whether the container is registered with systemd-machined(8).]' \ '--keep-unit[Instead of creating a transient scope unit to run the container in, simply register the service or scope unit systemd-nspawn has been invoked in with systemd-machined(8).]' \ '--personality=[Control the architecture ("personality") reported by uname(2) in the container.]' \ {--quiet,-q}'[Turns off any status output by the tool itself.]' \ {--help,-h}'[Print a short help text and exit.]' \ '--version[Print a short version string and exit.]' _sd_machines 0000644 00000000476 14711200432 0007104 0 ustar 00 #autoload __get_machines () { machinectl --full --no-legend --no-pager list | {while read -r a b; do echo $a; done;}; } local -a _machines _machines=("${(fo)$(__get_machines)}") typeset -U _machines if [[ -n "$_machines" ]]; then _describe 'machines' _machines else _message 'no machines' fi _systemd-tmpfiles 0000644 00000001273 14711200432 0010134 0 ustar 00 #compdef systemd-tmpfiles _arguments \ {-h,--help}'[Show help]' \ '--version[Show package version]' \ '--create[Create, set ownership/permissions based on the config files.]' \ '--clean[Clean up all files and directories with an age parameter configured.]' \ '--remove[All files and directories marked with r, R in the configuration files are removed.]' \ '--boot[Execute actions only safe at boot]' \ '--prefix=[Only apply rules that apply to paths with the specified prefix.]' \ '--exclude-prefix=[Ignore rules that apply to paths with the specified prefix.]' \ '--root=[Operate on an alternate filesystem root]:directory:_directories' \ '*::files:_files' _machinectl 0000644 00000003257 14711200432 0006736 0 ustar 00 #compdef machinectl (( $+functions[_machinectl_command] )) || _machinectl_command() { local -a _machinectl_cmds _machinectl_cmds=( "list:List currently running VMs/containers" "status:Show VM/container status" "show:Show properties of one or more VMs/containers" "login:Get a login prompt on a VM/container" "poweroff:Power off one or more VMs/containers" "reboot:Reboot one or more VMs/containers" "terminate:Terminate one or more VMs/containers" "kill:Send signal to process or a VM/container" ) if (( CURRENT == 1 )); then _describe -t commands 'machinectl command' _machinectl_cmds || compadd "$@" else local curcontext="$curcontext" cmd="${${_machinectl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then case $cmd in list) msg="no options" ;; *) _sd_machines esac else _message "no more options" fi fi } _arguments \ {-h,--help}'[Prints a short help text and exits.]' \ '--version[Prints a short version string and exits.]' \ \*{-p+,--property=}'[Limit output to specified property.]:property:(Name Id Timestamp TimestampMonotonic Service Scope Leader Class State RootDirectory)' \ {-a,--all}'[Show all proerties]' \ (-l,--full)'[Do not ellipsize cgroup members]' \ '--no-pager[Do not pipe output into a pager]' \ '--no-ask-password[Do not ask for system passwords]' \ '--kill-who=[Who to send signal to]:killwho:(leader all)' \ {-s+,--signal=}'[Which signal to send]:signal:_signals' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-P,--privileged}'[Acquire privileges before execution]' \ '*::machinectl command:_machinectl_command' _loginctl 0000644 00000010046 14711200432 0006434 0 ustar 00 #compdef loginctl _loginctl_all_sessions(){_sys_all_sessions=($(loginctl --no-legend list-sessions | { while read a b; do echo " $a"; done; }) )} _loginctl_all_users() {_sys_all_users=( $(loginctl --no-legend list-users | { while read a b; do echo " $a"; done; }) )} _loginctl_all_seats() {_sys_all_seats=( $(loginctl --no-legend list-seats | { while read a b; do echo " $a"; done; }) )} # Completion functions for SESSIONS for fun in session-status show-session activate lock-session unlock-session terminate-session kill-session ; do (( $+functions[_loginctl_$fun] )) || _loginctl_$fun() { _loginctl_all_sessions compadd "$@" -a - _sys_all_sessions } done # Completion functions for USERS for fun in user-status show-user enable-linger disable-linger terminate-user kill-user ; do (( $+functions[_loginctl_$fun] )) || _loginctl_$fun() { _loginctl_all_users compadd "$@" -a - _sys_all_users } done # Completion functions for SEATS (( $+functions[_loginctl_seats] )) || _loginctl_seats() { _loginctl_all_seats compadd "$@" -a - _sys_all_seats } for fun in seat-status show-seat terminate-seat ; do (( $+functions[_loginctl_$fun] )) || _loginctl_$fun() { _loginctl_seats } done # Completion functions for ATTACH (( $+functions[_loginctl_attach] )) || _loginctl_attach() { _loginctl_all_seats _arguments -w -C -S -s \ ':seat:_loginctl_seats' \ '*:device:_files' } # no loginctl completion for: # [STANDALONE]='list-sessions list-users list-seats flush-devices' (( $+functions[_loginctl_command] )) || _loginctl_command() { local -a _loginctl_cmds _loginctl_cmds=( "list-sessions:List sessions" "session-status:Show session status" "show-session:Show properties of one or more sessions" "activate:Activate a session" "lock-session:Screen lock one or more sessions" "unlock-session:Screen unlock one or more sessions" "lock-sessions:Screen lock all current sessions" "unlock-sessions:Screen unlock all current sessions" "terminate-session:Terminate one or more sessions" "kill-session:Send signal to processes of a session" "list-users:List users" "user-status:Show user status" "show-user:Show properties of one or more users" "enable-linger:Enable linger state of one or more users" "disable-linger:Disable linger state of one or more users" "terminate-user:Terminate all sessions of one or more users" "kill-user:Send signal to processes of a user" "list-seats:List seats" "seat-status:Show seat status" "show-seat:Show properties of one or more seats" "attach:Attach one or more devices to a seat" "flush-devices:Flush all device associations" "terminate-seat:Terminate all sessions on one or more seats" ) if (( CURRENT == 1 )); then _describe -t commands 'loginctl command' _loginctl_cmds || compadd "$@" else local curcontext="$curcontext" cmd="${${_loginctl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then curcontext="${curcontext%:*:*}:loginctl-${cmd}:" _call_function ret _loginctl_$cmd || _message 'no more arguments' else _message "unknown loginctl command: $words[1]" fi return ret fi } _arguments -s \ {-h,--help}'[Show help]' \ '--version[Show package version]' \ \*{-p+,--property=}'[Show only properties by this name]:unit property' \ {-a,--all}'[Show all properties, including empty ones]' \ '--kill-who=[Who to send signal to]:killwho:(main control all)' \ {-s+,--signal=}'[Which signal to send]:signal:_signals' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \ {-l,--full}'[Do not ellipsize output]' \ '--no-pager[Do not pipe output into a pager]' \ '--no-legend[Do not show the headers and footers]' \ '--no-ask-password[Do not ask for system passwords]' \ {-n+,--lines=}'[Number of journal entries to show]' \ {-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \ '*::loginctl command:_loginctl_command' _systemctl 0000644 00000035210 14711200432 0006650 0 ustar 00 #compdef systemctl (( $+functions[_systemctl_command] )) || _systemctl_command() { local -a _systemctl_cmds _systemctl_cmds=( "list-sockets:List sockets" "list-timers:List timers" "list-units:List units" "start:Start (activate) one or more units" "stop:Stop (deactivate) one or more units" "reload:Reload one or more units" "restart:Start or restart one or more units" "condrestart:Restart one or more units if active" "try-restart:Restart one or more units if active" "reload-or-restart:Reload one or more units if possible, otherwise start or restart" "force-reload:Reload one or more units if possible, otherwise restart if active" "hibernate:Hibernate the system" "hybrid-sleep:Hibernate and suspend the system" "reload-or-try-restart:Reload one or more units if possible, otherwise restart if active" "isolate:Start one unit and stop all others" "kill:Send signal to processes of a unit" "is-active:Check whether units are active" "is-failed:Check whether units are failed" "status:Show runtime status of one or more units" "show:Show properties of one or more units/jobs or the manager" "cat:Show the source unit files and drop-ins" "reset-failed:Reset failed state for all, one, or more units" "list-unit-files:List installed unit files" "enable:Enable one or more unit files" "disable:Disable one or more unit files" "reenable:Reenable one or more unit files" "preset:Enable/disable one or more unit files based on preset configuration" "set-default:Set the default target" "get-default:Query the default target" "edit:Edit one or more unit files" "is-system-running:Query overall status of the system" "help:Show documentation for specified units" "list-dependencies:Show unit dependency tree" "mask:Mask one or more units" "unmask:Unmask one or more units" "link:Link one or more units files into the search path" "is-enabled:Check whether unit files are enabled" "list-jobs:List jobs" "cancel:Cancel all, one, or more jobs" "snapshot:Create a snapshot" "delete:Remove one or more snapshots" "show-environment:Dump environment" "set-environment:Set one or more environment variables" "unset-environment:Unset one or more environment variables" "daemon-reload:Reload systemd manager configuration" "daemon-reexec:Reexecute systemd manager" "default:Enter system default mode" "rescue:Enter system rescue mode" "emergency:Enter system emergency mode" "halt:Shut down and halt the system" "suspend:Suspend the system" "poweroff:Shut down and power-off the system" "reboot:Shut down and reboot the system" "kexec:Shut down and reboot the system with kexec" "exit:Ask for user instance termination" "switch-root:Change root directory" ) if (( CURRENT == 1 )); then _describe -t commands 'systemctl command' _systemctl_cmds || compadd "$@" else local curcontext="$curcontext" cmd="${${_systemctl_cmds[(r)$words[1]:*]%%:*}}" # Deal with any aliases case $cmd in condrestart) cmd="try-restart";; force-reload) cmd="reload-or-try-restart";; esac if (( $#cmd )); then curcontext="${curcontext%:*:*}:systemctl-${cmd}:" local update_policy zstyle -s ":completion:${curcontext}:" cache-policy update_policy if [[ -z "$update_policy" ]]; then zstyle ":completion:${curcontext}:" cache-policy _systemctl_caching_policy fi _call_function ret _systemctl_$cmd || _message 'no more arguments' else _message "unknown systemctl command: $words[1]" fi return ret fi } __systemctl() { local -a _modes _modes=("--user" "--system") systemctl ${words:*_modes} --full --no-legend --no-pager "$@" } # Fills the unit list _systemctl_all_units() { if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) && ! _retrieve_cache SYS_ALL_UNITS; then _sys_all_units=( $(__systemctl list-units --all | { while read -r a b; do echo -E - " $a"; done; }) ) _store_cache SYS_ALL_UNITS _sys_all_units fi } # Fills the unit list including all file units _systemctl_really_all_units() { local -a all_unit_files; local -a really_all_units; if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) && ! _retrieve_cache SYS_REALLY_ALL_UNITS; then all_unit_files=( $(__systemctl list-unit-files | { while read -r a b; do echo -E - " $a"; done; }) ) _systemctl_all_units really_all_units=($_sys_all_units $all_unit_files) _sys_really_all_units=(${(u)really_all_units}) _store_cache SYS_REALLY_ALL_UNITS _sys_really_all_units fi } _filter_units_by_property() { local property=$1 value=$2 ; shift ; shift local -a units ; units=($*) local prop unit for ((i=1; $i <= ${#units[*]}; i++)); do # FIXME: "Failed to issue method call: Unknown unit" errors are ignored for # now (related to DBUS_ERROR_UNKNOWN_OBJECT). in the future, we need to # revert to calling 'systemctl show' once for all units, which is way # faster unit=${units[i]} prop=${(f)"$(_call_program units "$service show --no-pager --property="$property" ${unit} 2>/dev/null")"} if [[ "${prop}" = "$property=$value" ]]; then echo -E - " ${unit}" fi done } _systemctl_get_template_names() { __systemctl list-unit-files | { while read -r a b; do [[ $a =~ @\. ]] && echo -E - " ${a%%@.*}@"; done; } } _systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read -r a b; do echo -E - " $a"; done; }) )} _systemctl_startable_units(){ _sys_startable_units=(_filter_units_by_property ActiveState inactive $( _filter_units_by_property CanStart yes $( __systemctl $mode list-unit-files --state enabled,disabled,static | \ { while read -r a b; do [[ $a =~ @\. ]] || echo -E - " $a"; done; } __systemctl $mode list-units --state inactive,failed | \ { while read -r a b; do echo -E - " $a"; done; } ))) } _systemctl_restartable_units(){ _sys_restartable_units=(_filter_units_by_property CanStart yes $( __systemctl $mode list-unit-files --state enabled,disabled,static | \ { while read -r a b; do [[ $a =~ @\. ]] || echo -E - " $a"; done; } __systemctl $mode list-units | \ { while read -r a b; do echo -E - " $a"; done; } )) } _systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} _systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "enabled" ]] && echo -E - " $a"; done; }) )} _systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read -r a b; do [[ $b == "disabled" ]] && echo -E - " $a"; done; }) )} _systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read -r a b; do [[ $b == "masked" ]] && echo -E - " $a"; done; }) )} # Completion functions for ALL_UNITS for fun in is-active is-failed is-enabled status show cat mask preset help list-dependencies edit ; do (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() { _systemctl_really_all_units compadd "$@" -a - _sys_really_all_units } done # Completion functions for ENABLED_UNITS (( $+functions[_systemctl_disable] )) || _systemctl_disable() { _systemctl_enabled_units compadd "$@" -a - _sys_enabled_units } (( $+functions[_systemctl_reenable] )) || _systemctl_reenable() { _systemctl_enabled_units _systemctl_disabled_units compadd "$@" -a - _sys_enabled_units _sys_disabled_units $(_systemctl_get_template_names) } # Completion functions for DISABLED_UNITS (( $+functions[_systemctl_enable] )) || _systemctl_enable() { _systemctl_disabled_units compadd "$@" -a - _sys_disabled_units $(_systemctl_get_template_names) } # Completion functions for FAILED_UNITS (( $+functions[_systemctl_reset-failed] )) || _systemctl_reset-failed() { _systemctl_failed_units compadd "$@" -a - _sys_failed_units || _message "no failed unit found" } # Completion functions for STARTABLE_UNITS (( $+functions[_systemctl_start] )) || _systemctl_start() { _systemctl_startable_units compadd "$@" - ${_sys_startable_units[*]} $(_systemctl_get_template_names) } # Completion functions for STOPPABLE_UNITS for fun in stop kill try-restart condrestart ; do (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() { _systemctl_active_units compadd "$@" - $( _filter_units_by_property CanStop yes \ ${_sys_active_units[*]} ) } done # Completion functions for ISOLATABLE_UNITS (( $+functions[_systemctl_isolate] )) || _systemctl_isolate() { _systemctl_all_units compadd "$@" - $( _filter_units_by_property AllowIsolate yes \ ${_sys_all_units[*]} ) } # Completion functions for RELOADABLE_UNITS for fun in reload reload-or-try-restart force-reload ; do (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() { _systemctl_active_units compadd "$@" - $( _filter_units_by_property CanReload yes \ ${_sys_active_units[*]} ) } done # Completion functions for RESTARTABLE_UNITS for fun in restart reload-or-restart ; do (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() { _systemctl_restartable_units compadd "$@" - ${_sys_restartable_units[*]} $(_systemctl_get_template_names) } done # Completion functions for MASKED_UNITS (( $+functions[_systemctl_unmask] )) || _systemctl_unmask() { _systemctl_masked_units compadd "$@" -a - _sys_masked_units || _message "no masked units found" } # Completion functions for JOBS (( $+functions[_systemctl_cancel] )) || _systemctl_cancel() { compadd "$@" - $(__systemctl list-jobs \ | cut -d' ' -f1 2>/dev/null ) || _message "no jobs found" } # Completion functions for SNAPSHOTS (( $+functions[_systemctl_delete] )) || _systemctl_delete() { compadd "$@" - $(__systemctl list-units --type snapshot --all \ | cut -d' ' -f1 2>/dev/null ) || _message "no snapshots found" } # Completion functions for TARGETS (( $+functions[_systemctl_set-default] )) || _systemctl_set-default() { compadd "$@" - $(__systemctl list-unit-files --type target --all \ | cut -d' ' -f1 2>/dev/null ) || _message "no targets found" } # Completion functions for ENVS for fun in set-environment unset-environment ; do (( $+functions[_systemctl_$fun] )) || _systemctl_$fun() { local fun=$0 ; fun=${fun##_systemctl_} local suf if [[ "${fun}" = "set-environment" ]]; then suf='-S=' fi compadd "$@" ${suf} - $(systemctl show-environment \ | while read line; do echo " ${line%%\=}";done ) } done (( $+functions[_systemctl_link] )) || _systemctl_link() { _sd_unit_files } (( $+functions[_systemctl_switch-root] )) || _systemctl_switch-root() { _files } # no systemctl completion for: # [STANDALONE]='daemon-reexec daemon-reload default # emergency exit halt kexec list-jobs list-units # list-unit-files poweroff reboot rescue show-environment' # [NAME]='snapshot' _systemctl_caching_policy() { local _sysunits local -a oldcache # rebuild if cache is more than a day old oldcache=( "$1"(mh+1) ) (( $#oldcache )) && return 0 _sysunits=($(__systemctl --all | cut -d' ' -f1)) if (( $#_sysunits )); then for unit in $_sysunits; do [[ "$unit" -nt "$1" ]] && return 0 done fi return 1 } _unit_states() { local -a _states _states=(loaded failed active inactive not-found listening running waiting plugged mounted exited dead masked) _values -s , "${_states[@]}" } _unit_types() { local -a _types _types=(automount busname device mount path service snapshot socket swap target timer) _values -s , "${_types[@]}" } _unit_properties() { if ( [[ ${+_sys_all_properties} -eq 0 ]] || _cache_invalid SYS_ALL_PROPERTIES ) && ! _retrieve_cache SYS_ALL_PROPERTIES; then _sys_all_properties=( $( {__systemctl show --all; /usr/lib/systemd/systemd --dump-configuration-items; } | { while IFS='=' read -r a b; do [ -n "$b" ] && echo "$a"; done }) ) _store_cache SYS_ALL_PROPRTIES _sys_all_properties fi _values -s , "${_sys_all_properties[@]}" } _arguments -s \ {-h,--help}'[Show help]' \ '--version[Show package version]' \ {-t+,--type=}'[List only units of a particular type]:unit type:_unit_types' \ '--state=[Display units in the specifyied state]:unit state:_unit_states' \ {-p+,--property=}'[Show only properties by specific name]:unit property:_unit_properties' \ {-a,--all}'[Show all units/properties, including dead/empty ones]' \ '--reverse[Show reverse dependencies]' \ '--after[Show units ordered after]' \ '--before[Show units ordered before]' \ '--failed[Show only failed units]' \ {-l,--full}"[Don't ellipsize unit names on output]" \ '--fail[When queueing a new job, fail if conflicting jobs are pending]' \ '--show-types[When showing sockets, show socket type]' \ '--irreversible[Mark transactions as irreversible]' \ '--ignore-dependencies[When queueing a new job, ignore all its dependencies]' \ {-i,--ignore-inhibitors}'[When executing a job, ignore jobs dependencies]' \ {-q,--quiet}'[Suppress output]' \ '--no-block[Do not wait until operation finished]' \ '--no-legend[Do not print a legend, i.e. the column headers and the footer with hints]' \ '--no-pager[Do not pipe output into a pager]' \ '--system[Connect to system manager]' \ '--user[Connect to user service manager]' \ "--no-wall[Don't send wall message before halt/power-off/reboot]" \ '--global[Enable/disable unit files globally]' \ "--no-reload[When enabling/disabling unit files, don't reload daemon configuration]" \ '--no-ask-password[Do not ask for system passwords]' \ '--kill-who=[Who to send signal to]:killwho:(main control all)' \ {-s+,--signal=}'[Which signal to send]:signal:_signals' \ {-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \ '--root=[Enable unit files in the specified root directory]:directory:_directories' \ '--runtime[Enable unit files only temporarily until next reboot]' \ {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \ {-P,--privileged}'[Acquire privileges before execution]' \ {-n+,--lines=}'[Journal entries to show]:number of entries' \ {-o+,--output=}'[Change journal output mode]:modes:_sd_outputmodes' \ '--plain[When used with list-dependencies, print output as a list]' \ '*::systemctl command:_systemctl_command' _mercurial 0000644 00000122344 14711200432 0006611 0 ustar 00 #compdef hg # Zsh completion script for mercurial. Rename this file to _hg and copy # it into your zsh function path (/usr/share/zsh/site-functions for # instance) # # If you do not want to install it globally, you can copy it somewhere # else and add that directory to $fpath. This must be done before # compinit is called. If the file is copied to ~/.zsh.d, your ~/.zshrc # file could look like this: # # fpath=("$HOME/.zsh.d" $fpath) # autoload -U compinit # compinit # # Copyright (C) 2005, 2006 Steve Borho <steve@borho.org> # Copyright (C) 2006-10 Brendan Cully <brendan@kublai.com> # # Permission is hereby granted, without written agreement and without # licence or royalty fees, to use, copy, modify, and distribute this # software and to distribute modified versions of this software for any # purpose, provided that the above copyright notice and the following # two paragraphs appear in all copies of this software. # # In no event shall the authors be liable to any party for direct, # indirect, special, incidental, or consequential damages arising out of # the use of this software and its documentation, even if the authors # have been advised of the possibility of such damage. # # The authors specifically disclaim any warranties, including, but not # limited to, the implied warranties of merchantability and fitness for # a particular purpose. The software provided hereunder is on an "as # is" basis, and the authors have no obligation to provide maintenance, # support, updates, enhancements, or modifications. emulate -LR zsh setopt extendedglob local curcontext="$curcontext" state line typeset -A _hg_cmd_globals _hg() { local cmd _hg_root integer i=2 _hg_cmd_globals=() while (( i < $#words )) do case "$words[$i]" in -R|--repository) eval _hg_root="$words[$i+1]" _hg_cmd_globals+=("$words[$i]" "$_hg_root") (( i += 2 )) continue ;; -R*) _hg_cmd_globals+="$words[$i]" eval _hg_root="${words[$i]#-R}" (( i++ )) continue ;; --cwd|--config) # pass along arguments to hg completer _hg_cmd_globals+=("$words[$i]" "$words[$i+1]") (( i += 2 )) continue ;; -*) # skip option (( i++ )) continue ;; esac if [[ -z "$cmd" ]] then cmd="$words[$i]" words[$i]=() (( CURRENT-- )) fi (( i++ )) done if [[ -z "$cmd" ]] then _arguments -s -w : $_hg_global_opts \ ':mercurial command:_hg_commands' return fi # resolve abbreviations and aliases if ! (( $+functions[_hg_cmd_${cmd}] )) then local cmdexp (( $#_hg_cmd_list )) || _hg_get_commands cmdexp=$_hg_cmd_list[(r)${cmd}*] if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]] then # might be nice to rewrite the command line with the expansion cmd="$cmdexp" fi if [[ -n $_hg_alias_list[$cmd] ]] then cmd=$_hg_alias_list[$cmd] fi fi curcontext="${curcontext%:*:*}:hg-${cmd}:" zstyle -s ":completion:$curcontext:" cache-policy update_policy if [[ -z "$update_policy" ]] then zstyle ":completion:$curcontext:" cache-policy _hg_cache_policy fi if (( $+functions[_hg_cmd_${cmd}] )) then _hg_cmd_${cmd} else # complete unknown commands normally _arguments -s -w : $_hg_global_opts \ '*:files:_hg_files' fi } _hg_cache_policy() { typeset -a old # cache for a minute old=( "$1"(mm+10) ) (( $#old )) && return 0 return 1 } _hg_get_commands() { typeset -ga _hg_cmd_list typeset -gA _hg_alias_list local hline cmd cmdalias _call_program hg hg debugcomplete -v | while read -A hline do cmd=$hline[1] _hg_cmd_list+=($cmd) for cmdalias in $hline[2,-1] do _hg_cmd_list+=($cmdalias) _hg_alias_list+=($cmdalias $cmd) done done } _hg_commands() { (( $#_hg_cmd_list )) || _hg_get_commands _describe -t commands 'mercurial command' _hg_cmd_list } _hg_revrange() { compset -P 1 '*:' _hg_labels "$@" } _hg_labels() { labels=("${(f)$(_hg_cmd debuglabelcomplete)}") (( $#labels )) && _describe -t labels 'labels' labels } _hg_bookmarks() { typeset -a bookmark bookmarks _hg_cmd bookmarks | while read -A bookmark do if test -z ${bookmark[-1]:#[0-9]*} then bookmarks+=($bookmark[-2]) fi done (( $#bookmarks )) && _describe -t bookmarks 'bookmarks' bookmarks } _hg_branches() { typeset -a branches local branch _hg_cmd branches | while read branch do branches+=(${branch/ #[0-9]#:*}) done (( $#branches )) && _describe -t branches 'branches' branches } # likely merge candidates _hg_mergerevs() { typeset -a heads local myrev heads=(${(f)"$(_hg_cmd heads --template '{rev}:{branch}\\n')"}) # exclude own revision myrev=$(_hg_cmd log -r . --template '{rev}:{branch}\\n') heads=(${heads:#$myrev}) (( $#heads )) && _describe -t heads 'heads' heads branches=(${(f)"$(_hg_cmd heads --template '{branch}\\n')"}) # exclude own revision myrev=$(_hg_cmd log -r . --template '{branch}\\n') branches=(${branches:#$myrev}) (( $#branches )) && _describe -t branches 'branches' branches } _hg_files() { if [[ -n "$_hg_root" ]] then [[ -d "$_hg_root/.hg" ]] || return case "$_hg_root" in /*) _files -W $_hg_root ;; *) _files -W $PWD/$_hg_root ;; esac else _files fi } _hg_status() { [[ -d $PREFIX ]] || PREFIX=$PREFIX:h status_files=(${(ps:\0:)"$(_hg_cmd status -0n$1 ./$PREFIX)"}) } _hg_unknown() { typeset -a status_files _hg_status u _wanted files expl 'unknown files' _multi_parts / status_files } _hg_missing() { typeset -a status_files _hg_status d _wanted files expl 'missing files' _multi_parts / status_files } _hg_modified() { typeset -a status_files _hg_status m _wanted files expl 'modified files' _multi_parts / status_files } _hg_resolve() { local rstate rpath [[ -d $PREFIX ]] || PREFIX=$PREFIX:h _hg_cmd resolve -l ./$PREFIX | while read rstate rpath do [[ $rstate == 'R' ]] && resolved_files+=($rpath) [[ $rstate == 'U' ]] && unresolved_files+=($rpath) done } _hg_resolved() { typeset -a resolved_files unresolved_files _hg_resolve _wanted files expl 'resolved files' _multi_parts / resolved_files } _hg_unresolved() { typeset -a resolved_files unresolved_files _hg_resolve _wanted files expl 'unresolved files' _multi_parts / unresolved_files } _hg_config() { typeset -a items items=(${${(%f)"$(_call_program hg hg showconfig)"}%%\=*}) (( $#items )) && _describe -t config 'config item' items } _hg_addremove() { _alternative 'files:unknown files:_hg_unknown' \ 'files:missing files:_hg_missing' } _hg_ssh_urls() { if [[ -prefix */ ]] then if zstyle -T ":completion:${curcontext}:files" remote-access then local host=${PREFIX%%/*} typeset -a remdirs compset -p $(( $#host + 1 )) local rempath=${(M)PREFIX##*/} local cacheid="hg:${host}-${rempath//\//_}" cacheid=${cacheid%[-_]} compset -P '*/' if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" then remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}")"}##*/}%/}) _store_cache "$cacheid" remdirs fi _describe -t directories 'remote directory' remdirs -S/ else _message 'remote directory' fi else if compset -P '*@' then _hosts -S/ else _alternative 'hosts:remote host name:_hosts -S/' \ 'users:user:_users -S@' fi fi } _hg_urls() { if compset -P bundle:// then _files elif compset -P ssh:// then _hg_ssh_urls elif [[ -prefix *: ]] then _urls else local expl compset -S '[^:]*' _wanted url-schemas expl 'URL schema' compadd -S '' - \ http:// https:// ssh:// bundle:// fi } _hg_paths() { typeset -a paths pnames _hg_cmd paths | while read -A pnames do paths+=($pnames[1]) done (( $#paths )) && _describe -t path-aliases 'repository alias' paths } _hg_remote() { _alternative 'path-aliases:repository alias:_hg_paths' \ 'directories:directory:_files -/' \ 'urls:URL:_hg_urls' } _hg_clone_dest() { _alternative 'directories:directory:_files -/' \ 'urls:URL:_hg_urls' } _hg_add_help_topics=( config dates diffs environment extensions filesets glossary hgignore hgweb merge-tools multirevs obsolescence patterns phases revisions revsets subrepos templating urls ) _hg_help_topics() { local topics (( $#_hg_cmd_list )) || _hg_get_commands topics=($_hg_cmd_list $_hg_add_help_topics) _describe -t help_topics 'help topics' topics } # Common options _hg_global_opts=( '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/' '--cwd[change working directory]:new working directory:_files -/' '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]' '(--verbose -v)'{-v,--verbose}'[enable additional output]' '*--config[set/override config option]:defined config items:_hg_config' '(--quiet -q)'{-q,--quiet}'[suppress output]' '(--help -h)'{-h,--help}'[display help and exit]' '--debug[debug mode]' '--debugger[start debugger]' '--encoding[set the charset encoding]' '--encodingmode[set the charset encoding mode]' '--lsprof[print improved command execution profile]' '--traceback[print traceback on exception]' '--time[time how long the command takes]' '--profile[profile]' '--version[output version information and exit]' ) _hg_pat_opts=( '*'{-I+,--include}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/' '*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/') _hg_clone_opts=( $_hg_remote_opts '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' '--pull[use pull protocol to copy metadata]' '--uncompressed[use uncompressed transfer (fast over LAN)]') _hg_date_user_opts=( '(--currentdate -D)'{-D,--currentdate}'[record the current date as commit date]' '(--currentuser -U)'{-U,--currentuser}'[record the current user as committer]' '(--date -d)'{-d+,--date}'[record the specified date as commit date]:date:' '(--user -u)'{-u+,--user}'[record the specified user as committer]:user:') _hg_gitlike_opts=( '(--git -g)'{-g,--git}'[use git extended diff format]') _hg_diff_opts=( $_hg_gitlike_opts '(--text -a)'{-a,--text}'[treat all files as text]' '--nodates[omit dates from diff headers]') _hg_mergetool_opts=( '(--tool -t)'{-t+,--tool}'[specify merge tool]:tool:') _hg_dryrun_opts=( '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') _hg_ignore_space_opts=( '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]') _hg_style_opts=( '--style[display using template map file]:' '--template[display with template]:') _hg_log_opts=( $_hg_global_opts $_hg_style_opts $_hg_gitlike_opts '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' '(--patch -p)'{-p,--patch}'[show patch]' '--stat[output diffstat-style summary of changes]' ) _hg_commit_opts=( '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]' '(-e --edit -l --logfile --message -m)'{-m+,--message}'[use <text> as commit message]:message:' '(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files') _hg_remote_opts=( '(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:' '--remotecmd[specify hg command to run on the remote side]:') _hg_branch_bmark_opts=( '(--bookmark -B)'{-B+,--bookmark}'[specify bookmark(s)]:bookmark:_hg_bookmarks' '(--branch -b)'{-b+,--branch}'[specify branch(es)]:branch:_hg_branches' ) _hg_subrepos_opts=( '(--subrepos -S)'{-S,--subrepos}'[recurse into subrepositories]') _hg_cmd() { _call_program hg HGPLAIN=1 hg "$_hg_cmd_globals[@]" "$@" 2> /dev/null } _hg_cmd_add() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts $_hg_subrepos_opts \ '*:unknown files:_hg_unknown' } _hg_cmd_addremove() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \ '*:unknown or missing files:_hg_addremove' } _hg_cmd_annotate() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_labels' \ '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \ '(--text -a)'{-a,--text}'[treat all files as text]' \ '(--user -u)'{-u,--user}'[list the author]' \ '(--date -d)'{-d,--date}'[list the date]' \ '(--number -n)'{-n,--number}'[list the revision number (default)]' \ '(--changeset -c)'{-c,--changeset}'[list the changeset]' \ '*:files:_hg_files' } _hg_cmd_archive() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '--no-decode[do not pass files through decoders]' \ '(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \ '(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_labels' \ '(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \ '*:destination:_files' } _hg_cmd_backout() { _arguments -s -w : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ '--merge[merge with old dirstate parent after backout]' \ '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \ '--parent[parent to choose when backing out merge]' \ '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \ '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \ '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \ '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files' } _hg_cmd_bisect() { _arguments -s -w : $_hg_global_opts \ '(-)'{-r,--reset}'[reset bisect state]' \ '(--extend -e)'{-e,--extend}'[extend the bisect range]' \ '(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_labels \ '(--good -g --bad -b --skip -s --reset -r)'{-b,--bad}'[mark changeset bad]'::revision:_hg_labels \ '(--good -g --bad -b --skip -s --reset -r)'{-s,--skip}'[skip testing changeset]' \ '(--command -c --noupdate -U)'{-c+,--command}'[use command to check changeset state]':commands:_command_names \ '(--command -c --noupdate -U)'{-U,--noupdate}'[do not update to target]' } _hg_cmd_bookmarks() { _arguments -s -w : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force]' \ '(--inactive -i)'{-i,--inactive}'[mark a bookmark inactive]' \ '(--rev -r --delete -d --rename -m)'{-r+,--rev}'[revision]:revision:_hg_labels' \ '(--rev -r --delete -d --rename -m)'{-d,--delete}'[delete a given bookmark]' \ '(--rev -r --delete -d --rename -m)'{-m+,--rename}'[rename a given bookmark]:bookmark:_hg_bookmarks' \ ':bookmark:_hg_bookmarks' } _hg_cmd_branch() { _arguments -s -w : $_hg_global_opts \ '(--force -f)'{-f,--force}'[set branch name even if it shadows an existing branch]' \ '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]' } _hg_cmd_branches() { _arguments -s -w : $_hg_global_opts \ '(--active -a)'{-a,--active}'[show only branches that have unmerge heads]' \ '(--closed -c)'{-c,--closed}'[show normal and closed branches]' } _hg_cmd_bundle() { _arguments -s -w : $_hg_global_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \ '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_labels' \ '(--branch -b)'{-b+,--branch}'[a specific branch to bundle]' \ '(--rev -r)'{-r+,--rev}'[changeset(s) to bundle]:' \ '--all[bundle all changesets in the repository]' \ ':output file:_files' \ ':destination repository:_files -/' } _hg_cmd_cat() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts \ '(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \ '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \ '--decode[apply any matching decode filter]' \ '*:file:_hg_files' } _hg_cmd_clone() { _arguments -s -w : $_hg_global_opts $_hg_clone_opts \ '(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \ '(--updaterev -u)'{-u+,--updaterev}'[revision, tag or branch to check out]' \ '(--branch -b)'{-b+,--branch}'[clone only the specified branch]' \ ':source repository:_hg_remote' \ ':destination:_hg_clone_dest' } _hg_cmd_commit() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \ '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files' \ '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \ '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \ '--amend[amend the parent of the working dir]' \ '--close-branch[mark a branch as closed]' \ '*:file:_hg_files' } _hg_cmd_copy() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \ '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \ '*:file:_hg_files' } _hg_cmd_diff() { typeset -A opt_args _arguments -s -w : $_hg_global_opts $_hg_diff_opts $_hg_ignore_space_opts \ $_hg_pat_opts $_hg_subrepos_opts \ '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \ '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \ '(--change -c)'{-c,--change}'[change made by revision]' \ '(--text -a)'{-a,--text}'[treat all files as text]' \ '--reverse[produce a diff that undoes the changes]' \ '(--unified -U)'{-U,--unified}'[number of lines of context to show]' \ '--stat[output diffstat-style summary of changes]' \ '*:file:->diff_files' if [[ $state == 'diff_files' ]] then if [[ -n $opt_args[-r] ]] then _hg_files else _hg_modified fi fi } _hg_cmd_export() { _arguments -s -w : $_hg_global_opts $_hg_diff_opts \ '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \ '--switch-parent[diff against the second parent]' \ '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \ '*:revision:_hg_labels' } _hg_cmd_forget() { _arguments -s -w : $_hg_global_opts \ '*:file:_hg_files' } _hg_cmd_graft() { _arguments -s -w : $_hg_global_opts $_hg_dryrun_opts \ $_hg_date_user_opts $_hg_mergetool_opts \ '(--continue -c)'{-c,--continue}'[resume interrupted graft]' \ '(--edit -e)'{-e,--edit}'[invoke editor on commit messages]' \ '--log[append graft info to log message]' \ '*:revision:_hg_labels' } _hg_cmd_grep() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \ '--all[print all revisions with matches]' \ '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \ '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \ '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \ '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \ '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \ '(--user -u)'{-u,--user}'[print user who committed change]' \ '(--date -d)'{-d,--date}'[print date of a changeset]' \ '1:search pattern:' \ '*:files:_hg_files' } _hg_cmd_heads() { _arguments -s -w : $_hg_global_opts $_hg_style_opts \ '(--topo -t)'{-t,--topo}'[show topological heads only]' \ '(--closed -c)'{-c,--closed}'[show normal and closed branch heads]' \ '(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_labels' } _hg_cmd_help() { _arguments -s -w : $_hg_global_opts \ '(--extension -e)'{-e,--extension}'[show only help for extensions]' \ '(--command -c)'{-c,--command}'[show only help for commands]' \ '(--keyword -k)'{-k+,--keyword}'[show topics matching keyword]' \ '*:mercurial help topic:_hg_help_topics' } _hg_cmd_identify() { _arguments -s -w : $_hg_global_opts $_hg_remote_opts \ '(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_labels' \ '(--num -n)'{-n+,--num}'[show local revision number]' \ '(--id -i)'{-i+,--id}'[show global revision id]' \ '(--branch -b)'{-b+,--branch}'[show branch]' \ '(--bookmark -B)'{-B+,--bookmark}'[show bookmarks]' \ '(--tags -t)'{-t+,--tags}'[show tags]' } _hg_cmd_import() { _arguments -s -w : $_hg_global_opts $_hg_commit_opts \ '(--strip -p)'{-p+,--strip}'[directory strip option for patch (default: 1)]:count:' \ '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \ '--bypass[apply patch without touching the working directory]' \ '--no-commit[do not commit, just update the working directory]' \ '--exact[apply patch to the nodes from which it was generated]' \ '--import-branch[use any branch information in patch (implied by --exact)]' \ '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \ '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \ '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \ '*:patch:_files' } _hg_cmd_incoming() { _arguments -s -w : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ $_hg_subrepos_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_labels' \ '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ '--bundle[file to store the bundles into]:bundle file:_files' \ ':source:_hg_remote' } _hg_cmd_init() { _arguments -s -w : $_hg_global_opts $_hg_remote_opts \ ':dir:_files -/' } _hg_cmd_locate() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts \ '(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_labels' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \ '*:search pattern:_hg_files' } _hg_cmd_log() { _arguments -s -w : $_hg_log_opts $_hg_pat_opts \ '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \ '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \ '(--copies -C)'{-C,--copies}'[show copied files]' \ '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \ '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \ '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \ '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_labels' \ '(--graph -G)'{-G+,--graph}'[show the revision DAG]' \ '(--branch -b)'{-b+,--branch}'[show changesets within the given named branch]:branch:_hg_branches' \ '(--user -u)'{-u+,--user}'[revisions committed by user]:user:' \ '(--date -d)'{-d+,--date}'[show revisions matching date spec]:date:' \ '*:files:_hg_files' } _hg_cmd_manifest() { _arguments -s -w : $_hg_global_opts \ '--all[list files from all revisions]' \ '(--rev -r)'{-r+,--rev}'[revision to display]:revision:_hg_labels' \ ':revision:_hg_labels' } _hg_cmd_merge() { _arguments -s -w : $_hg_global_opts $_hg_mergetool_opts \ '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \ '(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_mergerevs' \ '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \ ':revision:_hg_mergerevs' } _hg_cmd_outgoing() { _arguments -s -w : $_hg_log_opts $_hg_branch_bmark_opts $_hg_remote_opts \ $_hg_subrepos_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '*'{-r,--rev}'[a specific revision you would like to push]:revision:_hg_revrange' \ '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \ ':destination:_hg_remote' } _hg_cmd_parents() { _arguments -s -w : $_hg_global_opts $_hg_style_opts \ '(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_labels' \ ':last modified file:_hg_files' } _hg_cmd_paths() { _arguments -s -w : $_hg_global_opts \ ':path:_hg_paths' } _hg_cmd_phase() { _arguments -s -w : $_hg_global_opts \ '(--public -p)'{-p,--public}'[set changeset phase to public]' \ '(--draft -d)'{-d,--draft}'[set changeset phase to draft]' \ '(--secret -s)'{-s,--secret}'[set changeset phase to secret]' \ '(--force -f)'{-f,--force}'[allow to move boundary backward]' \ '(--rev -r)'{-r+,--rev}'[target revision]:revision:_hg_labels' \ ':revision:_hg_labels' } _hg_cmd_pull() { _arguments -s -w : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \ '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \ '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \ ':source:_hg_remote' } _hg_cmd_push() { _arguments -s -w : $_hg_global_opts $_hg_branch_bmark_opts $_hg_remote_opts \ '(--force -f)'{-f,--force}'[force push]' \ '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_labels' \ '--new-branch[allow pushing a new branch]' \ ':destination:_hg_remote' } _hg_cmd_remove() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts \ '(--after -A)'{-A,--after}'[record remove that has already occurred]' \ '(--force -f)'{-f,--force}'[remove file even if modified]' \ '*:file:_hg_files' } _hg_cmd_rename() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \ '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \ '*:file:_hg_files' } _hg_cmd_resolve() { local context state line typeset -A opt_args _arguments -s -w : $_hg_global_opts $_hg_mergetool_opts $_hg_pat_opts \ '(--all -a)'{-a,--all}'[select all unresolved files]' \ '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \ '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \ '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \ '*:file:_hg_unresolved' if [[ $state == 'resolve_files' ]] then _alternative 'files:resolved files:_hg_resolved' \ 'files:unresolved files:_hg_unresolved' fi } _hg_cmd_revert() { local context state line typeset -A opt_args _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \ '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \ '(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_labels' \ '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \ '(--date -d)'{-d+,--date}'[tipmost revision matching date]:date code:' \ '*:file:->diff_files' if [[ $state == 'diff_files' ]] then if [[ -n $opt_args[-r] ]] then _hg_files else typeset -a status_files _hg_status mard _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files fi fi } _hg_cmd_rollback() { _arguments -s -w : $_hg_global_opts $_hg_dryrun_opts \ '(--force -f)'{-f,--force}'[ignore safety measures]' \ } _hg_cmd_serve() { _arguments -s -w : $_hg_global_opts \ '(--accesslog -A)'{-A+,--accesslog}'[name of access log file]:log file:_files' \ '(--errorlog -E)'{-E+,--errorlog}'[name of error log file]:log file:_files' \ '(--daemon -d)'{-d,--daemon}'[run server in background]' \ '(--port -p)'{-p+,--port}'[listen port]:listen port:' \ '(--address -a)'{-a+,--address}'[interface address]:interface address:' \ '--prefix[prefix path to serve from]:directory:_files' \ '(--name -n)'{-n+,--name}'[name to show in web pages]:repository name:' \ '--web-conf[name of the hgweb config file]:webconf_file:_files' \ '--pid-file[name of file to write process ID to]:pid_file:_files' \ '--cmdserver[cmdserver mode]:mode:' \ '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \ '--style[web template style]:style' \ '--stdio[for remote clients]' \ '--certificate[certificate file]:cert_file:_files' \ '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]' } _hg_cmd_showconfig() { _arguments -s -w : $_hg_global_opts \ '(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \ ':config item:_hg_config' } _hg_cmd_status() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--all -A)'{-A,--all}'[show status of all files]' \ '(--modified -m)'{-m,--modified}'[show only modified files]' \ '(--added -a)'{-a,--added}'[show only added files]' \ '(--removed -r)'{-r,--removed}'[show only removed files]' \ '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \ '(--clean -c)'{-c,--clean}'[show only files without changes]' \ '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \ '(--ignored -i)'{-i,--ignored}'[show ignored files]' \ '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \ '(--copies -C)'{-C,--copies}'[show source of copied files]' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \ '--rev[show difference from revision]:revision:_hg_labels' \ '--change[list the changed files of a revision]:revision:_hg_labels' \ '*:files:_files' } _hg_cmd_summary() { _arguments -s -w : $_hg_global_opts \ '--remote[check for push and pull]' } _hg_cmd_tag() { _arguments -s -w : $_hg_global_opts \ '(--local -l)'{-l,--local}'[make the tag local]' \ '(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \ '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \ '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \ '(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_labels' \ '(--force -f)'{-f,--force}'[force tag]' \ '--remove[remove a tag]' \ '(--edit -e)'{-e,--edit}'[edit commit message]' \ ':tag name:' } _hg_cmd_tip() { _arguments -s -w : $_hg_global_opts $_hg_gitlike_opts $_hg_style_opts \ '(--patch -p)'{-p,--patch}'[show patch]' } _hg_cmd_unbundle() { _arguments -s -w : $_hg_global_opts \ '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \ ':files:_files' } _hg_cmd_update() { _arguments -s -w : $_hg_global_opts \ '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \ '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \ '(--check -c)'{-c,--check}'[update across branches if no uncommitted changes]' \ '(--date -d)'{-d+,--date}'[tipmost revision matching date]' \ ':revision:_hg_labels' } ## extensions ## # HGK _hg_cmd_view() { _arguments -s -w : $_hg_global_opts \ '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \ ':revision range:_hg_labels' } # MQ _hg_qseries() { typeset -a patches patches=(${(f)"$(_hg_cmd qseries)"}) (( $#patches )) && _describe -t hg-patches 'patches' patches } _hg_qapplied() { typeset -a patches patches=(${(f)"$(_hg_cmd qapplied)"}) if (( $#patches )) then patches+=(qbase qtip) _describe -t hg-applied-patches 'applied patches' patches fi } _hg_qunapplied() { typeset -a patches patches=(${(f)"$(_hg_cmd qunapplied)"}) (( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches } # unapplied, including guarded patches _hg_qdeletable() { typeset -a unapplied unapplied=(${(f)"$(_hg_cmd qseries)"}) for p in $(_hg_cmd qapplied) do unapplied=(${unapplied:#$p}) done (( $#unapplied )) && _describe -t hg-allunapplied-patches 'all unapplied patches' unapplied } _hg_qguards() { typeset -a guards local guard compset -P "+|-" _hg_cmd qselect -s | while read guard do guards+=(${guard#(+|-)}) done (( $#guards )) && _describe -t hg-guards 'guards' guards } _hg_qseries_opts=( '(--summary -s)'{-s,--summary}'[print first line of patch header]') _hg_cmd_qapplied() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \ '(--last -1)'{-1,--last}'[show only the preceding applied patch]' \ '*:patch:_hg_qapplied' } _hg_cmd_qclone() { _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_clone_opts \ '(--patches -p)'{-p+,--patches}'[location of source patch repository]' \ ':source repository:_hg_remote' \ ':destination:_hg_clone_dest' } _hg_cmd_qdelete() { _arguments -s -w : $_hg_global_opts \ '(--keep -k)'{-k,--keep}'[keep patch file]' \ '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \ '*:unapplied patch:_hg_qdeletable' } _hg_cmd_qdiff() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \ $_hg_ignore_space_opts \ '*:pattern:_hg_files' } _hg_cmd_qfinish() { _arguments -s -w : $_hg_global_opts \ '(--applied -a)'{-a,--applied}'[finish all applied patches]' \ '*:patch:_hg_qapplied' } _hg_cmd_qfold() { _arguments -s -w : $_hg_global_opts $_h_commit_opts \ '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \ '(--force -f)'{-f,--force}'[overwrite any local changes]' \ '--no-backup[do not save backup copies of files]' \ '*:unapplied patch:_hg_qunapplied' } _hg_cmd_qgoto() { _arguments -s -w : $_hg_global_opts \ '(--force -f)'{-f,--force}'[overwrite any local changes]' \ '--keep-changes[tolerate non-conflicting local changes]' \ ':patch:_hg_qseries' } _hg_cmd_qguard() { _arguments -s -w : $_hg_global_opts \ '(--list -l)'{-l,--list}'[list all patches and guards]' \ '(--none -n)'{-n,--none}'[drop all guards]' \ ':patch:_hg_qseries' \ '*:guards:_hg_qguards' } _hg_cmd_qheader() { _arguments -s -w : $_hg_global_opts \ ':patch:_hg_qseries' } _hg_cmd_qimport() { _arguments -s -w : $_hg_global_opts $_hg_gitlike_opts \ '(--existing -e)'{-e,--existing}'[import file in patch dir]' \ '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \ '(--force -f)'{-f,--force}'[overwrite existing files]' \ '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \ '(--push -P)'{-P,--push}'[qpush after importing]' \ '*:patch:_files' } _hg_cmd_qnew() { _arguments -s -w : $_hg_global_opts $_hg_commit_opts $_hg_date_user_opts $_hg_gitlike_opts \ ':patch:' } _hg_cmd_qnext() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qpop() { _arguments -s -w : $_hg_global_opts \ '(--all -a :)'{-a,--all}'[pop all patches]' \ '(--force -f)'{-f,--force}'[forget any local changes]' \ '--keep-changes[tolerate non-conflicting local changes]' \ '--no-backup[do not save backup copies of files]' \ ':patch:_hg_qapplied' } _hg_cmd_qprev() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_qpush() { _arguments -s -w : $_hg_global_opts \ '(--all -a :)'{-a,--all}'[apply all patches]' \ '(--list -l)'{-l,--list}'[list patch name in commit text]' \ '(--force -f)'{-f,--force}'[apply if the patch has rejects]' \ '(--exact -e)'{-e,--exact}'[apply the target patch to its recorded parent]' \ '--move[reorder patch series and apply only the patch]' \ '--keep-changes[tolerate non-conflicting local changes]' \ '--no-backup[do not save backup copies of files]' \ ':patch:_hg_qunapplied' } _hg_cmd_qrefresh() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts $_hg_gitlike_opts \ '(--short -s)'{-s,--short}'[short refresh]' \ '*:files:_hg_files' } _hg_cmd_qrename() { _arguments -s -w : $_hg_global_opts \ ':patch:_hg_qunapplied' \ ':destination:' } _hg_cmd_qselect() { _arguments -s -w : $_hg_global_opts \ '(--none -n :)'{-n,--none}'[disable all guards]' \ '(--series -s :)'{-s,--series}'[list all guards in series file]' \ '--pop[pop to before first guarded applied patch]' \ '--reapply[pop and reapply patches]' \ '*:guards:_hg_qguards' } _hg_cmd_qseries() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \ '(--missing -m)'{-m,--missing}'[print patches not in series]' } _hg_cmd_qunapplied() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \ '(--first -1)'{-1,--first}'[show only the first patch]' } _hg_cmd_qtop() { _arguments -s -w : $_hg_global_opts $_hg_qseries_opts } _hg_cmd_strip() { _arguments -s -w : $_hg_global_opts \ '(--force -f)'{-f,--force}'[force removal, discard uncommitted changes, no backup]' \ '(--no-backup -n)'{-n,--no-backup}'[no backups]' \ '(--keep -k)'{-k,--keep}'[do not modify working copy during strip]' \ '(--bookmark -B)'{-B+,--bookmark}'[remove revs only reachable from given bookmark]:bookmark:_hg_bookmarks' \ '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \ ':revision:_hg_labels' } # Patchbomb _hg_cmd_email() { _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_gitlike_opts \ '--plain[omit hg patch header]' \ '--body[send patches as inline message text (default)]' \ '(--outgoing -o)'{-o,--outgoing}'[send changes not found in the target repository]' \ '(--bundle -b)'{-b,--bundle}'[send changes not in target as a binary bundle]' \ '--bundlename[name of the bundle attachment file (default: bundle)]:' \ '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \ '--force[run even when remote repository is unrelated (with -b/--bundle)]' \ '*--base[a base changeset to specify instead of a destination (with -b/--bundle)]:revision:_hg_labels' \ '--intro[send an introduction email for a single patch]' \ '(--inline -i --attach -a)'{-a,--attach}'[send patches as attachments]' \ '(--attach -a --inline -i)'{-i,--inline}'[send patches as inline attachments]' \ '*--bcc[email addresses of blind carbon copy recipients]:email:' \ '*'{-c+,--cc}'[email addresses of copy recipients]:email:' \ '(--diffstat -d)'{-d,--diffstat}'[add diffstat output to messages]' \ '--date[use the given date as the sending date]:date:' \ '--desc[use the given file as the series description]:files:_files' \ '(--from -f)'{-f,--from}'[email address of sender]:email:' \ '(--test -n)'{-n,--test}'[print messages that would be sent]' \ '(--mbox -m)'{-m,--mbox}'[write messages to mbox file instead of sending them]:file:' \ '*--reply-to[email addresses replies should be sent to]:email:' \ '(--subject -s)'{-s,--subject}'[subject of first message (intro or single patch)]:subject:' \ '--in-reply-to[message identifier to reply to]:msgid:' \ '*--flag[flags to add in subject prefixes]:flag:' \ '*'{-t,--to}'[email addresses of recipients]:email:' \ ':revision:_hg_revrange' } # Rebase _hg_cmd_rebase() { _arguments -s -w : $_hg_global_opts $_hg_commit_opts $_hg_mergetool_opts \ '*'{-r,--rev}'[rebase these revisions]:revision:_hg_revrange' \ '(--source -s)'{-s+,--source}'[rebase from the specified changeset]:revision:_hg_labels' \ '(--base -b)'{-b+,--base}'[rebase from the base of the specified changeset]:revision:_hg_labels' \ '(--dest -d)'{-d+,--dest}'[rebase onto the specified changeset]:revision:_hg_labels' \ '--collapse[collapse the rebased changeset]' \ '--keep[keep original changeset]' \ '--keepbranches[keep original branch name]' \ '(--continue -c)'{-c,--continue}'[continue an interrupted rebase]' \ '(--abort -a)'{-a,--abort}'[abort an interrupted rebase]' \ } # Record _hg_cmd_record() { _arguments -s -w : $_hg_global_opts $_hg_commit_opts $_hg_pat_opts \ $_hg_ignore_space_opts $_hg_subrepos_opts \ '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \ '--close-branch[mark a branch as closed, hiding it from the branch list]' \ '--amend[amend the parent of the working dir]' \ '(--date -d)'{-d+,--date}'[record the specified date as commit date]:date:' \ '(--user -u)'{-u+,--user}'[record the specified user as committer]:user:' } _hg_cmd_qrecord() { _arguments -s -w : $_hg_global_opts $_hg_commit_opts $_hg_date_user_opts $_hg_gitlike_opts \ $_hg_pat_opts $_hg_ignore_space_opts $_hg_subrepos_opts } # Convert _hg_cmd_convert() { _arguments -s -w : $_hg_global_opts \ '(--source-type -s)'{-s,--source-type}'[source repository type]' \ '(--dest-type -d)'{-d,--dest-type}'[destination repository type]' \ '(--rev -r)'{-r+,--rev}'[import up to target revision]:revision:' \ '(--authormap -A)'{-A+,--authormap}'[remap usernames using this file]:file:_files' \ '--filemap[remap file names using contents of file]:file:_files' \ '--splicemap[splice synthesized history into place]:file:_files' \ '--branchmap[change branch names while converting]:file:_files' \ '--branchsort[try to sort changesets by branches]' \ '--datesort[try to sort changesets by date]' \ '--sourcesort[preserve source changesets order]' } # Graphlog _hg_cmd_glog() { _hg_cmd_log $@ } # Purge _hg_cmd_purge() { _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_subrepos_opts \ '(--abort-on-err -a)'{-a,--abort-on-err}'[abort if an error occurs]' \ '--all[purge ignored files too]' \ '(--print -p)'{-p,--print}'[print filenames instead of deleting them]' \ '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs (implies -p/--print)]' } _hg "$@"
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка