1;; 2;; Copyright (c) 2003 by The XFree86 Project, Inc. 3;; 4;; Permission is hereby granted, free of charge, to any person obtaining a 5;; copy of this software and associated documentation files (the "Software"), 6;; to deal in the Software without restriction, including without limitation 7;; the rights to use, copy, modify, merge, publish, distribute, sublicense, 8;; and/or sell copies of the Software, and to permit persons to whom the 9;; Software is furnished to do so, subject to the following conditions: 10;; 11;; The above copyright notice and this permission notice shall be included in 12;; all copies or substantial portions of the Software. 13;; 14;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17;; THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 19;; OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20;; SOFTWARE. 21;; 22;; Except as contained in this notice, the name of the XFree86 Project shall 23;; not be used in advertising or otherwise to promote the sale, use or other 24;; dealings in this Software without prior written authorization from the 25;; XFree86 Project. 26;; 27;; Author: Paulo César Pereira de Andrade 28;; 29;; 30;; $XFree86$ 31;; 32 33(require "syntax") 34(require "indent") 35(in-package "XEDIT") 36 37(defsyntax *xconf-mode* :main nil #'default-indent nil 38 ;; section start 39 (syntoken "\\<(Section|SubSection)\\>" 40 :property *prop-keyword* :icase t :begin :section) 41 ;; just for fun, highlight the section name differently 42 (syntable :section *prop-constant* #'default-indent 43 (syntoken "\"" :nospec t :begin :name) 44 (syntable :name *prop-constant* nil 45 ;; ignore escaped characters 46 (syntoken "\\\\.") 47 (syntoken "\"" :nospec t :switch -2) 48 ) 49 ) 50 51 ;; section end 52 (syntoken "\\<(EndSection|EndSubSection)\\>" 53 :property *prop-keyword* :icase t) 54 55 ;; numeric options 56 (syntoken "\\<\\d+(\\.\\d+)?\\>" :property *prop-number*) 57 58 ;; comments 59 (syntoken "#.*$" :property *prop-comment*) 60 61 ;; strings 62 (syntoken "\"" :nospec t :begin :string :contained t) 63 (syntable :string *prop-string* #'default-indent 64 ;; ignore escaped characters 65 (syntoken "\\\\.") 66 (syntoken "\"" :nospec t :switch -1) 67 ) 68) 69