diff options
Diffstat (limited to 'lisp/ravi-init-function.el')
-rw-r--r-- | lisp/ravi-init-function.el | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/ravi-init-function.el b/lisp/ravi-init-function.el index ee85393..da87931 100644 --- a/lisp/ravi-init-function.el +++ b/lisp/ravi-init-function.el @@ -31,6 +31,24 @@ ;; Use emacsclient from other programs (unless (server-running-p) (server-start)) +;; Stolen from prelude +(defadvice server-visit-files (before parse-numbers-in-lines (files proc &optional nowait) activate) + "Open file with emacsclient with cursors positioned on requested line. +Most of console-based utilities prints filename in format +'filename:linenumber'. So you may wish to open filename in that format. +Just call: +emacsclient filename:linenumber +and file 'filename' will be opened and cursor set on line 'linenumber'" + (ad-set-arg 0 + (mapcar (lambda (fn) + (let ((name (car fn))) + (if (string-match "^\\(.*?\\):\\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?$" name) + (cons + (match-string 1 name) + (cons (string-to-number (match-string 2 name)) + (string-to-number (or (match-string 3 name) "")))) + fn))) files))) + ;; Combined launcher and toggle-maps (defun ravi/setup-toggle-launcher-map () (define-prefix-command 'ravi/toggle-launcher-map) |