summaryrefslogtreecommitdiffstats
path: root/lisp/ravi-init-function.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ravi-init-function.el')
-rw-r--r--lisp/ravi-init-function.el18
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)