diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2010-09-23 15:00:31 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-09-23 15:00:31 -0400 |
commit | 266a86bd7fedf743225c2497956b73ecb2245196 (patch) | |
tree | 7d0c8b128070eac293ce2606acb4e55de5843ba8 /lisp/cedet/cedet-global.el | |
parent | 29cdc13ed61e5a64ba30df1030029898a26b7947 (diff) | |
parent | af3ccb5cc061bccab1c9b024ea444d01c0767767 (diff) | |
download | emacs-266a86bd7fedf743225c2497956b73ecb2245196.tar.gz |
Merge changes from emacs-23 branch
Diffstat (limited to 'lisp/cedet/cedet-global.el')
-rw-r--r-- | lisp/cedet/cedet-global.el | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lisp/cedet/cedet-global.el b/lisp/cedet/cedet-global.el index b98bd316935..da4e618a749 100644 --- a/lisp/cedet/cedet-global.el +++ b/lisp/cedet/cedet-global.el @@ -34,6 +34,12 @@ :type 'string :group 'cedet) +(defcustom cedet-global-gtags-command "gtags" + "Command name for the GNU Global gtags executable. +GTAGS is used to create the tags table queried by the 'global' command." + :type 'string + :group 'cedet) + ;;; Code: (defun cedet-gnu-global-search (searchtext texttype type scope) "Perform a search with GNU Global, return the created buffer. @@ -76,6 +82,19 @@ SCOPE is the scope of the search, such as 'project or 'subdirs." flags) b)) +(defun cedet-gnu-global-gtags-call (flags) + "Create GNU Global TAGS using gtags with FLAGS." + (let ((b (get-buffer-create "*CEDET Global gtags*")) + (cd default-directory) + ) + (with-current-buffer b + (setq default-directory cd) + (erase-buffer)) + (apply 'call-process cedet-global-gtags-command + nil b nil + flags) + b)) + (defun cedet-gnu-global-expand-filename (filename) "Expand the FILENAME with GNU Global. Return a fully qualified filename." @@ -153,6 +172,18 @@ return nil." ;; Return the results (nreverse hits)))) +(defun cedet-gnu-global-create/update-database (&optional dir) + "Create a GNU Global database in DIR. +If a database already exists, then just update it." + (interactive "DDirectory: ") + (let ((root (cedet-gnu-global-root dir))) + (if root (setq dir root)) + (let ((default-directory dir)) + (cedet-gnu-global-gtags-call + (when root + '("-i");; Incremental update flag. + ))))) + (provide 'cedet-global) ;; arch-tag: 0d0d3ac2-91ef-4820-bb2b-1d59ccf38392 |