;; osq mode: (defconst osq-comment-start-regex "/[/*]") (defvar osq-mode-syntax-table nil) (if osq-mode-syntax-table nil (setq osq-mode-syntax-table (make-syntax-table text-mode-syntax-table))) (defvar osq-mode-hook nil) (defvar osq-font-lock-map '("BEGIN" "ENDLOOP" "END" ("\\" . font-lock-type-face))) (defun osq-set-font-lock-defaults () "Set up OSQ mode font-lock stuff." (let ((font-lock-defaults '(osq-font-lock-map nil nil ((?_ . "w") (?\' . "\"") (?/ . ". 14") (?* . ". 23") ) nil))) (font-lock-set-defaults))) (defun osq-mode () (interactive) (kill-all-local-variables) (set-syntax-table osq-mode-syntax-table) (setq major-mode 'osq-mode mode-name "OSQ") (setq comment-start "/* " comment-end " */") (osq-set-font-lock-defaults) (if (not noninteractive) (turn-on-font-lock) (let ((font-lock-mode t) (noninteractive nil)) (turn-on-font-lock))) (run-hooks 'osq-mode-hook) )