diff options
author | axel <axel@liljencrantz.se> | 2006-02-18 12:41:45 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2006-02-18 12:41:45 +1000 |
commit | dd79d75504fab9b47f00bb699f0671bf19f93a62 (patch) | |
tree | d2e9f9e266c0d522c528808f7dd5a39ff23ee829 /share | |
parent | 7073f0b58bf5845b686316783b7b87bac005f06a (diff) |
Move a few shellscript bits around
darcs-hash:20060218024145-ac50b-207ca782808ea8968cb38253c7bc2563350f38b2.gz
Diffstat (limited to 'share')
-rw-r--r-- | share/fish | 58 | ||||
-rw-r--r-- | share/functions/__fish_append.fish | 8 | ||||
-rw-r--r-- | share/functions/__fish_seen_subcommand_from.fish | 16 |
3 files changed, 56 insertions, 26 deletions
@@ -13,6 +13,38 @@ set -g fish_function_path # Don't need completions in non-interactive mode # +# +# Alias for gettext (or a fallback if gettext isn't installed) This +# needs to be defined here and not in fish_function.fish, since it is +# used by other init files. +# + +function _ -d "Alias for the gettext command" + printf "%s" $argv +end +if test 1 = "1" + if which gettext ^/dev/null >/dev/null + function _ -d "Alias for the gettext command" + gettext fish $argv + end + end +end + +# +# Set some value for LANG if nothing was set before, and this is a +# login shell. Also check for i18n information in /etc/sysconfig/i18n +# + +if status --is-login + if not set -q LANG >/dev/null + set -gx LANG en_US.UTF-8 + end + + if test -f /etc/sysconfig/i18n + eval (cat /etc/sysconfig/i18n |sed -ne 's/^\([a-zA-Z]*\)=\(.*\)$/set -gx \1 \2;/p') + end +end + if not status --is-interactive exit end @@ -55,36 +87,10 @@ end set -l __fish_help_desc (_ "Display help and exit") for i in (builtin -n|grep -vE '(while|for|if|function|switch)' ) - complete -c $i -s h -l help -d $__fish_help_desc end -function __fish_append -d "Internal completion function for appending string to the commandline" - set separator $argv[1] - set -e argv[1] - set str (commandline -tc| sed -ne "s/\(.*$separator\)[^$separator]*/\1/p"|sed -e "s/--.*=//") - printf "%s\n" "$str"$argv "$str"(printf "%s\n" $argv|sed -e "s/\(\t\|\$\)/,\1/") -end - - -# -# Test to see if we've seen a subcommand from a list. -# This logic may seem backwards, but the commandline will often be much shorter -# than the list -# - -function __fish_seen_subcommand_from - set -l -- cmd (commandline -poc) - set -e cmd[1] - for i in $cmd - if contains -- $i $argv - return 0 - end - end - return 1 -end - # # Completions for SysV startup scripts # diff --git a/share/functions/__fish_append.fish b/share/functions/__fish_append.fish new file mode 100644 index 00000000..e0174143 --- /dev/null +++ b/share/functions/__fish_append.fish @@ -0,0 +1,8 @@ +function __fish_append -d "Internal completion function for appending string to the commandline" + set separator $argv[1] + set -e argv[1] + set str (commandline -tc| sed -ne "s/\(.*$separator\)[^$separator]*/\1/p"|sed -e "s/--.*=//") + printf "%s\n" "$str"$argv "$str"(printf "%s\n" $argv|sed -e "s/\(\t\|\$\)/,\1/") +end + + diff --git a/share/functions/__fish_seen_subcommand_from.fish b/share/functions/__fish_seen_subcommand_from.fish new file mode 100644 index 00000000..508b635b --- /dev/null +++ b/share/functions/__fish_seen_subcommand_from.fish @@ -0,0 +1,16 @@ +# +# Test to see if we've seen a subcommand from a list. +# This logic may seem backwards, but the commandline will often be much shorter +# than the list +# + +function __fish_seen_subcommand_from + set -l -- cmd (commandline -poc) + set -e cmd[1] + for i in $cmd + if contains -- $i $argv + return 0 + end + end + return 1 +end |