tide/functions/fish_prompt.fish

44 lines
1.3 KiB
Fish
Raw Normal View History

2021-03-01 03:47:07 +03:00
function fish_prompt
end
status is-interactive || exit
_tide_remove_unusable_items
2021-08-22 01:05:08 +03:00
_tide_cache_variables
# The first element in $$_tide_prompt_var is right prompt
# All remaining ones are 'left' prompt (also upper right in 2-line prompts)
set -g _tide_prompt_var _tide_prompt_$fish_pid
2021-09-27 04:14:26 +03:00
set -U $_tide_prompt_var # So that if we erase $_tide_prompt_var, the bg job can't set a uvar
function _tide_refresh_prompt --on-variable $_tide_prompt_var
2021-10-01 20:52:44 +03:00
set -g _tide_repaint # prevents us from creating a second background job
commandline --function repaint
end
2021-12-09 20:03:36 +03:00
eval "
function fish_prompt
2021-12-08 20:09:13 +03:00
_tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint
2021-07-08 19:43:41 +03:00
jobs --query
2021-12-08 20:09:13 +03:00
fish --command \"set _tide_pipestatus \$_tide_pipestatus
_tide_jobs_status=\$status CMD_DURATION=\$CMD_DURATION COLUMNS=\$COLUMNS \
2021-12-08 20:21:12 +03:00
fish_bind_mode=\$fish_bind_mode set $_tide_prompt_var ($_tide_prompt_num_lines)\" &
2021-06-28 19:43:25 +03:00
builtin disown
2021-12-08 20:09:13 +03:00
command kill \$_tide_last_pid 2>/dev/null
set -g _tide_last_pid \$last_pid
end
2021-12-08 20:27:33 +03:00
string unescape $_tide_add_newline \$$_tide_prompt_var[1][2..]
end
2021-08-13 14:54:40 +03:00
function fish_right_prompt
2021-12-08 20:27:33 +03:00
string unescape \$$_tide_prompt_var[1][1]
2021-08-13 14:54:40 +03:00
end
function _tide_on_fish_exit --on-event fish_exit
2021-08-13 14:49:48 +03:00
set -e $_tide_prompt_var
2021-12-09 20:03:36 +03:00
end"
set -e _tide_prompt_var _tide_prompt_num_lines _tide_add_newline