From 9f0417b587ac6cec7343e287c12886adc459e01c Mon Sep 17 00:00:00 2001 From: Owen Richardson Date: Fri, 13 Nov 2015 06:06:35 +0000 Subject: make alt-L output respect multi-line prompts Fixes #718 --- share/functions/__fish_list_current_token.fish | 42 ++++++++++++++------------ 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'share/functions/__fish_list_current_token.fish') diff --git a/share/functions/__fish_list_current_token.fish b/share/functions/__fish_list_current_token.fish index a88978cc..0a0f2dab 100644 --- a/share/functions/__fish_list_current_token.fish +++ b/share/functions/__fish_list_current_token.fish @@ -1,22 +1,26 @@ - -# -# This function is bound to Alt-L, it is used to list the contents of -# the directory under the cursor -# +# This function is typically bound to Alt-L, it is used to list the contents +# of the directory under the cursor. function __fish_list_current_token -d "List contents of token under the cursor if it is a directory, otherwise list the contents of the current directory" - set val (eval echo (commandline -t)) - printf "\n" - if test -d $val - ls $val - else - set dir (dirname $val) - if test $dir != . -a -d $dir - ls $dir - else - ls - end - end - commandline -f repaint -end + set val (eval echo (commandline -t)) + printf "\n" + if test -d $val + ls $val + else + set dir (dirname $val) + if test $dir != . -a -d $dir + ls $dir + else + ls + end + end + set -l line_count (count (fish_prompt)) + if test $line_count -gt 1 + for x in (seq 2 $line_count) + printf "\n" + end + end + + commandline -f repaint +end -- cgit v1.2.3