add jump to path function
This commit is contained in:
@@ -894,7 +894,7 @@ do_help() {
|
|||||||
bw=$((COLS - 4))
|
bw=$((COLS - 4))
|
||||||
[ "$bw" -gt 52 ] && bw=52
|
[ "$bw" -gt 52 ] && bw=52
|
||||||
[ "$bw" -lt 36 ] && bw=36
|
[ "$bw" -lt 36 ] && bw=36
|
||||||
bh=44
|
bh=45
|
||||||
_help_bx=$(( (COLS - bw) / 2 )); [ "$_help_bx" -lt 1 ] && _help_bx=1
|
_help_bx=$(( (COLS - bw) / 2 )); [ "$_help_bx" -lt 1 ] && _help_bx=1
|
||||||
_help_by=$(( (ROWS - bh) / 2 )); [ "$_help_by" -lt 1 ] && _help_by=1
|
_help_by=$(( (ROWS - bh) / 2 )); [ "$_help_by" -lt 1 ] && _help_by=1
|
||||||
_help_iw=$((bw - 2))
|
_help_iw=$((bw - 2))
|
||||||
@@ -940,11 +940,12 @@ do_help() {
|
|||||||
help_row 35 " c copy path to clipboard"
|
help_row 35 " c copy path to clipboard"
|
||||||
help_row 36 " ~ go to home directory"
|
help_row 36 " ~ go to home directory"
|
||||||
help_row 37 " \` jump to previous directory"
|
help_row 37 " \` jump to previous directory"
|
||||||
help_sep 38
|
help_row 38 " : jump to path"
|
||||||
help_row 39 " q quit"
|
help_sep 39
|
||||||
help_row 40 " ? this help"
|
help_row 40 " q quit"
|
||||||
help_row 41 ""
|
help_row 41 " ? this help"
|
||||||
help_row 42 " press any key to close..."
|
help_row 42 ""
|
||||||
|
help_row 43 " press any key to close..."
|
||||||
|
|
||||||
goto "$(( _help_by + bh ))" "$_help_bx"
|
goto "$(( _help_by + bh ))" "$_help_bx"
|
||||||
printf '%s+%s+%s' "${BOLD}${CYAN}" "$_help_hl" "${RESET}"
|
printf '%s+%s+%s' "${BOLD}${CYAN}" "$_help_hl" "${RESET}"
|
||||||
@@ -1025,6 +1026,29 @@ do_toggle_preview() {
|
|||||||
NEED_FULL_REDRAW=1
|
NEED_FULL_REDRAW=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_jump_path() {
|
||||||
|
goto "$(term_rows)" 1
|
||||||
|
printf '%s%s jump to: %s' "${ERASE_LINE}" "${CYAN}${BOLD}" "${RESET}"
|
||||||
|
if read_line && [ -n "$READ_LINE" ]; then
|
||||||
|
# expand ~ manually
|
||||||
|
case "$READ_LINE" in
|
||||||
|
"~"*) READ_LINE="${HOME}${READ_LINE#\~}" ;;
|
||||||
|
esac
|
||||||
|
if [ -d "$READ_LINE" ]; then
|
||||||
|
PREV_CWD="$CWD"
|
||||||
|
CWD="$READ_LINE"; norm_cwd
|
||||||
|
FILTER=""; SELECTED=""
|
||||||
|
SEL=0; OFFSET=0; PREV_SEL=0; PREV_OFFSET=0
|
||||||
|
load_entries
|
||||||
|
else
|
||||||
|
INFO_MSG="not found: ${READ_LINE}"
|
||||||
|
NEED_FULL_REDRAW=1; draw
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
NEED_FULL_REDRAW=1; draw
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
do_go_back() {
|
do_go_back() {
|
||||||
[ "$CWD" = "/" ] && return
|
[ "$CWD" = "/" ] && return
|
||||||
FILTER=""
|
FILTER=""
|
||||||
@@ -1558,7 +1582,7 @@ while true; do
|
|||||||
s) do_sort ;;
|
s) do_sort ;;
|
||||||
u) do_trash ;;
|
u) do_trash ;;
|
||||||
U) do_open_trash ;;
|
U) do_open_trash ;;
|
||||||
'`') do_jump_back ;;
|
':') do_jump_path ;;
|
||||||
'~') PREV_CWD="$CWD"; CWD=$(cd "$HOME" && pwd); FILTER=""; SELECTED=""
|
'~') PREV_CWD="$CWD"; CWD=$(cd "$HOME" && pwd); FILTER=""; SELECTED=""
|
||||||
SEL=0; OFFSET=0; PREV_SEL=0; PREV_OFFSET=0; load_entries ;;
|
SEL=0; OFFSET=0; PREV_SEL=0; PREV_OFFSET=0; load_entries ;;
|
||||||
c) do_copy_path ;;
|
c) do_copy_path ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user