Update of /cvsroot/refdb/elisp
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28315
Modified Files:
ris.el
Log Message:
added validation for authors, pubdates, reprints
Index: ris.el
===================================================================
RCS file: /cvsroot/refdb/elisp/ris.el,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -U2 -r1.3 -r1.4
--- ris.el 31 Dec 2003 07:08:55 -0000 1.3
+++ ris.el 7 May 2005 20:45:55 -0000 1.4
@@ -2,5 +2,5 @@
;; $Id$
-;; Copyright (C) 2001 Markus Hoenicka
+;; Copyright (C) 2001-2005 Markus Hoenicka
;; Author: Markus Hoenicka <ma...@mh...>
@@ -26,9 +26,11 @@
;;; Commentary:
-;; Still crude but works. This mode does not attempt to validate the RIS
-;; data but provides some convenience for editing RIS datasets.
+;; Still crude but works. This mode does not attempt to fully validate the
+;; RIS data but it provides visual clues to avoid the most common errors
+;; in addition, it provides some convenience commands for editing RIS
+;; datasets.
;;
;; To install this mode, move this file somewhere into your load-path
-;; (something like /usr/local/share/emacs/site-lisp), and
+;; (something like /usr/local/share/emacs/site-lisp), and (optionally)
;; byte-compile-file it.
;;
@@ -57,10 +59,22 @@
(make-face 'ris-tag-face)
(make-face 'ris-tyer-tag-face)
+(make-face 'ris-author-face)
+(make-face 'ris-pubyear-face)
+(make-face 'ris-reprint-face)
+
(set-face-foreground 'ris-main-face "maroon")
(set-face-foreground 'ris-tag-face "blue")
(set-face-foreground 'ris-tyer-tag-face "red")
+(set-face-foreground 'ris-author-face "sea green")
+(set-face-foreground 'ris-pubyear-face "IndianRed2")
+(set-face-foreground 'ris-reprint-face "deep pink")
+;; these regexps do the "validation"
(defvar ris-font-lock-keywords
- '(("^\\(ID\\|T1\\|TI\\|CT\\|BT\\|A1\\|AU\\|Y1\\|PY\\|N1\\|AB\\|KW\\|RP\\|SP\\|EP\\|JF\\|JO\\|JA\\|J1\\|J2\\|VL\\|T2\\|A2\\|ED\\|IS\\|CP\\|CY\\|PB\\|U1\\|U2\\|U3\\|U4\\|U5\\|T3\\|A3\\|N2\\|SN\\|AV\\|Y2\\|M1\\|M2\\|M3\\|AD\\|UR\\) - \\(.+\\)" 2 'ris-main-face t)
+ '(
+ ("^RP - \\(\\(IN FILE$\\)\\|\\(NOT IN FILE$\\)\\|\\(ON REQUEST [0-1][0-9]/[0-3][0-9]/[0-9][0-9]\\)\\)" 1 'ris-reprint-face t)
+ ("^\\(PY\\|Y1\\|Y2\\) - \\([0-9][0-9][0-9][0-9]/\\([0-1][0-9]\\)?/\\([0-3][0-9]\\)?/.*\\)" 2 'ris-pubyear-face t)
+ ("^\\(AU\\|A1\\|A2\\|A3\\|ED\\) - \\(\\([^,\n]+,[^,\n]+\\(,[^,\n]+\\)?$\\)\\|\\([^,\n]+$\\)\\)" 2 'ris-author-face t)
+ ("^\\(ID\\|T1\\|TI\\|CT\\|BT\\|N1\\|AB\\|KW\\|SP\\|EP\\|JF\\|JO\\|JA\\|J1\\|J2\\|VL\\|T2\\|IS\\|CP\\|CY\\|PB\\|U1\\|U2\\|U3\\|U4\\|U5\\|T3\\|N2\\|SN\\|AV\\|M1\\|M2\\|M3\\|AD\\|UR\\) - \\(.+\\)" 2 'ris-main-face t)
("^\\(\\(ID\\|T1\\|TI\\|CT\\|BT\\|A1\\|AU\\|Y1\\|PY\\|N1\\|AB\\|KW\\|RP\\|SP\\|EP\\|JF\\|JO\\|JA\\|J1\\|J2\\|VL\\|T2\\|A2\\|ED\\|IS\\|CP\\|CY\\|PB\\|U1\\|U2\\|U3\\|U4\\|U5\\|T3\\|A3\\|N2\\|SN\\|AV\\|Y2\\|M1\\|M2\\|M3\\|AD\\|UR\\) - \\)\\(.+\\)" 1 'ris-tag-face t)
("^\\(TY - \\(ABST\\|ADVS\\|ART\\|BILL\\|BOOK\\|CASE\\|CHAP\\|COMP\\|CONF\\|CTLG\\|DATA\\|ELEC\\|GEN\\|HEAR\\|ICOMM\\|INPR\\|JFULL\\|JOUR\\|MAP\\|MGZN\\|MPCT\\|MUSIC\\|NEWS\\|PAMP\\|PAT\\|PCOMM\\|RPRT\\|SER\\|SLIDE\\|SOUND\\|STAT\\|THES\\|UNBILL\\|UNPB\\|VIDEO\\)\\)$\\|^\\(ER - \\)$" 0 'ris-tyer-tag-face t))
@@ -139,5 +153,5 @@
("AD - " 44)
("UR - " 45)) nil t)))
- (message (char-to-string (char-before)))
+; (message (char-to-string (char-before)))
(if (not (equal (char-before) 10))
(progn
|