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

1267 lines
34 KiB
YAML

version: v0.7.2
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
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: '{{#if isBeforeFocus}}-{{else}} {{/if}}{{{relativeIndex}}}│{{{index}}}'
- format: >
{{{tree}}}{{{prefix}}}{{{meta.icon}}}{{#if (ne meta.icon "")}} {{/if}}{{{relativePath}}}{{#if isDir}}/{{/if}}{{{suffix}}}
{{#if isSymlink}}-> {{#if isBroken}}×{{else}}{{{symlink.absolutePath}}}{{/if}}{{#if symlink.isDir}}/{{/if}}{{/if}}
- format: '{{#unless isDir}}{{humansize size}}{{/unless}}'
- format: '{{#if isSymlink}}{{{symlink.mimeEssence}}}{{else}}{{{mimeEssence}}}{{/if}}'
height: 0
tree:
- format: ├─
- format: ├─
- format: ╰─
col_spacing: 0
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 Explore >> "${XPLR_PIPE_MSG_IN:?}"
echo ClearSelection >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- SwitchModeBuiltin: default
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 Explore >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- SwitchModeBuiltin: default
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchModeBuiltin: default
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 touch -- "${PTH:?}"; then
echo Explore >> "${XPLR_PIPE_MSG_IN:?}"
echo "LogSuccess: $PTH created" >> "${XPLR_PIPE_MSG_IN:?}"
echo "FocusPath: $PTH" >> "${XPLR_PIPE_MSG_IN:?}"
else
echo "LogError: Failed to create $PTH" >> "${XPLR_PIPE_MSG_IN:?}"
echo Refresh >> "${XPLR_PIPE_MSG_IN:?}"
fi
- SwitchModeBuiltin: default
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:
- SwitchModeBuiltin: default
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 mkdir -p -- "${PTH:?}"; then
echo Explore >> "${XPLR_PIPE_MSG_IN:?}"
echo "LogSuccess: $PTH created" >> "${XPLR_PIPE_MSG_IN:?}"
echo "FocusPath: $PTH" >> "${XPLR_PIPE_MSG_IN:?}"
else
echo "LogError: Failed to create $PTH" >> "${XPLR_PIPE_MSG_IN:?}"
echo Refresh >> "${XPLR_PIPE_MSG_IN:?}"
fi
- SwitchModeBuiltin: default
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:
- SwitchModeBuiltin: default
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:
- SwitchModeBuiltin: create directory
- SetInputBuffer: ''
esc:
help: cancel
messages:
- SwitchModeBuiltin: default
f:
help: create file
messages:
- SwitchModeBuiltin: create file
- SetInputBuffer: ''
on_alphabet: null
on_number: null
on_special_character: null
default:
help: null
messages:
- SwitchModeBuiltin: default
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:?}"
if mv -v -- "${SRC:?}" "${TARGET:?}"; then
echo Explore >> "${XPLR_PIPE_MSG_IN:?}"
echo "LogSuccess: $SRC renamed to $TARGET" >> "${XPLR_PIPE_MSG_IN:?}"
echo "FocusPath: $TARGET" >> "${XPLR_PIPE_MSG_IN:?}"
else
echo "LogError: Failed to rename $SRC to $TARGET" >> "${XPLR_PIPE_MSG_IN:?}"
fi
- SwitchModeBuiltin: default
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:
- SwitchModeBuiltin: default
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
- Explore
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- Explore
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- Explore
enter:
help: apply filter
messages:
- SwitchModeBuiltin: default
esc:
help: cancel
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- SwitchModeBuiltin: default
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesNotContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- Explore
relative_path_does_contain:
name: relative path does contain
key_bindings:
on_key:
backspace:
help: remove last character
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastCharacter
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
enter:
help: apply filter
messages:
- SwitchModeBuiltin: default
esc:
help: cancel
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SwitchModeBuiltin: default
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
default:
help: null
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
filter:
name: filter
key_bindings:
on_key:
backspace:
help: remove last filter
messages:
- RemoveLastNodeFilter
- Explore
r:
help: relative does contain
messages:
- SwitchModeBuiltin: relative_path_does_contain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
R:
help: relative does not contain
messages:
- SwitchModeBuiltin: relative_path_does_not_contain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesNotContain
- Explore
ctrl-r:
help: reset filters
messages:
- ResetNodeFilters
- Explore
ctrl-u:
help: clear filters
messages:
- ClearNodeFilters
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchModeBuiltin: default
sort:
name: sort
help: null
extra_help: null
key_bindings:
remaps: {}
on_key:
backspace:
help: remove last sorter
messages:
- RemoveLastNodeSorter
- Explore
'!':
help: reverse sorters
messages:
- ReverseNodeSorters
- Explore
ctrl-r:
help: reset sorters
messages:
- ResetNodeSorters
- Explore
ctrl-u:
help: clear sorters
messages:
- ClearNodeSorters
- Explore
r:
help: by relative path
messages:
- AddNodeSorter:
sorter: ByIRelativePath
- Explore
R:
help: by relative path reverse
messages:
- AddNodeSorter:
sorter: ByIRelativePath
reverse: true
- Explore
e:
help: by canonical extension
messages:
- AddNodeSorter:
sorter: ByCanonicalExtension
- Explore
E:
help: by canonical extension reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalExtension
reverse: true
- Explore
n:
help: by node type
messages:
- AddNodeSorter:
sorter: ByCanonicalIsDir
- AddNodeSorter:
sorter: ByCanonicalIsFile
- AddNodeSorter:
sorter: ByIsSymlink
- Explore
N:
help: by node type reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalIsDir
reverse: true
- AddNodeSorter:
sorter: ByCanonicalIsFile
reverse: true
- AddNodeSorter:
sorter: ByIsSymlink
reverse: true
- Explore
m:
help: by canonical mime essence
messages:
- AddNodeSorter:
sorter: ByCanonicalMimeEssence
- Explore
M:
help: by canonical mime essence reverse
messages:
- AddNodeSorter:
sorter: ByCanonicalMimeEssence
reverse: true
- Explore
s:
help: by size
messages:
- AddNodeSorter:
sorter: BySize
- Explore
S:
help: by size reverse
messages:
- AddNodeSorter:
sorter: BySize
reverse: true
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchModeBuiltin: default
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:
- SwitchModeBuiltin: sort
f:
help: filter
messages:
- SwitchModeBuiltin: filter
.:
help: show hidden
messages:
- ToggleNodeFilter:
filter: RelativePathDoesNotStartWith
input: .
- Explore
':':
help: action
messages:
- SwitchModeBuiltin: action
'?':
help: global help menu
messages:
- BashExec: |
cat -- "${XPLR_PIPE_GLOBAL_HELP_MENU_OUT}" | ${PAGER:-less}
'~':
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:
- SwitchModeBuiltin: search
- SetInputBuffer: ''
- Explore
ctrl-w:
help: switch layout
messages:
- SwitchModeBuiltin: switch_layout
d:
help: delete
messages:
- SwitchModeBuiltin: delete
down:
help: down
messages:
- FocusNext
enter:
help: quit with result
messages:
- PrintResultAndQuit
g:
help: go to
messages:
- SwitchModeBuiltin: go to
left:
help: back
messages:
- Back
r:
help: rename
messages:
- SwitchModeBuiltin: rename
- BashExecSilently: |
echo "SetInputBuffer: $(basename ${XPLR_FOCUS_PATH})" >> "${XPLR_PIPE_MSG_IN:?}"
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
on_alphabet: null
on_number:
help: input
messages:
- ResetInputBuffer
- SwitchModeBuiltin: number
- BufferInputFromKey
on_special_character: null
default:
help: null
messages:
- SwitchModeBuiltin: default
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
- SwitchModeBuiltin: default
f:
help: follow symlink
messages:
- FollowSymlink
- SwitchModeBuiltin: default
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 &
- SwitchModeBuiltin: default
- ClearScreen
- Refresh
on_alphabet: null
on_number: null
on_special_character: null
default:
help: null
messages:
- SwitchModeBuiltin: default
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
- SwitchModeBuiltin: default
enter:
help: to index
messages:
- FocusByIndexFromInput
- SwitchModeBuiltin: default
up:
help: to up
messages:
- FocusPreviousByRelativeIndexFromInput
- SwitchModeBuiltin: default
on_alphabet: null
on_number:
help: input
messages:
- BufferInputFromKey
on_special_character: null
default:
help: null
messages:
- SwitchModeBuiltin: default
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 "FocusNext" >> "${XPLR_PIPE_MSG_IN:?}"
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 Explore >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- SwitchModeBuiltin: default
D:
help: force delete
messages:
- BashExec: |
(while IFS= read -r line; do
if rm -rfv -- "${line:?}"; then
echo "FocusNext" >> "${XPLR_PIPE_MSG_IN:?}"
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 Explore >> "${XPLR_PIPE_MSG_IN:?}"
read -p "[enter to continue]"
- SwitchModeBuiltin: default
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchModeBuiltin: default
action:
name: action to
help: null
extra_help: null
key_bindings:
remaps: {}
on_number:
help: go to index
messages:
- ResetInputBuffer
- SwitchModeBuiltin: number
- BufferInputFromKey
on_key:
"!":
help: shell
messages:
- Call:
command: bash
args:
- "-i"
- Explore
- SwitchModeBuiltin: default
c:
help: create
messages:
- SwitchModeBuiltin: create
e:
help: open in editor
messages:
- BashExec: |
${EDITOR:-vi} -- "${XPLR_FOCUS_PATH:?}"
- SwitchModeBuiltin: default
s:
help: selection operations
messages:
- SwitchModeBuiltin: selection_ops
l:
help: logs
messages:
- BashExec: |
cat -- "${XPLR_PIPE_LOGS_OUT}" | ${PAGER:-less}
- SwitchModeBuiltin: default
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchModeBuiltin: default
search:
name: search
help: null
extra_help: null
key_bindings:
remaps:
ctrl-n: down
ctrl-p: up
on_key:
tab:
help: toggle selection
messages:
- ToggleSelection
- FocusNext
backspace:
help: remove last character
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastCharacter
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
ctrl-w:
help: remove last word
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- RemoveInputBufferLastWord
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
ctrl-u:
help: remove line
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SetInputBuffer: ""
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
ctrl-c:
help: terminate
messages:
- Terminate
down:
help: down
messages:
- FocusNext
enter:
help: focus
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SwitchModeBuiltin: default
- Explore
esc:
help: cancel
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- SwitchModeBuiltin: default
- Explore
left:
help: back
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- Back
- SetInputBuffer: ''
- Explore
right:
help: enter
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- Enter
- SetInputBuffer: ''
- Explore
up:
help: up
messages:
- FocusPrevious
on_alphabet: null
on_number: null
on_special_character: null
default:
help: null
messages:
- RemoveNodeFilterFromInput: IRelativePathDoesContain
- BufferInputFromKey
- AddNodeFilterFromInput: IRelativePathDoesContain
- Explore
switch_layout:
name: switch layout
help: null
extra_help: null
key_bindings:
on_key:
1:
help: default
messages:
- SwitchLayoutBuiltin: default
- SwitchMode: default
2:
help: no help menu
messages:
- SwitchLayoutBuiltin: no_help
- SwitchMode: default
3:
help: no selection panel
messages:
- SwitchLayoutBuiltin: no_selection
- SwitchMode: default
4:
help: no help or selection
messages:
- SwitchLayoutBuiltin: no_help_no_selection
- SwitchMode: default
ctrl-c:
help: terminate
messages:
- Terminate
default:
messages:
- SwitchMode: default
custom: {}