# HG changeset patch # User Oleksandr Gavenko # Date 1490817172 -10800 # Node ID a28c181c1412256d52b303d9c7945202d6c95129 # Parent 1ce5595fe5f1b54e66be0321bfcf697816c4beeb Rename public function so that they wouldn't have '/' symbol in name. diff -r 1ce5595fe5f1 -r a28c181c1412 ag.el --- a/ag.el Wed Mar 29 22:27:16 2017 +0300 +++ b/ag.el Wed Mar 29 22:52:52 2017 +0300 @@ -3,7 +3,7 @@ ;;; Commentary: ;; -(defun my/ag-goto () +(defun my-ag-goto () (interactive) (save-excursion (let ( lineno end ) @@ -21,45 +21,45 @@ (find-file-other-window (match-string 0)) (goto-line lineno))))) -(defun my/ag-kill-process () +(defun my-ag-kill-process () (interactive) (let ( (proc (get-buffer-process (current-buffer))) ) (if proc (interrupt-process proc) (error "The %s process is not running" (downcase mode-name))))) -(defvar my/ag-mode-map (make-sparse-keymap)) +(defvar my-ag-mode-map (make-sparse-keymap)) -(define-key my/ag-mode-map (kbd "RET") 'my/ag-goto) -(define-key my/ag-mode-map (kbd "C-c C-k") 'my/ag-kill-process) +(define-key my-ag-mode-map (kbd "RET") 'my-ag-goto) +(define-key my-ag-mode-map (kbd "C-c C-k") 'my-ag-kill-process) -(defface my/ag-lineno-face +(defface my-ag/lineno-face '((t :inherit warning)) "Face for line number.") -(defface my/ag-path-face +(defface my-ag/path-face '((t :inherit success)) "Face for line number.") -(defvar my/ag-keywords - '(("^[1-9][0-9]\\{0,5\\}:" . (0 'my/ag-lineno-face)) - ("^[^:]\\{6\\}.*" . (0 'my/ag-path-face)))) +(defvar my-ag/keywords + '(("^[1-9][0-9]\\{0,5\\}:" . (0 'my-ag/lineno-face)) + ("^[^:]\\{6\\}.*" . (0 'my-ag/path-face)))) -(defun my/ag-font-lock-extend-region () +(defun my-ag/font-lock-extend-region () (save-excursion (goto-char font-lock-beg) (forward-line 2) (setq font-lock-beg (point)))) -(define-derived-mode my/ag-mode fundamental-mode "Ag" +(define-derived-mode my-ag-mode fundamental-mode "Ag" "Major mode for Ag parsing." - (setq font-lock-defaults '(my/ag-keywords t nil nil)) ; (font-lock-multiline . t) - ;; (add-hook 'font-lock-extend-region-functions 'my/ag-font-lock-extend-region) - (use-local-map my/ag-mode-map)) + (setq font-lock-defaults '(my-ag/keywords t nil nil)) ; (font-lock-multiline . t) + ;; (add-hook 'font-lock-extend-region-functions 'my-ag/font-lock-extend-region) + (use-local-map my-ag-mode-map)) -(defvar my/ag-buffer-name "*ag*") -(defvar my/ag-buffer nil) +(defvar my-ag/buffer-name "*ag*") +(defvar my-ag/buffer nil) -(defun my/ag-filter (proc str) +(defun my-ag/filter (proc str) (when (buffer-live-p (process-buffer proc)) (with-current-buffer (process-buffer proc) (save-excursion @@ -68,25 +68,25 @@ (set-marker (process-mark proc) (point))) ))) -(defvar my/ag-regex-history nil) +(defvar my-ag/regex-history nil) -(defun my/ag-setup-buffer (dir) - (setq my/ag-buffer (get-buffer-create my/ag-buffer-name)) - (with-current-buffer my/ag-buffer +(defun my-ag/setup-buffer (dir) + (setq my-ag/buffer (get-buffer-create my-ag/buffer-name)) + (with-current-buffer my-ag/buffer (setq default-directory dir) (erase-buffer) - (my/ag-mode)) - (display-buffer my/ag-buffer)) + (my-ag-mode)) + (display-buffer my-ag/buffer)) -(defun my/ag-run (regex) - (let ( (default-directory (buffer-local-value 'default-directory my/ag-buffer)) ) +(defun my-ag/run (regex) + (let ( (default-directory (buffer-local-value 'default-directory my-ag/buffer)) ) (make-process :name "ag" - :buffer my/ag-buffer - :filter 'my/ag-filter + :buffer my-ag/buffer + :filter 'my-ag/filter :command (list "ag" "--group" "--nocolor" regex)))) -(defun my/ag-project-root () +(defun my-ag/project-root () (condition-case err (let ( backend ) (setq backend (vc-responsible-backend default-directory)) @@ -95,29 +95,29 @@ default-directory)) (error default-directory))) -(defun my/ag-read-regex () - (let* ( (def (when my/ag-regex-history (car my/ag-regex-history))) +(defun my-ag/read-regex () + (let* ( (def (when my-ag/regex-history (car my-ag/regex-history))) (part (when def (if (< (length def) 20) def (concat (substring def 0 20) "...")))) ) (read-string (if part (format "Regex [%s]: " part) "Regex: ") - "" 'my/ag-regex-history def t))) + "" 'my-ag/regex-history def t))) ;;;###autoload -(defun my/ag (regex) +(defun my-ag (regex) "Search in 'ag' recursively from VCS root directory and fall to current directory if VCS root is not defined." - (interactive (list (my/ag-read-regex))) - (my/ag-setup-buffer (if current-prefix-arg default-directory (my/ag-project-root))) - (my/ag-run regex)) + (interactive (list (my-ag/read-regex))) + (my-ag/setup-buffer (if current-prefix-arg default-directory (my-ag/project-root))) + (my-ag/run regex)) ;;;###autoload -(defun my/ag-default-directory (regex) +(defun my-ag-default-directory (regex) "Search in 'ag' recursively from current directory." - (interactive (list (my/ag-read-regex))) - (my/ag-setup-buffer default-directory) - (my/ag-run regex)) + (interactive (list (my-ag/read-regex))) + (my-ag/setup-buffer default-directory) + (my-ag/run regex)) (provide 'ag)