mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-23 02:41:14 -03:00
`set_color normal` is too ambiguous and easily misinterpreted since it actually reset all colors and modes instead of resetting just the foreground color as one without prior knowledge might expect. Closes #12548
70 lines
2.0 KiB
ReStructuredText
70 lines
2.0 KiB
ReStructuredText
fish_mode_prompt - define the appearance of the mode indicator
|
|
==============================================================
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
.. synopsis::
|
|
|
|
fish_mode_prompt
|
|
|
|
::
|
|
|
|
function fish_mode_prompt
|
|
echo -n "$fish_bind_mode "
|
|
end
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
The ``fish_mode_prompt`` function outputs the mode indicator for use in vi mode.
|
|
|
|
The default ``fish_mode_prompt`` function will output indicators about the current vi editor mode displayed to the left of the regular prompt. Define your own function to customize the appearance of the mode indicator. The ``$fish_bind_mode`` variable can be used to determine the current mode. It will be one of ``default``, ``insert``, ``replace_one``, ``replace``, ``visual``, or ``operator``.
|
|
|
|
You can also define an empty ``fish_mode_prompt`` function to remove the vi mode indicators::
|
|
|
|
function fish_mode_prompt; end
|
|
funcsave fish_mode_prompt
|
|
|
|
``fish_mode_prompt`` will be executed when the vi mode changes. If it produces any output, it is displayed and used. If it does not, the other prompt functions (:doc:`fish_prompt <fish_prompt>` and :doc:`fish_right_prompt <fish_right_prompt>`) will be executed as well in case they contain a mode display.
|
|
|
|
If :envvar:`fish_transient_prompt` is set to 1, ``fish_mode_prompt --final-rendering`` is run before executing the commandline.
|
|
|
|
Example
|
|
-------
|
|
|
|
|
|
|
|
::
|
|
|
|
function fish_mode_prompt
|
|
switch $fish_bind_mode
|
|
case default
|
|
set_color --bold red
|
|
echo 'N'
|
|
case insert
|
|
set_color --bold green
|
|
echo 'I'
|
|
case replace_one
|
|
set_color --bold green
|
|
echo 'R'
|
|
case replace
|
|
set_color --bold bryellow
|
|
echo 'R'
|
|
case visual
|
|
set_color --bold brmagenta
|
|
echo 'V'
|
|
case operator f F t T
|
|
set_color --bold cyan
|
|
echo 'N'
|
|
case '*'
|
|
set_color --bold red
|
|
echo '?'
|
|
end
|
|
set_color --reset
|
|
end
|
|
|
|
|
|
Outputting multiple lines is not supported in ``fish_mode_prompt``.
|