diff options
Diffstat (limited to 'Completion/Base/Utility')
-rw-r--r-- | Completion/Base/Utility/.distfiles | 26 | ||||
-rw-r--r-- | Completion/Base/Utility/_comp_locale | 20 |
2 files changed, 41 insertions, 5 deletions
diff --git a/Completion/Base/Utility/.distfiles b/Completion/Base/Utility/.distfiles index 97d86bdbf..91ddf881b 100644 --- a/Completion/Base/Utility/.distfiles +++ b/Completion/Base/Utility/.distfiles @@ -1,9 +1,25 @@ DISTFILES_SRC=' .distfiles -_alternative _call_program _nothing _sub_commands -_arg_compile _combination _regex_arguments _values -_arguments _set_command _retrieve_cache _guard -_cache_invalid _describe _sep_parts _pick_variant -_call_function _multi_parts _store_cache _regex_words +_alternative +_arg_compile +_arguments +_cache_invalid +_call_function +_comp_locale _complete_help_generic +_call_program +_combination +_set_command +_describe +_multi_parts +_nothing +_regex_arguments +_retrieve_cache +_sep_parts +_store_cache +_sub_commands +_values +_guard +_pick_variant +_regex_words ' diff --git a/Completion/Base/Utility/_comp_locale b/Completion/Base/Utility/_comp_locale new file mode 100644 index 000000000..e55338b97 --- /dev/null +++ b/Completion/Base/Utility/_comp_locale @@ -0,0 +1,20 @@ +#autoload + +# Arrange that LC_CTYPE retains the current setting so characters in +# file names are handled properly, but other locales are set to C so +# that the completion system can process output without surprises. + +# This exports new locale settings, so should only +# be run in a subshell. A typical use is in a $(...). + +local ctype + +if ctype=${${(f)"$(locale 2>/dev/null)"}:#^LC_CTYPE=*}; then + unset -m LC_\* + [[ -n $ctype ]] && eval export $ctype +else + ctype=${LC_ALL:-${LC_CTYPE:-${LANG:-C}}} + unset -m LC_\* + export LC_CTYPE=$ctype +fi +export LANG=C |