equal
deleted
inserted
replaced
77 (erase-buffer) |
77 (erase-buffer) |
78 (my/ag-mode)) |
78 (my/ag-mode)) |
79 (display-buffer my/ag-buffer)) |
79 (display-buffer my/ag-buffer)) |
80 |
80 |
81 (defun my/ag-run (regex) |
81 (defun my/ag-run (regex) |
82 (make-process |
82 (let ( (default-directory (buffer-local-value 'default-directory my/ag-buffer)) ) |
83 :name "ag" |
83 (make-process |
84 :buffer my/ag-buffer |
84 :name "ag" |
85 :filter 'my/ag-filter |
85 :buffer my/ag-buffer |
86 :command (list "ag" "--group" "--nocolor" regex))) |
86 :filter 'my/ag-filter |
|
87 :command (list "ag" "--group" "--nocolor" regex)))) |
|
88 |
|
89 (defun my/ag-project-root () |
|
90 (let ( (backend (vc-responsible-backend default-directory)) ) |
|
91 (if backend |
|
92 (condition-case err |
|
93 (vc-call-backend backend 'root default-directory) |
|
94 (vc-not-supported |
|
95 (unless (eq (cadr err) 'root) |
|
96 (signal (car err) (cdr err))) |
|
97 nil)) |
|
98 default-directory))) |
87 |
99 |
88 ;;;###autoload |
100 ;;;###autoload |
89 (defun my/ag (regex) |
101 (defun my/ag (regex) |
90 (interactive |
102 (interactive |
91 (let* ( (def (when my/ag-regex-history (car my/ag-regex-history))) |
103 (let* ( (def (when my/ag-regex-history (car my/ag-regex-history))) |
93 def |
105 def |
94 (concat (substring def 0 20) "...")))) ) |
106 (concat (substring def 0 20) "...")))) ) |
95 (list (read-string |
107 (list (read-string |
96 (if part (format "Regex [%s]: " part) "Regex: ") |
108 (if part (format "Regex [%s]: " part) "Regex: ") |
97 "" 'my/ag-regex-history def t)))) |
109 "" 'my/ag-regex-history def t)))) |
98 (my/ag-setup-buffer (if current-prefix-arg default-directory (or (ignore-errors (vc-root-dir)) default-directory))) |
110 (my/ag-setup-buffer (if current-prefix-arg default-directory (my/ag-project-root))) |
99 (my/ag-run regex)) |
111 (my/ag-run regex)) |
100 |
112 |
101 (provide 'ag) |
113 (provide 'ag) |
102 |
114 |
103 ;;; ag.el ends here |
115 ;;; ag.el ends here |