[interchange] Add emacs major mode for ITL

Jon Jensen interchange-cvs at icdevgroup.org
Mon Jul 15 06:24:10 UTC 2013


commit 349a71055d7ec54193d161d997f0db83c0423811
Author: Jon Jensen <jon at endpoint.com>
Date:   Mon Jul 15 07:23:00 2013 +0100

    Add emacs major mode for ITL

 eg/emacs/itl.el |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/eg/emacs/itl.el b/eg/emacs/itl.el
new file mode 100644
index 0000000..5d84d8c
--- /dev/null
+++ b/eg/emacs/itl.el
@@ -0,0 +1,49 @@
+;;; itl.el -- Major mode for editing Interchange Tag Language files
+
+;; Author: Steve Shoopak <steve at endpoint.com>
+;; Created: October 20th, 2005
+;; Keywords: ITL major-mode
+
+;;; Description:
+;;
+;; This mode allows syntax highlighting of files with
+;; embedded Interchange Tag Language.
+
+;;; Code:
+(defvar itl-mode-hook nil)
+(defvar itl-mode-map nil)
+
+(add-to-list 'auto-mode-alist '("\\.itl\\'" . itl-mode))
+
+(defconst itl-font-lock-keywords-1
+  (list
+    '("\\[\\\/?\\w+" . font-lock-keyword-face)
+    '("\\(\\[\\|\\]\\)" . font-lock-keyword-face)
+    '("\\(\\(__\\|\\@_\\|\\@\\@\\)\\w*\\(__\\|_\\@\\|\\@\\@\\)\\)" .
+font-lock-variable-name-face))
+  "Basic stuff to highlight in ITL mode")
+
+(defvar itl-font-lock-keywords itl-font-lock-keywords-1
+  "ITL mode keywords.  You might append more to extend the basic list.")
+
+(defvar itl-mode-syntax-table
+  (let ((itl-mode-syntax-table (make-syntax-table)))
+    (modify-syntax-entry ?_ "w" itl-mode-syntax-table)
+    (modify-syntax-entry ?/ ". 124b" itl-mode-syntax-table)
+    (modify-syntax-entry ?* ". 23" itl-mode-syntax-table)
+    (modify-syntax-entry ?\n "> b" itl-mode-syntax-table)
+    itl-mode-syntax-table)
+  "Syntax table for itl-mode")
+
+(defun itl-mode ()
+  "Major mode for editing Interchange Tag Language files"
+  (interactive)
+  (kill-all-local-variables)
+  (set-syntax-table itl-mode-syntax-table)
+  (use-local-map itl-mode-map)
+  (set (make-local-variable 'font-lock-defaults) '(itl-font-lock-keywords))
+  (setq major-mode 'itl-mode)
+  (setq mode-name "ITL")
+  (run-hooks 'itl-mode-hook))
+
+(provide 'itl-mode)



More information about the interchange-cvs mailing list