mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
completions: fix/augment zsh completions for systemd-nspawn, busctl, loginctl, hostnamectl, localectl, machinectl
This commit is contained in:
parent
10b17992ee
commit
4433c995c7
2
TODO
2
TODO
@ -96,8 +96,6 @@ Features:
|
||||
on screen, not unlike how job control works on the shell
|
||||
|
||||
* completions:
|
||||
- busctl zsh completion is outdated
|
||||
- systemd-nspawn -Z/-L/-q is missing for zsh
|
||||
- manager property enumeration was broken when systemd moved to /usr/lib/
|
||||
|
||||
* cgroups:
|
||||
|
@ -43,12 +43,15 @@ _arguments \
|
||||
{-h,--help}'[Prints a short help text and exits.]' \
|
||||
'--version[Prints a short version string and exits.]' \
|
||||
'--no-pager[Do not pipe output into a pager]' \
|
||||
'--no-legend[Do not show the headers and footers]' \
|
||||
'--system[Connect to system manager]' \
|
||||
'--user[Connect to user service manager]' \
|
||||
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
|
||||
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
|
||||
'--address=[Connect to the bus specified by address]:address' \
|
||||
'--no-unique[Only show well-known names]' \
|
||||
'--no-machine[Do not show machine IDs]' \
|
||||
'--show-machine[Show machine ID column in list]' \
|
||||
'--unique[Only show unique names]' \
|
||||
'--acquired[Only show acquired names]' \
|
||||
'--activatable[Only show activatable names]' \
|
||||
'--match=[Only show matching messages]:match' \
|
||||
'*::busctl command:_busctl_command'
|
||||
|
@ -6,6 +6,7 @@ _hostnamectl_command() {
|
||||
"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"
|
||||
)
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@"
|
||||
|
@ -64,6 +64,10 @@ _localectl_command() {
|
||||
'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
|
||||
@ -85,4 +89,5 @@ _arguments \
|
||||
'--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'
|
||||
|
@ -56,6 +56,8 @@ done
|
||||
"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"
|
||||
@ -99,8 +101,11 @@ _arguments -s \
|
||||
{-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' \
|
||||
'--no-ask-password[Do not ask for system passwords]' \
|
||||
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
|
||||
{-M+,--machine=}'[Operate on local container]:machine' \
|
||||
{-P,--privileged}'[Acquire privileges before execution]' \
|
||||
{-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]' \
|
||||
'*::loginctl command:_loginctl_command'
|
||||
|
@ -7,6 +7,9 @@
|
||||
"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"
|
||||
)
|
||||
|
@ -13,12 +13,32 @@ _nspawn-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' \
|
||||
{--boot,-b+}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \
|
||||
{--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.]' \
|
||||
{--controllers=,-C+}'[Makes the container appear in other hierarchies than the name=systemd:/ one. Takes a comma-separated list of controllers.]' \
|
||||
'--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.]' \
|
||||
'--read-only[Mount the root file system read only for the container.]' \
|
||||
'--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.]'
|
||||
'-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.]'
|
||||
|
Loading…
Reference in New Issue
Block a user