From 71b20680a960dd0c524dc8cab8bad7a4329a54f1 Mon Sep 17 00:00:00 2001 From: William Carroll Date: Mon, 16 Jul 2018 18:26:32 -0400 Subject: [PATCH] Resolve tmux and realpath aliases Falsely concluded that these aliases wouldn't work in sub-shells. After a second look, resolved the issues. This is preferable! --- emacs.d/open-from-iterm.sh | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/emacs.d/open-from-iterm.sh b/emacs.d/open-from-iterm.sh index e8857a1af..cf7d7a2ed 100755 --- a/emacs.d/open-from-iterm.sh +++ b/emacs.d/open-from-iterm.sh @@ -3,36 +3,35 @@ # To set this up, open iTerm2 -> Preferences -> Profiles -> Advanced # In the "Semantic History" section, choose "Always run command..." from the # dropdown and set the input text to: -# `~/dotfiles/emacs.d/open-from-iterm.sh \1 \2` +# `~/dotfiles/emacs.d/open-from-iterm.sh \1` -# NOTE: need to get $PATH set in here -# NOTE: these don't get forwarded into subshells -# # Alias applications since $PATH is unavailable +# Alias applications since $PATH is unavailable emacs=/usr/local/bin/emacsclient grep=/usr/local/bin/ggrep -# tmux=/usr/local/bin/tmux -# realpath=/Users/wpcarro/.nix-profile/bin/realpath - +tmux=/usr/local/bin/tmux +realpath=/Users/wpcarro/.nix-profile/bin/realpath e() { # Useful debugger when paired with `tail -f /tmp/debug.log` echo "$@" >>/tmp/debug.log } -# Need to use tmux here since \5 doesn't work as expected with Tmux. -pwd=$(/usr/local/bin/tmux display -pF '#{pane_current_path}') +# Need to query Tmux since iTerm's \5 variable doesn't work as expected with +# Tmux. +pwd=$($tmux display -pF '#{pane_current_path}') cd "$pwd" || exit -path=$(/Users/wpcarro/.nix-profile/bin/realpath "$1") +path=$($realpath "$1") # This is a bit of a hack, but we cannot rely on iTerm to regex our paths file=$($grep -P -o '^[^:]+' <<<"$path") number=$($grep -P -o '(?<=:)[0-9]+(?=:[0-9]+:$)' <<<"$path") +# Debugging e "file: $file" e "number: $number" -$emacs -n -e "(find-file \"$file\")" - if ! [ -z "$number" ]; then - $emacs -n -e "(goto-line $number)" + $emacs -n -e "(find-file \"$file\")" "(goto-line $number)" +else + $emacs -n -e "(find-file \"$file\")" fi