;; xyzzy wrapper for GNU global ;; -*- Mode: Lisp; ;; ;; ------------------------------------ ;; Emacs Lisp °Ü¿¢¥­¥Ã¥È (require "elisp") ;; gtags-mode (autoload 'gtags-mode "gtags/gtags" t) ;; ---- key-assign ---- (setq *gtags-mode-hook* #'(lambda () (local-set-key #\F4 'gtags-find-tag-from-here) (local-set-key #\S-F4 'gtags-pop-stack) (local-set-key #\M-t 'gtags-find-tag) (local-set-key #\M-r 'gtags-find-rtag) (local-set-key #\M-s 'gtags-find-symbol) (local-set-key #\C-t 'gtags-pop-stack) ;(local-set-key #\M-j 'gtags-find-with-grep) )) (setq *gtags-mode-hook* #'(lambda () (local-set-key #\F4 'gtags-find-tag-from-here) (local-set-key #\S-F4 'gtags-pop-stack) )) (add-hook 'ed::*c-mode-hook* #'(lambda () (gtags-mode 1) ;(gtags-make-complete-list) )) ;; ---- functions ---- (export '(make-gtags-file *gtags-cmd-path* *gtags-buf-name*)) (defvar *gtags-cmd-path* "gtags") (defvar *gtags-buf-name* "*GTAGS Output*") ;;;; make-gtags-file (defun make-gtags-file (dir) (interactive "DMake GTAGS file: \np") (if (file-exist-p (merge-pathnames "GTAGS" dir)) (execute-subprocess (format nil "~A -i" ; for append *gtags-cmd-path*) :bufname *gtags-buf-name* :directory dir) (execute-subprocess (format nil "~A" ; not for append *gtags-cmd-path*) :bufname *gtags-buf-name* :directory dir))) ;;;; ----- eof ----