mirror of
https://github.com/denisidoro/navi.git
synced 2024-09-19 22:37:16 +03:00
parent
303f9f67d1
commit
00a2d2b91e
13
src/arg.sh
13
src/arg.sh
@ -2,6 +2,7 @@
|
||||
|
||||
ARG_REGEX="<[0-9a-zA-Z_]+>"
|
||||
ARG_DELIMITER="\f"
|
||||
ARG_DELIMITER_2="\v"
|
||||
|
||||
arg::dict() {
|
||||
local -r input="$(cat | sed 's/\\n/\\f/g')"
|
||||
@ -27,15 +28,9 @@ arg::next() {
|
||||
}
|
||||
|
||||
arg::deserialize() {
|
||||
local -r arg="$1"
|
||||
|
||||
if [ ${arg:0:1} = "'" ]; then
|
||||
local -r out="$(echo "${arg:1:${#arg}-2}")"
|
||||
else
|
||||
local -r out="$arg"
|
||||
fi
|
||||
|
||||
echo "$out" | tr "${ARG_DELIMITER}" " "
|
||||
local arg="$1"
|
||||
arg="${arg:1:${#arg}-2}"
|
||||
echo "$arg" | tr "${ARG_DELIMITER}" " " | tr "${ARG_DELIMITER_2}" "'"
|
||||
}
|
||||
|
||||
# TODO: separation of concerns
|
||||
|
@ -19,7 +19,7 @@ ui::select() {
|
||||
local -r cheats="$1"
|
||||
|
||||
local -r script_path="${SCRIPT_DIR}/navi"
|
||||
local -r preview_cmd="echo \"{}\" | tr ' ' '${ARG_DELIMITER}' | xargs -I% \"${script_path}\" preview %"
|
||||
local -r preview_cmd="echo \'{}\' | tr \"'\" '${ARG_DELIMITER_2}' | tr ' ' '${ARG_DELIMITER}' | xargs -I% \"${script_path}\" preview %"
|
||||
|
||||
local -r query="$(dict::get "$OPTIONS" query)"
|
||||
local -r entry_point="$(dict::get "$OPTIONS" entry_point)"
|
||||
|
Loading…
Reference in New Issue
Block a user