Skip to content

Commit

Permalink
Correctly escape backslashes (#132)
Browse files Browse the repository at this point in the history
  • Loading branch information
denisidoro authored Oct 18, 2019
1 parent 4a67ff5 commit bcf3f35
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion navi
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ source "${NAVI_HOME}/src/main.sh"
##? full docs
##? Please refer to the README at https://github.com/denisidoro/navi

VERSION="0.14.1"
VERSION="0.14.2"
NAVI_ENV="${NAVI_ENV:-prod}"

opts::eval "$@"
Expand Down
10 changes: 9 additions & 1 deletion src/cmd.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
#!/usr/bin/env bash

cmd::escape() {
tr '\\' "$ESCAPE_CHAR_3"
}

cmd::unescape() {
tr "$ESCAPE_CHAR_3" '\\'
}

cmd::loop() {
local -r cmd="$1"
local -r cheat="$2"
Expand Down Expand Up @@ -28,7 +36,7 @@ cmd::loop() {
}

cmd::finish() {
local -r cmd="$1"
local -r cmd="$(echo "$1" | cmd::unescape)"

local -r unresolved_arg="$(echo "$cmd" | arg::next)"

Expand Down
2 changes: 1 addition & 1 deletion src/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ handler::preview() {
local -r selection="$(echo "$query" | selection::dict)"
local -r cheats="$(cheat::memoized_read_all)"
local -r cheat="$(cheat::from_selection "$cheats" "$selection")"
[ -n "$cheat" ] && selection::cmd_or_comment "$selection" "$cheat"
[ -n "$cheat" ] && selection::cmd_or_comment "$selection" "$cheat" | cmd::unescape
}

handler::help() {
Expand Down
6 changes: 4 additions & 2 deletions src/selection.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,16 @@ selection::cmd_or_comment() {
if echo "$core" | selection::core_is_comment; then
echo "$cheat" \
| grep "$core" -A999 \
| str::last_paragraph_line
| str::last_paragraph_line \
| cmd::escape
elif $always_cmd; then
echo "$core"
else
echo "$cheat" \
| grep "^${core}$" -B999 \
| str::reverse_lines \
| str::last_paragraph_line
| str::last_paragraph_line \
| cmd::escape
fi
}

Expand Down

0 comments on commit bcf3f35

Please sign in to comment.