ag.el
changeset 1501 636e49ed6d27
parent 1498 e8ad022540d4
child 1502 72c63cea35d3
equal deleted inserted replaced
1500:6401d60fd71e 1501:636e49ed6d27
    39 (defface my/ag-path-face
    39 (defface my/ag-path-face
    40   '((t :inherit success))
    40   '((t :inherit success))
    41   "Face for line number.")
    41   "Face for line number.")
    42 
    42 
    43 (defvar my/ag-keywords
    43 (defvar my/ag-keywords
    44   '(("[1-9][0-9]\\{0,5\\}:" . (0 'my/ag-lineno-face))
    44   '(("^[1-9][0-9]\\{0,5\\}:" . (0 'my/ag-lineno-face))
    45     ("^[^:]\\{6\\}.*" . (0 'my/ag-path-face))))
    45     ("^[^:]\\{6\\}.*" . (0 'my/ag-path-face))))
    46 
    46 
    47 (defun my/ag-font-lock-extend-region ()
    47 (defun my/ag-font-lock-extend-region ()
    48   (save-excursion
    48   (save-excursion
    49     (goto-char font-lock-beg)
    49     (goto-char font-lock-beg)
    85      :buffer my/ag-buffer
    85      :buffer my/ag-buffer
    86      :filter 'my/ag-filter
    86      :filter 'my/ag-filter
    87      :command (list "ag" "--group" "--nocolor" regex))))
    87      :command (list "ag" "--group" "--nocolor" regex))))
    88 
    88 
    89 (defun my/ag-project-root ()
    89 (defun my/ag-project-root ()
    90   (let ( (backend (vc-responsible-backend default-directory)) )
    90   (condition-case err
    91     (if backend
    91       (let ( backend )
    92         (condition-case err
    92         (setq backend (vc-responsible-backend default-directory))
       
    93         (if backend
    93             (vc-call-backend backend 'root default-directory)
    94             (vc-call-backend backend 'root default-directory)
    94           (vc-not-supported
    95           default-directory))
    95            (unless (eq (cadr err) 'root)
    96     (error default-directory)))
    96              (signal (car err) (cdr err)))
       
    97            nil))
       
    98       default-directory)))
       
    99 
    97 
   100 ;;;###autoload
    98 ;;;###autoload
   101 (defun my/ag (regex)
    99 (defun my/ag (regex)
   102   (interactive
   100   (interactive
   103    (let* ( (def (when my/ag-regex-history (car my/ag-regex-history)))
   101    (let* ( (def (when my/ag-regex-history (car my/ag-regex-history)))