idl-font-lock-el-1.5/0000755000000000000000000000000010272713136011307 5ustar idl-font-lock-el-1.5/idl-font-lock.el0000644000000000000000000003014407340714313014275 0ustar ;;; idl-font-lock.el --- Font Lock configuration for OMG IDL (CORBA IDL) files ;; Copyright (C) 1998, 1999, 2001 The University of Utah and ;; the Computer Systems Laboratory at the University of Utah (CSL). ;; Copyright (C) 1992-1995, 1997 Free Software Foundation, Inc. ;; Copyright (C) 1995 Amdahl Corporation. ;; Copyright (C) 1996 Ben Wing. ;; ;; This program is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by the Free ;; Software Foundation; either version 2, or (at your option) any later ;; version. ;; ;; This program is distributed in the hope that it will be useful, but WITHOUT ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ;; more details. ;; ;; You should have received a copy of the GNU General Public License along with ;; this program; if not, write to the Free Software Foundation, Inc., 59 Temple ;; Place #330, Boston, MA 02111, USA ;; idl-font-lock.el,v 1.5 2001/07/19 22:47:19 eeide Exp ;; ;; Author: Eric Eide ;; Maintainer: Eric Eide ;; Created: 1998/02/03 ;; Keywords: idl, languages, faces ;; LCD Archive Entry: ;; idl-font-lock|Eric Eide|eeide@cs.utah.edu| ;; Font Lock configuration for OMG IDL (CORBA IDL) files| ;; 2001/07/19 22:47:19|1.5|~/misc/idl-font-lock.el.gz| ;;; Commentary: ;; This file provides the data that Font Lock Mode needs in order to decorate ;; OMG IDL (a.k.a. CORBA IDL) files. The Font Lock patterns will match and ;; highlight all of the OMG IDL keywords and types defined in the CORBA 2.4.2 ;; specification. There are also patterns for highlighting operation names, ;; attribute names, case clauses, and preprocessor directives. ;; ;; If you do not know what Font Lock Mode is, this file will not help you --- ;; you will have to look elsewhere if you want to learn about Font Lock itself. ;; Similarly, this file does not define a major mode for editing OMG IDL files. ;; If you need IDL Mode, get the CC Mode package, version 5, from the World ;; Wide Web at . ;; ;; Once you have configured Font Lock Mode and installed CC Mode version 5, you ;; can load this file in order to get highlighting in IDL Mode buffers. Put ;; this file where Emacs can find it (i.e., somewhere in your `load-path') and ;; then add the following lines to your `.emacs' file: ;; ;; (setq auto-mode-alist (cons '("\\.idl\\'" . idl-mode) auto-mode-alist)) ;; (require 'idl-font-lock) ;; ;; The patterns for highlighting C preprocessor directives were adapted from ;; those in the `font-lock.el' file distributed with XEmacs 20.3. Hence the ;; long copyright notice at the top of this file. ;; ;; This package has been tested with XEmacs 21.1.14 and CC Mode 5.28. Note ;; that older versions of CC Mode (e.g., version 5.25) have problems indenting ;; some of the newer (CORBA 2.3+) OMG IDL syntax. ;;; Code: ;; Load `font-lock' so that we can figure out how to configure and install ;; ourselves. (require 'font-lock) (defvar idl-font-lock-preprocessor-face-name ;; If this Emacs doesn't provide `font-lock-preprocessor-face', we use ;; `font-lock-reference-face' instead to highlight preprocessor directives ;; (because that's what Emacsen without `font-lock-preprocessor-face' use). ;; We assume the `font-lock-reference-face' exists. (let ((has-preprocessor-face-p (if (fboundp 'find-face) (find-face 'font-lock-preprocessor-face) (facep 'font-lock-preprocessor-face)) )) (if has-preprocessor-face-p 'font-lock-preprocessor-face 'font-lock-reference-face)) "Name of the face used to highlight preprocessor directives in IDL Mode." ) (defvar idl-font-lock-keywords (let* (;; `idl-token' matches an OMG IDL scoped name. Note that `_' is ;; treated as a word constituent by Font Lock Mode; see the `put' form ;; at the end of this file. ;; (idl-token "\\(\\sw\\|::\\)+") ;; `int-literal' matches an integer literal. (int-literal "\\([0-9]+\\|0[xX][0-9a-fA-F]+\\)") ;; `const-expr-and-ws' matches a constant expression and any ;; surrounding whitespace. ;; (const-expr-and-ws "\\(\\sw\\|::\\|\\s-\\|[-|^&<>+*/%~()]\\)+") ;; `op-type-spec' matches an operation/attribute type specification as ;; defined by the OMG IDL grammar. ;; ;; The expression "\\(\\sw\\|:\\)+\\(\\s-*<[0-9]+\\s-*>\\)?" would be ;; simpler but is wrong; it doesn't match `long long'. ;; (op-type-spec (concat "\\(" (mapconcat 'identity (list ;; Multi-token types. "unsigned\\s-+\\(short\\|\\(long\\s-+\\)?long\\)" "long\\s-+\\(long\\|double\\)" ;; Strings. (concat "w?string\\s-*\\(<\\s-*" int-literal "\\s-*>\\)?") ;; Fixed-point numbers. (concat "fixed\\s-*\\(<" const-expr-and-ws ",\\s-*" int-literal "\\s-*>\\)") ;; A scoped name; catches single-token built-in types, too. idl-token ) "\\|") "\\)")) ) (list ;; The forms for highlighting preprocessor directives were adapted from ;; `c-font-lock-keywords-1' in XEmacs 20.3's version of `font-lock.el'. ;; They are matched first so that subsequent rules don't interfere, e.g., ;; highlight `defined' in `#if defined(foo)' as an operation name. ;; Filenames in `#include <...>' preprocessor directives. '("^[ \t]*#[ \t]*include[ \t]+\\(<[^>\"\n]+>\\)" 1 font-lock-string-face) ;; `#define'd macro names. '("^[ \t]*#[ \t]*\\(define\\|undef\\)[ \t]+\\(\\sw+\\)" 2 font-lock-function-name-face) ;; Symbol names in `#if/elif ... defined' preprocessor directives. (list "^[ \t]*#[ \t]*\\(el\\)?if\\>" (list "\\<\\(defined\\)\\>[ \t]*(?\\(\\sw+\\)?" nil nil (list 1 idl-font-lock-preprocessor-face-name) '(2 font-lock-variable-name-face nil t) )) ;; `#pragma's defined by CORBA 2.4.2; see Section 10.6.5 of the spec. (list "^[ \t]*#[ \t]*pragma[ \t]+\\(ID\\|prefix\\|version\\)\\>" 1 idl-font-lock-preprocessor-face-name) ;; Other preprocessor directives. (list "^[ \t]*\\(#[ \t]*[a-z]+\\)\\>[ \t]*\\(\\sw+\\)?" (list 1 idl-font-lock-preprocessor-face-name) '(2 font-lock-variable-name-face nil t) ) ;; Now come the forms for highlighting IDL syntax. ;; Built-in types. (list (concat "\\<\\(" (mapconcat 'identity '( ;; The integral types. "\\(unsigned\\s-+\\)?\\(short\\|\\(long\\s-+\\)?long\\)" ;; The floating-point types. "float" "\\(long\\s-+\\)?double" ;; The remaining primitive types. "w?char" "boolean" "octet" "any" "void" ;; The standard `Object' and `ValueBase' types. "Object" "ValueBase" ;; Template types. "sequence" "w?string" "fixed" ;; Constructed types and things that are like constructed types. "enum" "struct" "union" "exception" "interface" "valuetype" "native" "typedef" ) "\\|") "\\)\\>") 1 'font-lock-type-face) ;; Keywords that are like type modifiers. (list (concat "\\<\\(" (mapconcat 'identity '( ;; `abstract' interfaces and valuetypes. "abstract" ;; `custom' marshaling of valuetypes. "custom" ;; `local' interfaces. "local" ;; I believe that `const', `private', and `public' should be ;; viewed as language-construct-introducing keywords and not as ;; type modifiers. `const' introduces declarations of constant ;; values; `private' and `public' introduce valuetype state ;; members. ;; ;; The IDL type of an entity should be viewed as separate from ;; the language class of the entity itself. For example, the ;; declaration `public long foo;' should be read as: `foo is a ;; public member of type long'; not as: `foo is a member of type ;; public long'. ;; ;; If you disagree with this view, then you should put some or ;; all of the following keywords here: ;; ;; "attribute" "const" "factory" "in" "inout" "oneway" "out" ;; "private" "public" "readonly" ;; ) "\\|") "\\)\\>") 1 'font-lock-type-face) ;; Keywords, except for built-in types and type modifiers. (list (concat "\\<\\(" (mapconcat 'identity '( "attribute" "case" "const" "context" "default" "factory" "FALSE" "in" "inout" "module" "oneway" "out" "private" "public" "raises" "readonly" "supports" "switch" "TRUE" "truncatable" ) "\\|") "\\)\\>") 1 'font-lock-keyword-face) ;; Attribute names. (list (concat ;; The regexp below was an attempt to weed out false matches in ;; ill-formed IDL. But it doesn't really help much --- given that ;; the keyword `attribute' is already required --- and including ;; the extra anchor causes some valid cases not to highlight, e.g., ;; `/* readonly */ attribute long val;'. So I took it out. My ;; goal after all is to highlight correct IDL correctly, not to ;; avoid highlighting incorrect IDL. ;; ;; "\\(^\\s-*\\|[{\;]\\s-*\\|readonly\\s-+\\)" ;; "attribute\\s-+" op-type-spec ) ;; Use an anchored match: there may be several attribute names. (list (concat "\\(" idl-token "\\)\\s-*[,;]") nil nil '(1 font-lock-function-name-face) ) ) ;; Value initializer (`factory') names. (list (concat "factory" ) ;; Use an anchored match: this helps us highlight the name even if ;; there is intervening gunk, as in `factory /* foo */ init();'. ;; (list (concat "\\(" idl-token "\\)\\s-*(") nil nil '(1 font-lock-function-name-face) ) ) ;; Operation names. (list (concat ;; Again, the regexp below was an attempt to weed out false matches ;; in ill-formed IDL. Weeding is more important here than in the ;; attribute case because an `op-type-spec' can match any single ;; token. But again: (1) it doesn't help enough to be worthwhile; ;; (2) it prevents certain valid syntax from highlighting; and (3) ;; my goal is to highlight correct IDL, not to avoid highlighting ;; incorrect IDL. ;; ;; "\\(^\\s-*\\|[{\;]\\s-*\\|oneway\\s-+\\)" ;; op-type-spec ) ;; Use an anchored match: we don't know how many groups were used to ;; match the `op-type-spec'. ;; ;; A side effect of using an anchored match is that we may highlight ;; what appear to be multiple operation names, although IDL allows ;; only one. Also, we can highlight operation names even if there ;; is intervening gunk, as in `string opname();'. ;; (list (concat "\\(" idl-token "\\)\\s-*(") nil nil '(1 font-lock-function-name-face) ) ) ;; XXX --- Future enhancement: highlight the names of modules, interfaces, ;; structs, unions, enums, exceptions, and typedefs? ;; Case clause values. ;; ;; Note that the value may be an arbitrary constant expression; hence the ;; complicated regexp. Also note that `case' and `default' are already ;; highlighted because they are keywords. ;; (list (concat "\\ ;; I hereby release this program into the public domain. ;; ;; Copyright (C) 2001 Roland Mas ;; I also release this program into the public domain. (if (not (file-exists-p "/usr/share/emacs/site-lisp/idl-font-lock-el/idl-font-lock.el")) (message "idl-font-lock-el removed but not purged, skipping setup") (add-hook 'idl-mode-hook '(lambda () (require 'idl-font-lock)))) idl-font-lock-el-1.5/debian/idl-font-lock-el.emacsen-install0000644000000000000000000000233012046774344020601 0ustar #! /bin/sh -e # /usr/lib/emacsen-common/packages/install/idl-font-lock-el # Written by Jim Van Zandt , borrowing heavily # from the install scripts for gettext by Santiago Vila # and octave by Dirk Eddelbuettel . FLAVOR=$1 PACKAGE=idl-font-lock-el if [ ${FLAVOR} = emacs ]; then exit 0; fi echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} FLAVORTEST=`echo $FLAVOR | cut -c-6` if [ ${FLAVORTEST} = xemacs ] ; then SITEFLAG="-no-site-file" else SITEFLAG="--no-site-file" fi FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} # Install-info-altdir does not actually exist. # Maybe somebody will write it. if test -x /usr/sbin/install-info-altdir; then echo install/${PACKAGE}: install Info links for ${FLAVOR} install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz fi install -m 755 -d ${ELCDIR} cd ${ELDIR} FILES=`echo *.el` cd ${ELCDIR} ln -sf ${ELDIR}/* . cat << EOF > path.el (setq load-path (cons "." load-path) byte-compile-warnings nil) EOF ${FLAVOR} ${FLAGS} ${FILES} rm -f path.el exit 0 idl-font-lock-el-1.5/debian/changelog0000644000000000000000000000352412047747670014423 0ustar idl-font-lock-el (1.5-9) unstable; urgency=low * Fixed error when package is removed but not purged, thanks to Kevin Ryde (closes: #692866). -- Roland Mas Sun, 11 Nov 2012 17:18:00 +0100 idl-font-lock-el (1.5-8) unstable; urgency=low * Update Section: to lisp, in order to match the override. -- Roland Mas Thu, 08 Nov 2012 20:39:49 +0100 idl-font-lock-el (1.5-7) unstable; urgency=low * Simplify debian/rules to use current dh. * Leave a symlink to the .el file alongside the .elc file to help Emacs23 (closes: #672190). * Bumped Standards-Version to 3.9.3, with appropriate (minor) changes. -- Roland Mas Thu, 08 Nov 2012 19:39:09 +0100 idl-font-lock-el (1.5-6) unstable; urgency=low * Changed dependency on emacs21 to emacs22. -- Roland Mas Sat, 28 Jul 2007 17:03:13 +0200 idl-font-lock-el (1.5-5) unstable; urgency=low * Changed dependency on emacs20 to emacs21. -- Roland Mas Thu, 24 Jul 2003 19:30:14 +0200 idl-font-lock-el (1.5-4) unstable; urgency=low * Bumped Standards-Version to 3.6.0. * copyright file now refers to the text of the GPL in /usr/share/common-licenses. * DH_COMPAT bumped to 4, with needed changes in the control file. -- Roland Mas Thu, 24 Jul 2003 19:25:54 +0200 idl-font-lock-el (1.5-3) unstable; urgency=low * Bumped Standards-Version to 3.5.7. * Changed section to the more appropriate "editors". -- Roland Mas Tue, 10 Sep 2002 13:19:14 +0200 idl-font-lock-el (1.5-2) unstable; urgency=low * Fixed lintian errors. -- Roland Mas Tue, 18 Dec 2001 18:15:33 +0100 idl-font-lock-el (1.5-1) unstable; urgency=low * Initial Release. -- Roland Mas Sun, 26 Aug 2001 13:05:59 +0200 idl-font-lock-el-1.5/debian/install0000644000000000000000000000007612046767707014143 0ustar idl-font-lock.el /usr/share/emacs/site-lisp/idl-font-lock-el/ idl-font-lock-el-1.5/debian/copyright0000644000000000000000000000160407710013146014462 0ustar This package was debianized by Roland Mas on Sun, 26 Aug 2001 13:19:04 +0200. It was downloaded from the newsgroup. ;;; idl-font-lock.el --- Font Lock configuration for OMG IDL (CORBA IDL) files ;; Copyright (C) 1998, 1999, 2001 The University of Utah and ;; the Computer Systems Laboratory at the University of Utah (CSL). ;; Copyright (C) 1992-1995, 1997 Free Software Foundation, Inc. ;; Copyright (C) 1995 Amdahl Corporation. ;; Copyright (C) 1996 Ben Wing. ;; ;; This program is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by the Free ;; Software Foundation; either version 2, or (at your option) any later ;; version. On Debian systems, the GNU General Public License can be found in /usr/share/common-licenses (along with other commomnly-used software licenses). idl-font-lock-el-1.5/debian/control0000644000000000000000000000073312047005151014130 0ustar Source: idl-font-lock-el Section: lisp Priority: optional Maintainer: Roland Mas Build-Depends-Indep: debhelper (>= 7.0.50) Standards-Version: 3.9.3 Package: idl-font-lock-el Architecture: all Depends: emacs24 | emacsen, ${misc:Depends} Description: OMG IDL font-locking for Emacs This module adds font-lock highlighting to the Emacs IDL-mode. This will be useful for people doing CORBA stuff, but it is not related to the Interactive Data Language. idl-font-lock-el-1.5/debian/rules0000755000000000000000000000003612046767716013626 0ustar #!/usr/bin/make -f %: dh $@ idl-font-lock-el-1.5/debian/idl-font-lock-el.emacsen-remove0000644000000000000000000000077612046772634020444 0ustar #!/bin/sh -e # /usr/lib/emacsen-common/packages/remove/idl-font-lock-el FLAVOR=$1 PACKAGE=idl-font-lock-el ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} if [ ${FLAVOR} != emacs ]; then if test -x /usr/sbin/install-info-altdir; then echo remove/${PACKAGE}: removing Info links for ${FLAVOR} install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/idl-font-lock-el.info.gz fi echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} rm -rf ${ELCDIR} fi