Files
fish-shell/share/functions/__fish_toggle_comment_commandline.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

22 lines
1.0 KiB
Fish

# localization: tier1
#
# This is meant to be bound to key sequences such as \e#. It provides a simple way to quickly
# comment/uncomment the current command. This is something introduced by the Korn shell (ksh) in
# 1993. It allows you to capture a command in the shell history without executing it. Then
# retrieving the command from the shell history and removing the comment chars.
#
# This deliberately does not execute the command when removing the comment characters to give you an
# opportunity to modify the command. Also if the commandline is empty, the most recently commented
# out history item is uncommented and presented.
function __fish_toggle_comment_commandline --description 'Comment/uncomment the current command'
set -l cmdlines (commandline -b)
if test -z "$cmdlines"
set cmdlines (history search -p "#" --max=1)
end
set -l cmdlines (printf '%s\n' '#'$cmdlines | string replace -r '^##' '')
commandline -r $cmdlines
string match -q '#*' $cmdlines[1]
and commandline -f execute
end