Files
fish-shell/share/functions/__fish_whatis_current_token.fish
Johannes Altmanninger d835c5252a Prepare to not localize private function descriptions
The overwhelming majority of localizable messages comes from
completions:

	$ ls share/completions/ | wc -l
	$ 1048

OTOH functions also contribute a small amount, mostly via their
descriptions (so usually just one per file).

	$ ls share/functions/ | wc -l
	$ 237

Most of these are private and almost never shown to the user, so it's
not worth bothering translators with them. So:

- Skip private (see the parent commit) and deprecated functions.
- Skip wrapper functions like grep (where the translation seems to
  be provided by apropos), and even the English description is not
  helpful.
  - Assume that most real systems have "seq", "realpath" etc.,
    so it's no use providing our own translations for our fallbacks.
- Mark fish's own functions as tier1, and some barely-used functiosn
  and completions as tier3, so we can order them that way in
  po/*.po. Most translators should only look at tier1 and tier2.
  In future we could disable localization for tier3.

See the explanation at the bottom of
tests/checks/message-localization-tier-is-declared.fish

Part of #11833
2025-09-30 11:47:26 +02:00

32 lines
971 B
Fish

# localization: tier1
# This function is typically bound to Alt-W, it is used to list man page entries
# for the command under the cursor.
function __fish_whatis_current_token -d "Show man page entries or function description related to the token under the cursor"
set -l token (commandline -pt)
test -n "$token"
or return
set -l desc "$token: nothing appropriate."
set -l tokentype (type --type $token 2>/dev/null)
switch "$tokentype"
case function
set -l funcinfo (functions $token --details --verbose)
test $funcinfo[5] != n/a
and set desc "$token - $funcinfo[5]"
case builtin
# Since man pages can be localized, we can't look for "NAME".
set desc (__fish_print_help $token | sed -n 4p | string trim)
case file
set -l tmpdesc (whatis $token 2>/dev/null)
and set desc $tmpdesc
end
__fish_echo string join \n -- $desc
end