mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-22 14:29:16 +08:00
Manpage completions: store in $XDG_DATA_HOME
Closes #1343, works towards #1257.
This commit is contained in:
parent
15ca3b426f
commit
a186f04f15
|
@ -36,6 +36,12 @@ if set -q XDG_CONFIG_HOME
|
|||
set configdir $XDG_CONFIG_HOME
|
||||
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
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
set configdir $XDG_CONFIG_HOME
|
||||
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
|
||||
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
|
||||
#
|
||||
|
||||
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.
|
||||
eval "$__fish_bin_dir/fish -c 'fish_update_completions > /dev/null ^/dev/null' &"
|
||||
end
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
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
|
||||
|
|
|
@ -973,7 +973,8 @@ if __name__ == "__main__":
|
|||
if not WRITE_TO_STDOUT and not output_directory:
|
||||
# Default to ~/.config/fish/generated_completions/
|
||||
# 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:
|
||||
os.makedirs(output_directory)
|
||||
except OSError as e:
|
||||
|
|
Loading…
Reference in New Issue
Block a user