You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xplr/src/config.yml

1315 lines
35 KiB
YAML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

version: v0.10.0-beta.1
layouts:
custom: {}
builtin:
default:
Horizontal:
config:
horizontal_margin: 0
vertical_margin: 0
constraints:
- Percentage: 70
- Percentage: 30
splits:
- Vertical:
config:
margin: 0
constraints:
- Length: 3
- Min: 1
- Length: 3
splits:
- SortAndFilter: ~
- Table: ~
- InputAndLogs: ~
- Vertical:
config:
constraints:
- Percentage: 50
- Percentage: 50
splits:
- Selection: ~
- HelpMenu: ~
no_help:
Horizontal:
config:
constraints:
- Percentage: 70
- Percentage: 30
splits:
- Vertical:
config:
constraints:
- Length: 3
- Min: 1
- Length: 3
splits:
- SortAndFilter: ~
- Table: ~
- InputAndLogs: ~
- Selection: ~
no_selection:
Horizontal:
config:
constraints:
- Percentage: 70
- Percentage: 30
splits:
- Vertical:
config:
constraints:
- Length: 3
- Min: 1
- Length: 3
splits:
- SortAndFilter: ~
- Table: ~
- InputAndLogs: ~
- HelpMenu: ~
no_help_no_selection:
Vertical:
config:
constraints:
- Length: 3
- Min: 1
- Length: 3
splits:
- SortAndFilter: ~
- Table: ~
- InputAndLogs: ~
general:
show_hidden: false
read_only: false
initial_layout: default
initial_mode: default
initial_sorting:
- sorter: ByCanonicalIsDir
reverse: true
- sorter: ByIRelativePath
reverse: false
prompt:
format: " "
cursor:
format:
logs:
info:
format: "INFO"
style:
fg: LightBlue
success:
format: "SUCCESS"
style:
fg: Green
warning:
format: "WARNING"
style:
fg: Yellow
error:
format: "ERROR"
style:
fg: Red
table:
header:
cols:
- format: ' index'
style:
fg: null
bg: null
add_modifiers: null
sub_modifiers: null
- format: '╭──── path'
- format: size
- format: type
style:
add_modifiers: [Bold]
height: 1
row:
cols:
- format: xplr.fn.builtin.fmt_general_table_row_cols_0
- format: xplr.fn.builtin.fmt_general_table_row_cols_1
- format: xplr.fn.builtin.fmt_general_table_row_cols_2
- format: xplr.fn.builtin.fmt_general_table_row_cols_3
height: 0
tree:
- format: ├─
- format: ├─
- format: ╰─
col_spacing: 1
col_widths:
- Percentage: 10
- Percentage: 50
- Percentage: 20
- Percentage: 20
default_ui:
prefix: ' '
suffix: ''
focus_ui:
prefix: ▸[
suffix: ']'
style:
fg: Blue
add_modifiers: [Bold]
selection_ui:
prefix: ' {'
suffix: '}'
style:
fg: LightGreen
add_modifiers: [Bold]
panel_ui:
default:
borders: [Top, Right, Bottom, Left]
sort_and_filter_ui:
separator:
format: " "
style:
add_modifiers: [Dim]
default_identifier:
style:
add_modifiers: [Bold]
sort_direction_identifiers:
forward:
format: "↓"
reverse:
format: "↑"
sorter_identifiers:
ByRelativePath:
format: "rel"
ByIRelativePath:
format: "[i]rel"
ByExtension:
format: "ext"
ByIsDir:
format: "dir"
ByIsFile:
format: "file"
ByIsSymlink:
format: "sym"
ByIsBroken:
format: ""
ByIsReadonly:
format: "ro"
ByMimeEssence:
format: "mime"
BySize:
format: "size"
ByCanonicalAbsolutePath:
format: "[c]abs"
ByICanonicalAbsolutePath:
format: "[ci]abs"
ByCanonicalExtension:
format: "[c]ext"
ByCanonicalIsDir:
format: "[c]dir"
ByCanonicalIsFile:
format: "[c]file"
ByCanonicalIsReadonly:
format: "[c]ro"
ByCanonicalMimeEssence:
format: "[c]mime"
ByCanonicalSize:
format: "[c]size"
BySymlinkAbsolutePath:
format: "[s]abs"
ByISymlinkAbsolutePath:
format: "[si]abs"
BySymlinkExtension:
format: "[s]ext"
BySymlinkIsDir:
format: "[s]dir"
BySymlinkIsFile:
format: "[s]file"
BySymlinkIsReadonly:
format: "[s]ro"
BySymlinkMimeEssence:
format: "[s]mime"
BySymlinkSize:
format: "[s]size"
filter_identifiers:
RelativePathIs:
format: "rel=="
IRelativePathIs:
format: "[i]rel=="
RelativePathIsNot:
format: "rel!="
IRelativePathIsNot:
format: "[i]rel!="
RelativePathDoesStartWith:
format: "rel=^"
IRelativePathDoesStartWith:
format: "[i]rel=^"
RelativePathDoesNotStartWith:
format: "rel!^"
IRelativePathDoesNotStartWith:
format: "[i]rel!^"
RelativePathDoesContain:
format: "rel=~"
IRelativePathDoesContain:
format: "[i]rel=~"
RelativePathDoesNotContain:
format: "rel!~"
IRelativePathDoesNotContain:
format: "[i]rel!~"
RelativePathDoesEndWith:
format: "rel=$"
IRelativePathDoesEndWith:
format: "[i]rel=$"
RelativePathDoesNotEndWith:
format: "rel!$"
IRelativePathDoesNotEndWith:
format: "[i]rel!$"
AbsolutePathIs:
format: "abs=="
IAbsolutePathIs:
format: "[i]abs=="
AbsolutePathIsNot:
format: "abs!="
IAbsolutePathIsNot:
format: "[i]abs!="
AbsolutePathDoesStartWith:
format: "abs=^"
IAbsolutePathDoesStartWith:
format: "[i]abs=^"
AbsolutePathDoesNotStartWith:
format: "abs!^"
IAbsolutePathDoesNotStartWith:
format: "[i]abs!^"
AbsolutePathDoesContain:
format: "abs=~"
IAbsolutePathDoesContain:
format: "[i]abs=~"
AbsolutePathDoesNotContain:
format: "abs!~"
IAbsolutePathDoesNotContain:
format: "[i]abs!~"
AbsolutePathDoesEndWith:
format: "abs=$"
IAbsolutePathDoesEndWith:
format: "[i]abs=$"
AbsolutePathDoesNotEndWith:
format: "abs!$"
IAbsolutePathDoesNotEndWith:
format: "[i]abs!$"
node_types:
directory:
style:
fg: Cyan
add_modifiers: [Bold]
meta:
icon: ð
file:
meta:
icon: ƒ
symlink:
style:
fg: Magenta
add_modifiers: [Italic]
meta:
icon: §
mime_essence: {}
extension: {}
special: {}
modes:
builtin:
selection_ops:
name: selection ops
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
c:
help: copy here
messages:
- BashExec: |
(while IFS= read -r line; do
if cp -vr -- "${line:?}" ./; then
echo LogSuccess: $line copied to $PWD >> "${XPLR_PIPE_MSG_IN:?}"
else
echo LogError: Failed to copy $line to $PWD >> "${XPLR_PIPE_MSG_IN:?}"
fi
done < "${XPLR_PIPE_SELECTION_OUT:?}")
echo ExplorePwdAsync >> "${XPLR_PIPE_MSG_IN:?}"
echo ClearSelection >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- PopMode
- Refresh
m:
help: move here
messages:
- BashExec: |
(while IFS= read -r line; do
if mv -v -- "${line:?}" ./; then
echo LogSuccess: $line moved to $PWD >> "${XPLR_PIPE_MSG_IN:?}"
else
echo LogError: Failed to move $line to $PWD >> "${XPLR_PIPE_MSG_IN:?}"
fi
done < "${XPLR_PIPE_SELECTION_OUT:?}")
echo ExplorePwdAsync >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- PopMode
- Refresh
x:
help: open in gui
messages:
- BashExecSilently: |
if [ -z "$OPENER" ]; then
if command -v xdg-open; then
OPENER=xdg-open
elif command -v open; then
OPENER=open
else
echo 'LogError: $OPENER not found' >> "${XPLR_PIPE_MSG_IN:?}"
exit 1
fi
fi
(while IFS= read -r line; do
$OPENER "${line:?}" > /dev/null 2>&1
done < "${XPLR_PIPE_RESULT_OUT:?}")
- ClearScreen
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
esc:
help: cancel
messages:
- PopMode
- Refresh
create_file:
name: create file
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
enter:
help: create file
messages:
- BashExecSilently: |
PTH="$XPLR_INPUT_BUFFER"
if [ "${PTH}" ]; then
touch -- "${PTH:?}" \
&& echo "SetInputBuffer: ''" >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo LogSuccess: $PTH created >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo ExplorePwd >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo FocusByFileName: "'"$PTH"'" >> "${XPLR_PIPE_MSG_IN:?}"
else
echo PopMode >> "${XPLR_PIPE_MSG_IN:?}"
echo Refresh >> "${XPLR_PIPE_MSG_IN:?}"
fi
backspace:
help: remove last character
messages:
- RemoveInputBufferLastCharacter
ctrl-w:
help: remove last word
messages:
- RemoveInputBufferLastWord
ctrl-u:
help: remove line
messages:
- SetInputBuffer: ""
esc:
help: cancel
messages:
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- BufferInputFromKey
create_directory:
name: create directory
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
enter:
help: create directory
messages:
- BashExecSilently: |
PTH="$XPLR_INPUT_BUFFER"
if [ "${PTH}" ]; then
mkdir -p -- "${PTH:?}" \
&& echo "SetInputBuffer: ''" >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo ExplorePwd >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo LogSuccess: $PTH created >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo FocusByFileName: "'"$PTH"'" >> "${XPLR_PIPE_MSG_IN:?}"
else
echo PopMode >> "${XPLR_PIPE_MSG_IN:?}"
echo Refresh >> "${XPLR_PIPE_MSG_IN:?}"
fi
backspace:
help: remove last character
messages:
- RemoveInputBufferLastCharacter
ctrl-w:
help: remove last word
messages:
- RemoveInputBufferLastWord
ctrl-u:
help: remove line
messages:
- SetInputBuffer: ""
esc:
help: cancel
messages:
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- BufferInputFromKey
create:
name: create
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
ctrl-c:
help: terminate
messages:
- Terminate
d:
help: create directory
messages:
- PopMode
- SwitchModeBuiltin: create directory
- SetInputBuffer: ''
f:
help: create file
messages:
- PopMode
- SwitchModeBuiltin: create file
- SetInputBuffer: ''
esc:
help: cancel
messages:
- PopMode
- Refresh
rename:
name: rename
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
enter:
help: rename
messages:
- BashExecSilently: |
SRC="${XPLR_FOCUS_PATH:?}"
TARGET="${XPLR_INPUT_BUFFER:?}"
mv -- "${SRC:?}" "${TARGET:?}" \
&& echo ExplorePwd >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo FocusByFileName: "'"$TARGET"'" >> "${XPLR_PIPE_MSG_IN:?}" \
&& echo LogSuccess: $SRC renamed to $TARGET >> "${XPLR_PIPE_MSG_IN:?}"
- PopMode
- Refresh
backspace:
help: remove last character
messages:
- RemoveInputBufferLastCharacter
ctrl-w:
help: remove last word
messages:
- RemoveInputBufferLastWord
ctrl-u:
help: remove line
messages:
- SetInputBuffer: ""
esc:
help: cancel
messages:
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- BufferInputFromKey
relative_path_does_not_contain:
name: relative path does not contain
key_bindings:
on_key:
backspace:
help: remove last character
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- RemoveInputBufferLastCharacter
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- ExplorePwdAsync
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- ExplorePwdAsync
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- ExplorePwdAsync
enter:
help: apply filter
messages:
- PopMode
- Refresh
esc:
help: cancel
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- PopMode
- ExplorePwdAsync
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- ExplorePwdAsync
relative_path_does_contain:
name: relative path does contain
key_bindings:
on_key:
backspace:
help: remove last character
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastCharacter
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
enter:
help: apply filter
messages:
- PopMode
- Refresh
esc:
help: cancel
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- PopMode
- ExplorePwdAsync
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
default:
help: null
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
filter:
name: filter
key_bindings:
remaps:
esc: enter
on_key:
backspace:
help: remove last filter
messages:
- RemoveLastNodeFilter
- ExplorePwdAsync
r:
help: relative does contain
messages:
- SwitchModeBuiltin: relative_path_does_contain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
R:
help: relative does not contain
messages:
- SwitchModeBuiltin: relative_path_does_not_contain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- ExplorePwdAsync
ctrl-r:
help: reset filters
messages:
- ResetNodeFilters
- ExplorePwdAsync
ctrl-u:
help: clear filters
messages:
- ClearNodeFilters
- ExplorePwdAsync
ctrl-c:
help: terminate
messages:
- Terminate
enter:
help: done
messages:
- PopMode
- Refresh
sort:
name: sort
help: null
extra_help: null
key_bindings:
remaps:
esc: enter
on_key:
backspace:
help: remove last sorter
messages:
- RemoveLastNodeSorter
- ExplorePwdAsync
'!':
help: reverse sorters
messages:
- ReverseNodeSorters
- ExplorePwdAsync
ctrl-r:
help: reset sorters
messages:
- ResetNodeSorters
- ExplorePwdAsync
ctrl-u:
help: clear sorters
messages:
- ClearNodeSorters
- ExplorePwdAsync
r:
help: by relative path
messages:
- AddNodeSorter:
sorter: ByIRelativePath
- ExplorePwdAsync
R:
help: by relative path reverse
messages:
- AddNodeSorter:
sorter: ByIRelativePath
reverse: true
- ExplorePwdAsync
e:
help: by canonical extension
messages:
- AddNodeSorter:
sorter: ByCanonicalExtension
- ExplorePwdAsync
E:
help: by canonical extension reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalExtension
reverse: true
- ExplorePwdAsync
n:
help: by node type
messages:
- AddNodeSorter:
sorter: ByCanonicalIsDir
- AddNodeSorter:
sorter: ByCanonicalIsFile
- AddNodeSorter:
sorter: ByIsSymlink
- ExplorePwdAsync
N:
help: by node type reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalIsDir
reverse: true
- AddNodeSorter:
sorter: ByCanonicalIsFile
reverse: true
- AddNodeSorter:
sorter: ByIsSymlink
reverse: true
- ExplorePwdAsync
m:
help: by canonical mime essence
messages:
- AddNodeSorter:
sorter: ByCanonicalMimeEssence
- ExplorePwdAsync
M:
help: by canonical mime essence reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalMimeEssence
reverse: true
- ExplorePwdAsync
s:
help: by size
messages:
- AddNodeSorter:
sorter: BySize
- ExplorePwdAsync
S:
help: by size reverse
messages:
- AddNodeSorter:
sorter: BySize
reverse: true
- ExplorePwdAsync
ctrl-c:
help: terminate
messages:
- Terminate
enter:
help: done
messages:
- PopMode
- Refresh
default:
name: default
help: null
extra_help: null
key_bindings:
remaps:
/: ctrl-f
h: left
j: down
k: up
l: right
v: space
V: ctrl-a
tab: ctrl-i
on_key:
'#':
help: null
messages:
- PrintAppStateAndQuit
s:
help: sort
messages:
- PopMode
- SwitchModeBuiltin: sort
- Refresh
f:
help: filter
messages:
- PopMode
- SwitchModeBuiltin: filter
- Refresh
.:
help: show hidden
messages:
- ToggleNodeFilter:
filter: RelativePathDoesNotStartWith
input: .
- ExplorePwdAsync
':':
help: action
messages:
- PopMode
- SwitchModeBuiltin: action
- Refresh
'?':
help: global help menu
messages:
- BashExec: |
[ -z "$PAGER" ] && PAGER="less -+F"
cat -- "${XPLR_PIPE_GLOBAL_HELP_MENU_OUT}" | ${PAGER:?}
'~':
help: go home
messages:
- BashExecSilently: |
echo ChangeDirectory: "'"${HOME:?}"'" >> "${XPLR_PIPE_MSG_IN:?}"
G:
help: go to bottom
messages:
- FocusLast
ctrl-c:
help: terminate
messages:
- Terminate
ctrl-f:
help: search
messages:
- PopMode
- SwitchModeBuiltin: search
- SetInputBuffer: ''
- ExplorePwdAsync
ctrl-w:
help: switch layout
messages:
- SwitchModeBuiltin: switch_layout
- Refresh
d:
help: delete
messages:
- PopMode
- SwitchModeBuiltin: delete
- Refresh
down:
help: down
messages:
- FocusNext
enter:
help: quit with result
messages:
- PrintResultAndQuit
g:
help: go to
messages:
- PopMode
- SwitchModeBuiltin: go_to
- Refresh
left:
help: back
messages:
- Back
r:
help: rename
messages:
- PopMode
- SwitchModeBuiltin: rename
- BashExecSilently: |
echo SetInputBuffer: "'"$(basename "${XPLR_FOCUS_PATH}")"'" >> "${XPLR_PIPE_MSG_IN:?}"
- Refresh
right:
help: enter
messages:
- Enter
space:
help: toggle selection
messages:
- ToggleSelection
- FocusNext
ctrl-a:
help: select/unselect all
messages:
- ToggleSelectAll
up:
help: up
messages:
- FocusPrevious
ctrl-o:
help: last visited path
messages:
- LastVisitedPath
ctrl-i: # Actually means tab
help: next visited path
messages:
- NextVisitedPath
ctrl-u:
help: clear selection
messages:
- ClearSelection
ctrl-r:
help: refresh screen
messages:
- ClearScreen
- Refresh
q:
help: quit
messages:
- Quit
esc:
messages: []
on_number:
help: input
messages:
- PopMode
- SwitchModeBuiltin: number
- BufferInputFromKey
recover:
name: recover
key_bindings:
on_key:
esc:
help: escape
messages:
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages: []
go_to:
name: go to
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
ctrl-c:
help: terminate
messages:
- Terminate
g:
help: top
messages:
- FocusFirst
- PopMode
- Refresh
f:
help: follow symlink
messages:
- FollowSymlink
- PopMode
- Refresh
x:
help: open in gui
messages:
- BashExecSilently: |
if [ -z "$OPENER" ]; then
if command -v xdg-open; then
OPENER=xdg-open
elif command -v open; then
OPENER=open
else
echo 'LogError: $OPENER not found' >> "${XPLR_PIPE_MSG_IN:?}"
exit 1
fi
fi
$OPENER "${XPLR_FOCUS_PATH:?}" > /dev/null 2>&1
- ClearScreen
- PopMode
- Refresh
esc:
help: cancel
messages:
- PopMode
- Refresh
number:
name: number
help: null
extra_help: null
key_bindings:
remaps:
j: down
k: up
on_key:
backspace:
help: remove last character
messages:
- RemoveInputBufferLastCharacter
ctrl-w:
help: remove last word
messages:
- RemoveInputBufferLastWord
ctrl-u:
help: remove line
messages:
- SetInputBuffer: ""
ctrl-c:
help: terminate
messages:
- Terminate
down:
help: to down
messages:
- FocusNextByRelativeIndexFromInput
- PopMode
- Refresh
enter:
help: to index
messages:
- FocusByIndexFromInput
- PopMode
- Refresh
up:
help: to up
messages:
- FocusPreviousByRelativeIndexFromInput
- PopMode
- Refresh
esc:
help: cancel
messages:
- PopMode
- Refresh
on_number:
help: input
messages:
- BufferInputFromKey
delete:
name: delete
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
d:
help: delete
messages:
- BashExec: |
(while IFS= read -r line; do
if [ -d "$line" ]; then
if rmdir -v -- "${line:?}"; then
echo LogSuccess: $line deleted >> "${XPLR_PIPE_MSG_IN:?}"
else
echo LogError: Failed to delete $line >> "${XPLR_PIPE_MSG_IN:?}"
fi
else
if rm -v -- "${line:?}"; then
echo LogSuccess: $line deleted >> "${XPLR_PIPE_MSG_IN:?}"
else
echo LogError: Failed to delete $line >> "${XPLR_PIPE_MSG_IN:?}"
fi
fi
done < "${XPLR_PIPE_RESULT_OUT:?}")
echo ExplorePwdAsync >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- PopMode
- Refresh
D:
help: force delete
messages:
- BashExec: |
(while IFS= read -r line; do
if rm -rfv -- "${line:?}"; then
echo LogSuccess: $line deleted >> "${XPLR_PIPE_MSG_IN:?}"
else
echo LogError: Failed to delete $line >> "${XPLR_PIPE_MSG_IN:?}"
fi
done < "${XPLR_PIPE_RESULT_OUT:?}")
echo ExplorePwdAsync >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
esc:
help: cancel
messages:
- PopMode
- Refresh
action:
name: action to
help: null
extra_help: null
key_bindings:
remaps: {}
on_number:
help: go to index
messages:
- PopMode
- SwitchModeBuiltin: number
- BufferInputFromKey
on_key:
"!":
help: shell
messages:
- Call:
command: bash
args:
- "-i"
- ExplorePwdAsync
- PopMode
- Refresh
c:
help: create
messages:
- PopMode
- SwitchModeBuiltin: create
- Refresh
e:
help: open in editor
messages:
- BashExec: |
${EDITOR:-vi} "${XPLR_FOCUS_PATH:?}"
- PopMode
- Refresh
s:
help: selection operations
messages:
- PopMode
- SwitchModeBuiltin: selection_ops
- Refresh
l:
help: logs
messages:
- BashExec: |
[ -z "$PAGER" ] && PAGER="less -+F"
cat -- "${XPLR_PIPE_LOGS_OUT}" | ${PAGER:?}
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
esc:
help: cancel
messages:
- PopMode
- Refresh
search:
name: search
help: null
extra_help: null
key_bindings:
remaps:
ctrl-n: down
ctrl-p: up
esc: enter
on_key:
tab:
help: toggle selection
messages:
- ToggleSelection
- FocusNext
backspace:
help: remove last character
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastCharacter
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
ctrl-c:
help: terminate
messages:
- Terminate
down:
help: down
messages:
- FocusNext
enter:
help: focus
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- PopMode
- ExplorePwdAsync
- Refresh
left:
help: back
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- Back
- SetInputBuffer: ''
- ExplorePwdAsync
right:
help: enter
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- Enter
- SetInputBuffer: ''
- ExplorePwdAsync
up:
help: up
messages:
- FocusPrevious
default:
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesContain
- ExplorePwdAsync
switch_layout:
name: switch layout
key_bindings:
on_key:
1:
help: default
messages:
- SwitchLayoutBuiltin: default
- PopMode
- Refresh
2:
help: no help menu
messages:
- SwitchLayoutBuiltin: no_help
- PopMode
- Refresh
3:
help: no selection panel
messages:
- SwitchLayoutBuiltin: no_selection
- PopMode
- Refresh
4:
help: no help or selection
messages:
- SwitchLayoutBuiltin: no_help_no_selection
- PopMode
- Refresh
ctrl-c:
help: terminate
messages:
- Terminate
esc:
help: cancel
messages:
- PopMode
- Refresh
custom: {}