mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 12:53:13 +00:00
Manpage completions: store in $XDG_DATA_HOME
Closes #1343, works towards #1257.
This commit is contained in:
parent
15ca3b426f
commit
a186f04f15
4 changed files with 17 additions and 4 deletions
|
@ -36,6 +36,12 @@ if set -q XDG_CONFIG_HOME
|
||||||
set configdir $XDG_CONFIG_HOME
|
set configdir $XDG_CONFIG_HOME
|
||||||
end
|
end
|
||||||
|
|
||||||
|
set -l userdatadir ~/.local/share
|
||||||
|
|
||||||
|
if set -q XDG_DATA_HOME
|
||||||
|
set userdatadir $XDG_DATA_HOME
|
||||||
|
end
|
||||||
|
|
||||||
# __fish_datadir, __fish_sysconfdir, __fish_help_dir, __fish_bin_dir
|
# __fish_datadir, __fish_sysconfdir, __fish_help_dir, __fish_bin_dir
|
||||||
# are expected to have been set up by read_init from fish.cpp
|
# are expected to have been set up by read_init from fish.cpp
|
||||||
|
|
||||||
|
@ -51,7 +57,7 @@ if not contains $__fish_datadir/functions $fish_function_path
|
||||||
end
|
end
|
||||||
|
|
||||||
if not set -q fish_complete_path
|
if not set -q fish_complete_path
|
||||||
set fish_complete_path $configdir/fish/completions $__fish_sysconfdir/completions $__fish_datadir/completions $configdir/fish/generated_completions
|
set fish_complete_path $configdir/fish/completions $__fish_sysconfdir/completions $__fish_datadir/completions $userdatadir/fish/generated_completions
|
||||||
end
|
end
|
||||||
|
|
||||||
if not contains $__fish_datadir/completions $fish_complete_path
|
if not contains $__fish_datadir/completions $fish_complete_path
|
||||||
|
|
|
@ -19,6 +19,11 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||||
if set -q XDG_CONFIG_HOME
|
if set -q XDG_CONFIG_HOME
|
||||||
set configdir $XDG_CONFIG_HOME
|
set configdir $XDG_CONFIG_HOME
|
||||||
end
|
end
|
||||||
|
# Set the correct user data directory
|
||||||
|
set -l userdatadir ~/.local/share
|
||||||
|
if set -q XDG_DATA_HOME
|
||||||
|
set userdatadir $XDG_DATA_HOME
|
||||||
|
end
|
||||||
|
|
||||||
# Migrate old (pre 1.22.0) init scripts if they exist
|
# Migrate old (pre 1.22.0) init scripts if they exist
|
||||||
if not set -q __fish_init_1_22_0
|
if not set -q __fish_init_1_22_0
|
||||||
|
@ -144,7 +149,7 @@ function __fish_config_interactive -d "Initializations that should be performed
|
||||||
# Generate man page completions if not present
|
# Generate man page completions if not present
|
||||||
#
|
#
|
||||||
|
|
||||||
if not test -d $configdir/fish/generated_completions
|
if not test -d $userdatadir/fish/generated_completions
|
||||||
#fish_update_completions is a function, so it can not be directly run in background.
|
#fish_update_completions is a function, so it can not be directly run in background.
|
||||||
eval "$__fish_bin_dir/fish -c 'fish_update_completions > /dev/null ^/dev/null' &"
|
eval "$__fish_bin_dir/fish -c 'fish_update_completions > /dev/null ^/dev/null' &"
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
function fish_update_completions --description "Update man-page based completions"
|
function fish_update_completions --description "Update man-page based completions"
|
||||||
eval \"$__fish_datadir/tools/create_manpage_completions.py\" --manpath --progress --cleanup-in '~/.config/fish/completions'
|
# Clean up old paths
|
||||||
|
eval \"$__fish_datadir/tools/create_manpage_completions.py\" --manpath --progress --cleanup-in '~/.config/fish/completions' --cleanup-in '~/.config/fish/generated_completions'
|
||||||
end
|
end
|
||||||
|
|
|
@ -973,7 +973,8 @@ if __name__ == "__main__":
|
||||||
if not WRITE_TO_STDOUT and not output_directory:
|
if not WRITE_TO_STDOUT and not output_directory:
|
||||||
# Default to ~/.config/fish/generated_completions/
|
# Default to ~/.config/fish/generated_completions/
|
||||||
# Create it if it doesn't exist
|
# Create it if it doesn't exist
|
||||||
output_directory = os.path.expanduser('~/.config/fish/generated_completions/')
|
xdg_data_home = os.getenv('XDG_DATA_HOME', '~/.local/share')
|
||||||
|
output_directory = os.path.expanduser(xdg_data_home + '/fish/generated_completions/')
|
||||||
try:
|
try:
|
||||||
os.makedirs(output_directory)
|
os.makedirs(output_directory)
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
|
|
Loading…
Reference in a new issue