Skip to content

Commit

Permalink
Show comment for command in preview window (#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
denisidoro authored Sep 29, 2019
1 parent a485030 commit 97329b9
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 25 deletions.
16 changes: 8 additions & 8 deletions cheats/brew.cheat
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,28 @@ brew update
# upgrade brew
brew upgrade

# brew info
# get info for a package
brew info <package>

# brew cask info
# get info for a cask
brew cask info <casks>

# brew install
# install a package
brew install <package>

# brew caks install
# install a cask
brew cask install <casks>

# brew uninstall
# uninstall a package
brew uninstall <installed>

# brew cask uninstall
# uninstall a cask
brew cask uninstall <caskinstalled>

# brew edit package
# edit package
brew edit <package>

# brew edit cask
# edit cask
brew cask edit <casks>

$ package: brew search
Expand Down
2 changes: 1 addition & 1 deletion navi
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ source "${SCRIPT_DIR}/src/main.sh"
##? full docs
##? Please refer to the README at https://github.com/denisidoro/navi

VERSION="0.10.2"
VERSION="0.10.3"
NAVI_ENV="${NAVI_ENV:-prod}"

opts::eval "$@"
Expand Down
21 changes: 9 additions & 12 deletions scripts/docker
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,15 @@ set -euo pipefail
debian="${1:-false}"

if $debian; then
docker run \
-it \
--entrypoint /bin/bash \
-v "$(pwd):/navi" \
debian \
-c 'apt update; apt install -y git curl; git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && yes | ~/.fzf/install; export PATH=$PATH:/navi; bash'
image="debian"
setup_cmd="apt update; apt install -y git curl;"
else
docker run \
-it \
--entrypoint /bin/bash \
-v "$(pwd):/navi" \
ellerbrock/alpine-bash-git \
-c 'git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && yes | ~/.fzf/install; export PATH=$PATH:/navi; bash'
image="ellerbrock/alpine-bash-git"
fi

docker run \
-it \
--entrypoint /bin/bash \
-v "$(pwd):/navi" \
"$image" \
-c "${setup_cmd:-}git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && yes | ~/.fzf/install; export PATH=$PATH:/navi; bash"
2 changes: 1 addition & 1 deletion src/dict.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ dict::assoc() {
local -r value="$(echo "${2:-}" | dict::_escape_value)"

shift 2
echo "$(echo "$input" | dict::dissoc "$key")${key}: ${value}\n" | dict::assoc "$@"
echo "$(echo "$input" | dict::dissoc "$key")${key}: ${value}\n" | dict::assoc "$@"
}

dict::get() {
Expand Down
2 changes: 1 addition & 1 deletion src/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,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 "$selection" "$cheat"
[ -n "$cheat" ] && selection::cmd_or_comment "$selection" "$cheat"
}

handler::help() {
Expand Down
14 changes: 12 additions & 2 deletions src/selection.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,27 @@ selection::core_is_comment() {
grep -qE '^#'
}

selection::cmd() {
selection::cmd_or_comment() {
local -r selection="$1"
local -r cheat="$2"
local -r always_cmd="${3:-false}"

local -r core="$(echo "$selection" | dict::get core)"

if echo "$core" | selection::core_is_comment; then
echo "$cheat" \
| grep "$core" -A999 \
| str::last_paragraph_line
else
elif $always_cmd; then
echo "$core"
else
echo "$cheat" \
| grep "^${core}$" -B999 \
| tac \
| str::last_paragraph_line
fi
}

selection::cmd() {
selection::cmd_or_comment "$@" true
}

0 comments on commit 97329b9

Please sign in to comment.