aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Fabian Homborg <FHomborg@gmail.com>2015-02-26 21:45:31 +0100
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2015-03-06 23:05:24 -0800
commitd99ed89aa3f5f89a1ab81c98c41b52669de464f9 (patch)
treea219f8c76385f2536ca8bdaf278acd9f1e54a246
parentb9dd057a04804d7ecd7eff3cad1925b7a580473f (diff)
Adjust filters a bit
This includes only showing unmasked units in mask, only loaded units in start and more types in show/list-dependencies
-rw-r--r--share/completions/systemctl.fish17
1 files changed, 16 insertions, 1 deletions
diff --git a/share/completions/systemctl.fish b/share/completions/systemctl.fish
index 748462f9..65258110 100644
--- a/share/completions/systemctl.fish
+++ b/share/completions/systemctl.fish
@@ -29,12 +29,25 @@ complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a enabl
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a disable -d 'Disable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a isolate -d 'Start a unit and dependencies and disable all others'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a set-default -d 'Set the default target to boot into'
-for command in start stop restart try-restart reload-or-restart reload-or-try-restart is-active is-failed is-enabled reenable mask loaded link list-dependencies show status
+for command in restart try-restart reload-or-restart reload-or-try-restart is-active is-failed is-enabled reenable loaded link list-dependencies show status\
+ condrestart force-reload # these are aliases for try-restart and reload-or-try-restart, respectively. Intentionally don't offer them as command options
for t in $types
complete -f -c systemctl -n "__fish_seen_subcommand_from $command" -a "(eval __fish_systemctl_$t)"
end
end
+for t in $types
+ complete -f -c systemctl -n "__fish_seen_subcommand_from unmask" -a "(eval __fish_systemctl_$t --state masked)"
+ # These are intentionally not documented so far (http://lists.freedesktop.org/archives/systemd-devel/2015-January/026805.html)
+ # and there's no performant way to do a "!masked"
+ # so we assume that LOADED can only be masked, loaded or not-found
+ complete -f -c systemctl -n "__fish_seen_subcommand_from mask" -a "(eval __fish_systemctl_$t --state loaded --state not-found)"
+ complete -f -c systemctl -n "__fish_seen_subcommand_from stop" -a "(eval __fish_systemctl_$t --state loaded,active,running)"
+ # Unfortunately, "--state=loaded,inactive" doesn't seem to work (systemd 218)
+ # at least filter out not-found and masked states (these error out)
+ complete -f -c systemctl -n "__fish_seen_subcommand_from start" -a "(eval __fish_systemctl_$t --state loaded)"
+end
+
# Enable/Disable: Only show units with matching state
for t in services sockets timers service_paths
complete -f -c systemctl -n "__fish_seen_subcommand_from enable" -a "(eval __fish_systemctl_$t --state=disabled)"
@@ -45,6 +58,8 @@ end
# .device in particular creates too much noise
for t in devices slices scopes swaps
complete -f -c systemctl -n "__fish_seen_subcommand_from status" -a '(eval __fish_systemctl_$t)'
+ complete -f -c systemctl -n "__fish_seen_subcommand_from show" -a '(eval __fish_systemctl_$t)'
+ complete -f -c systemctl -n "__fish_seen_subcommand_from list-dependencies" -a '(eval __fish_systemctl_$t)'
end
complete -f -c systemctl -n "__fish_seen_subcommand_from isolate" -a '(__fish_systemctl_targets)' -d 'Target'