-
-
Save usergenic/1233105 to your computer and use it in GitHub Desktop.
| #!/bin/bash | |
| # This file is for iTerm2 users. | |
| # | |
| # Put this file in /usr/local/bin/iterm-cmd-click-emacsclient | |
| # | |
| # You'll need to do the following at command line... | |
| # $ defaults write com.googlecode.iterm2 SemanticHistoryHandler /usr/local/bin/iterm-cmd-click-emacsclient | |
| emacsclient -e "(find-file \"$1\")" "(goto-line $2)" |
answer: different emacs
solution: https://coderwall.com/p/5hp1yg
Alternatively do this : (Tested with zsh.)
https://raw.githubusercontent.com/ocodo/.emacs.d/master/iterm-emacsclient
@jasonm23 that link is 404ing for me. Do you have an alternative link available?
@wpcarro I should update my notification settings for gist comments!
Create a script in ~/bin/iterm-emacsclient:
#!/bin/zsh --login
#
# Simple emacsclient wrapper for item2 "Semantic History" process running.
#
if [[ $1 == "+" ]]; then
# throw $1 out.
shift
fi
emacsclient -n $1 $2Make it executable:
chmod +x ~/bin/iterm-emacsclientIn iTerm2 Session preferences Advanced pane setup Semantic History as:
[Run command...]
Enter:
~/bin/iterm-emacsclient +\2 \1What does it do?
emacsclient accepts row number if prefixed with + e.g.
emacsclient -n +20 filenameThis'll open filename and move to line 20. -n stops emacsclient waiting for the buffer to close.
So when you click filename in iTerm, it'll call emacsclient -n filename
If the user clicks on filename:123, it'll call emacsclient -n +123 filename.
Note in the run command above, we call it with +\2 and \1. \2 is the row number, and \1 is the filename. When no row number is sent, the script has $1 as + so we shift it off, and $2 becomes $1, so we don't send emacsclient a stray + which will throw an error.
*ERROR*: Invalid -position command in client argsThat's detailed enough of a rundown, hopefully.
I have just tried this to no avail.
Even if I do it from the preferences and select "run command"