Document and complete status get-file/list-files

This commit is contained in:
Fabian Boehm
2025-02-19 20:58:56 +01:00
parent b56b876a98
commit ee2a6a851d
2 changed files with 19 additions and 0 deletions

View File

@@ -31,6 +31,8 @@ Synopsis
status features
status test-feature FEATURE
status buildinfo
status get-file FILE
status list-files [PATH]
Description
-----------
@@ -106,6 +108,15 @@ The following operations (subcommands) are available:
This prints information on how fish was build - which architecture, which build system or profile was used, etc.
This is mainly useful for debugging.
**get-file** *FILE*
This prints a file embedded in the fish binary at compile time. This includes the default set of functions and completions,
as well as the man pages and themes. Which files are included depends on build settings.
Returns 0 if the file was included, 1 otherwise.
**list-files** *FILE*
This lists the files embedded in the fish binary at compile time. Only files where the path starts with the optional *FILE* argument are shown.
Returns 0 if something was printed, 1 otherwise.
Notes
-----

View File

@@ -12,6 +12,7 @@ set -l __fish_status_all_commands \
filename \
fish-path \
function \
get-file \
is-block \
is-breakpoint \
is-command-substitution \
@@ -23,6 +24,7 @@ set -l __fish_status_all_commands \
is-no-job-control \
job-control \
line-number \
list-files \
print-stack-trace \
stack-trace \
test-feature
@@ -59,9 +61,15 @@ complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_com
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a test-feature -d "Test if a feature flag is enabled"
complete -f -c status -n "__fish_seen_subcommand_from test-feature" -a '(status features | sed "s/[[:space:]]\+[^[:space:]]*[[:space:]]\+[^[:space:]]*/\t/")'
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a fish-path -d "Print the path to the current instance of fish"
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a get-file -d "Print an embedded file from the fish binary"
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a list-files -d "List embedded files contained in the fish binary"
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a fish-path -d "Print the path to the current instance of fish"
# The job-control command changes fish state.
complete -f -c status -n "not __fish_seen_subcommand_from $__fish_status_all_commands" -a job-control -d "Set which jobs are under job control"
complete -f -c status -n "__fish_seen_subcommand_from job-control" -a full -d "Set all jobs under job control"
complete -f -c status -n "__fish_seen_subcommand_from job-control" -a interactive -d "Set only interactive jobs under job control"
complete -f -c status -n "__fish_seen_subcommand_from job-control" -a none -d "Set no jobs under job control"
complete -f -c status -n "__fish_seen_subcommand_from get-file" -a '(status list-files)'
complete -f -c status -n "__fish_seen_subcommand_from list-files" -a '(status list-files)'