mirror of
https://github.com/powerline/powerline.git
synced 2025-07-25 14:54:54 +02:00
Merge pull request #1012 from ZyX-I/fish-vi-mode
Add fish vi mode support Closes #879 Fixes #878
This commit is contained in:
commit
cd9811806c
@ -33,6 +33,16 @@ function powerline-setup
|
|||||||
if test -z "$POWERLINE_COMMAND"
|
if test -z "$POWERLINE_COMMAND"
|
||||||
set -g POWERLINE_COMMAND (eval $POWERLINE_CONFIG shell command)
|
set -g POWERLINE_COMMAND (eval $POWERLINE_CONFIG shell command)
|
||||||
end
|
end
|
||||||
|
function --on-variable fish_bind_mode _powerline_bind_mode
|
||||||
|
set -g -x _POWERLINE_MODE $fish_bind_mode
|
||||||
|
end
|
||||||
|
function --on-variable fish_key_bindings _powerline_set_default_mode
|
||||||
|
if test x$fish_key_bindings != xfish_vi_key_bindings
|
||||||
|
set -g -x _POWERLINE_DEFAULT_MODE default
|
||||||
|
else
|
||||||
|
set -g -e _POWERLINE_DEFAULT_MODE
|
||||||
|
end
|
||||||
|
end
|
||||||
function --on-variable POWERLINE_COMMAND _powerline_update
|
function --on-variable POWERLINE_COMMAND _powerline_update
|
||||||
set -l addargs "--last_exit_code=\$status"
|
set -l addargs "--last_exit_code=\$status"
|
||||||
set -l addargs "$addargs --last_pipe_status=\$status"
|
set -l addargs "$addargs --last_pipe_status=\$status"
|
||||||
@ -67,6 +77,8 @@ function powerline-setup
|
|||||||
"
|
"
|
||||||
_powerline_set_columns
|
_powerline_set_columns
|
||||||
end
|
end
|
||||||
|
_powerline_bind_mode
|
||||||
|
_powerline_set_default_mode
|
||||||
_powerline_update
|
_powerline_update
|
||||||
end
|
end
|
||||||
if eval $POWERLINE_CONFIG shell --shell=fish uses tmux
|
if eval $POWERLINE_CONFIG shell --shell=fish uses tmux
|
||||||
|
@ -14,3 +14,22 @@
|
|||||||
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m(echo) [0;38;5;240;49;22m [0m
|
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m(echo) [0;38;5;240;49;22m [0m
|
||||||
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m$(echo) [0;38;5;240;49;22m [0m
|
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m$(echo) [0;38;5;240;49;22m [0m
|
||||||
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
[0;38;5;220;48;5;166m HOSTNAME [0;38;5;166;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;236;22m [0;38;5;250;48;5;236m BRANCH [0;38;5;236;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;231;48;5;31;1m USER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m DEFAULT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m DEFAULT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;31;22m [0;38;5;231;48;5;31;1mUSER [0;38;5;31;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240m3rd [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m`echo` [0;38;5;240;49;22m [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
[0;38;5;236;49;22m [0;38;5;250;48;5;236m BRANCH [0m
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
set fish_function_path "$PWD/powerline/bindings/fish" $fish_function_path
|
set fish_function_path "$PWD/powerline/bindings/fish" $fish_function_path
|
||||||
|
while jobs | grep fish_update_completions
|
||||||
|
sleep 1
|
||||||
|
end
|
||||||
powerline-setup
|
powerline-setup
|
||||||
set POWERLINE_COMMAND "$POWERLINE_COMMAND -p $PWD/powerline/config_files"
|
set POWERLINE_COMMAND "$POWERLINE_COMMAND -p $PWD/powerline/config_files"
|
||||||
set POWERLINE_COMMAND "$POWERLINE_COMMAND -t default_leftonly.segment_data.hostname.args.only_if_ssh=false"
|
set POWERLINE_COMMAND "$POWERLINE_COMMAND -t default_leftonly.segment_data.hostname.args.only_if_ssh=false"
|
||||||
@ -20,6 +23,9 @@ cd ../'#[bold]'
|
|||||||
cd ../'(echo)'
|
cd ../'(echo)'
|
||||||
cd ../'$(echo)'
|
cd ../'$(echo)'
|
||||||
cd ../'`echo`'
|
cd ../'`echo`'
|
||||||
|
set POWERLINE_COMMAND "$POWERLINE_COMMAND -c ext.shell.theme=default"
|
||||||
|
set -g fish_key_bindings fish_vi_key_bindings
|
||||||
|
ii
|
||||||
false
|
false
|
||||||
true is the last line
|
true is the last line
|
||||||
exit
|
exit
|
||||||
|
@ -41,12 +41,16 @@ with codecs.open(fname, 'r', encoding='utf-8') as R:
|
|||||||
if pid is not None:
|
if pid is not None:
|
||||||
line = line.replace(pid, 'PID')
|
line = line.replace(pid, 'PID')
|
||||||
if shell == 'fish':
|
if shell == 'fish':
|
||||||
|
res = ''
|
||||||
try:
|
try:
|
||||||
|
while line.index('\033[0;'):
|
||||||
start = line.index('\033[0;')
|
start = line.index('\033[0;')
|
||||||
end = line.index('\033[0m', start)
|
end = line.index('\033[0m', start)
|
||||||
line = line[start:end + 4] + '\n'
|
res += line[start:end + 4] + '\n'
|
||||||
|
line = line[end + 4:]
|
||||||
except ValueError:
|
except ValueError:
|
||||||
line = ''
|
pass
|
||||||
|
line = res
|
||||||
elif shell == 'tcsh':
|
elif shell == 'tcsh':
|
||||||
try:
|
try:
|
||||||
start = line.index('\033[0;')
|
start = line.index('\033[0;')
|
||||||
|
@ -7,9 +7,9 @@ if test "x$1" = "x--fast" ; then
|
|||||||
fi
|
fi
|
||||||
ONLY_SHELL="$1"
|
ONLY_SHELL="$1"
|
||||||
ONLY_TEST_TYPE="$2"
|
ONLY_TEST_TYPE="$2"
|
||||||
COMMAND_PATTERN="$3"
|
ONLY_TEST_CLIENT="$3"
|
||||||
|
|
||||||
if ! test -z "$ONLY_SHELL$ONLY_TEST_TYPE$COMMAND_PATTERN" ; then
|
if ! test -z "$ONLY_SHELL$ONLY_TEST_TYPE$ONLY_TEST_CLIENT" ; then
|
||||||
FAST=
|
FAST=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -18,11 +18,11 @@ export PYTHON
|
|||||||
if test "x$ONLY_SHELL" = "x--help" ; then
|
if test "x$ONLY_SHELL" = "x--help" ; then
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Usage:
|
Usage:
|
||||||
$0 [[[ONLY_SHELL | ""] (ONLY_TEST_TYPE | "")] (COMMAND_PATTERN | "")]
|
$0 [[[ONLY_SHELL | ""] (ONLY_TEST_TYPE | "")] (ONLY_TEST_CLIENT | "")]
|
||||||
|
|
||||||
ONLY_SHELL: execute only tests for given shell
|
ONLY_SHELL: execute only tests for given shell
|
||||||
ONLY_TEST_TYPE: execute only "daemon" or "nodaemon" tests
|
ONLY_TEST_TYPE: execute only "daemon" or "nodaemon" tests
|
||||||
COMMAND_PATTERN: use only commands that match given pattern for testing
|
ONLY_TEST_CLIENT: use only given test client (one of C, python, render, shell)
|
||||||
EOF
|
EOF
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@ -174,6 +174,8 @@ mkdir tests/shell/3rd/'$(echo)'
|
|||||||
mkdir tests/shell/3rd/'`echo`'
|
mkdir tests/shell/3rd/'`echo`'
|
||||||
|
|
||||||
mkdir tests/shell/fish_home
|
mkdir tests/shell/fish_home
|
||||||
|
mkdir tests/shell/fish_home/fish
|
||||||
|
mkdir tests/shell/fish_home/fish/generated_completions
|
||||||
cp -r tests/test_shells/ipython_home tests/shell
|
cp -r tests/test_shells/ipython_home tests/shell
|
||||||
|
|
||||||
mkdir tests/shell/path
|
mkdir tests/shell/path
|
||||||
@ -276,9 +278,7 @@ if test -z "${ONLY_SHELL}" || test "x${ONLY_SHELL%sh}" != "x${ONLY_SHELL}" || te
|
|||||||
if test "$TEST_CLIENT" = "shell" && ! which socat >/dev/null ; then
|
if test "$TEST_CLIENT" = "shell" && ! which socat >/dev/null ; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if test "x$COMMAND_PATTERN" != "x" && ! (
|
if test "x$ONLY_TEST_CLIENT" != "x" && test "x$TEST_CLIENT" != "x$ONLY_TEST_CLIENT" ; then
|
||||||
echo "$POWERLINE_COMMAND" | grep -e"$COMMAND_PATTERN" &>/dev/null)
|
|
||||||
then
|
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
POWERLINE_COMMAND="$POWERLINE_COMMAND --socket $ADDRESS"
|
POWERLINE_COMMAND="$POWERLINE_COMMAND --socket $ADDRESS"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user