[Refdb-cvs] CVS: elisp refdb-mode.el,1.8,1.9
Status: Beta
Brought to you by:
mhoenicka
From: Markus H. <mho...@us...> - 2005-05-08 00:12:08
|
Update of /cvsroot/refdb/elisp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3975 Modified Files: refdb-mode.el Log Message: added Update command;force refdbc output to stdout;turn RefDB mode on in output buffers Index: refdb-mode.el =================================================================== RCS file: /cvsroot/refdb/elisp/refdb-mode.el,v retrieving revision 1.8 retrieving revision 1.9 diff -u -U2 -r1.8 -r1.9 --- refdb-mode.el 28 Jan 2004 03:07:57 -0000 1.8 +++ refdb-mode.el 8 May 2005 00:11:53 -0000 1.9 @@ -133,4 +133,5 @@ ;; ;; Add References +;; Update References ;; Get References ;; Select Output Type @@ -147,4 +148,8 @@ ;; RefDB database. (Runs 'refdbc -C addref' on current region.) ;; +;; Update References +;; Update references in the current region in the currently selected +;; RefDB database. (Runs 'refdbc -C updateref' on current region.) +;; ;; Get References ;; Perform queries for data in the currently selected RefDB @@ -176,4 +181,5 @@ ;; ------------------------ ;; refdb-addref-on-region +;; refdb-updateref-on-region ; -- ;; refdb-getref-by-author @@ -335,5 +341,5 @@ :group 'refdb) -(defcustom refdb-refdbc-options "" +(defcustom refdb-refdbc-options "-c stdout" "Global options for refdbc." :set-after '(refdb-database-default) @@ -342,15 +348,20 @@ (defcustom refdb-addref-options "-f stdin" - "Options included when running the 'refdbc -c addref' command." + "Options included when running the 'refdbc -C addref' command." + :type 'string + :group 'refdb) + +(defcustom refdb-updateref-options "-f stdin" + "Options included when running the 'refdbc -C updateref' command." :type 'string :group 'refdb) (defcustom refdb-deleteref-options "-f stdin" - "Options included when running the 'refdbc -c deleteref' command." + "Options included when running the 'refdbc -C deleteref' command." :type 'string :group 'refdb) (defcustom refdb-getref-options "" - "Options included when running the 'refdbc -c addref' command." + "Options included when running the 'refdbc -C getref' command." :type 'string :group 'refdb) @@ -567,4 +578,9 @@ ) +(defvar refdb-updateref-menu-item + ["Update References" (refdb-updateref-on-region) t] + "RefDB menu item for updating references." + ) + (defvar refdb-deleteref-menu-item ["Delete References" (refdb-deleteref-on-region) t] @@ -801,4 +817,48 @@ ) +(defun refdb-updateref-on-region () + "Update all references in region in current database." + (interactive) + ;; temporarily set resize-mini-windows to nil to force Emacs to show + ;; updateref output in separate buffer instead of minibuffer + (setq resize-mini-windows nil) + (if (not (eq (length refdb-database) 0)) + (if (mark) + (progn + (refdb-determine-input-type) + (message "Updating references in selected region in %s database..." refdb-database) + (shell-command-on-region + (point) (mark) + (format + "%s %s -C updateref %s -d %s -t %s" + refdb-refdbc-program + refdb-refdbc-options + refdb-updateref-options + refdb-database + refdb-input-type + ) + "*refdb-output*" nil "*refdb-messages*") + (message + "Displaying output for '%s %s -C updateref %s -d %s -t %s'...done" + refdb-refdbc-program + refdb-refdbc-options + refdb-addref-options + refdb-database + refdb-input-type + ) + (display-buffer "*refdb-output*") + ) + (error "No region marked") + ) + ;; else if no databases specified, prompt to select from available + ;; databases, then re-call command + (call-interactively 'refdb-select-database) + (refdb-updateref-on-region) + ) + (message "Updating references in selected region in %s database...done" refdb-database) + ;; set resize-mini-windows back to default value + (setq resize-mini-windows (get 'resize-mini-windows 'standard-value)) + ) + (defun refdb-deleteref-on-region () "Delete all references in region from current database." @@ -930,5 +990,5 @@ ) (refdb-output-buffer-choose-mode) - (refdb-mode) + (and (boundp 'refdb-mode) refdb-mode) (setq resize-mini-windows resize-mini-windows-default) ) @@ -1070,5 +1130,5 @@ ) (refdb-output-buffer-choose-mode) - (refdb-mode) + (and (boundp 'refdb-mode) refdb-mode) (setq resize-mini-windows resize-mini-windows-default) ) @@ -1300,4 +1360,5 @@ '( refdb-addref-menu-item + refdb-updateref-menu-item refdb-deleteref-menu-item refdb-getref-submenu-definition |