casl-mode.el revision b3c65285705f6d184b5f8b00b1a328d96b6b19c5
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell;;;###autoload
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell(autoload 'turn-on-casl-indent "casl-indent" "Turn on CASL indentation." t)
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell;; Version number
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell "Version of CASL-Mode")
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell "Major mode for editing Haskell programs."
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell;; casl major mode setup
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell(defvar casl-mode-map (let ((keymap (make-keymap)))
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell (define-key keymap "\C-c\C-c" 'comment-region)
20a1476825fa14f148af9dc365901551038400ecCraig McDonnell (define-key keymap "\C-c\C-r" 'casl-run-hets)
(defvar casl-running-xemacs
(list
'("\\(\\<\\|\\s-+\\)\\(%authors\\|%date\\|%display\\|%prec\\|%left_assoc\\|%number\\|%floating\\|%LATEX\\|%implies\\)[ :\t\n]+"
'("\\(\\<\\|\\[\\)\\(spec\\|view\\)\\s-+\\(\\w+\\)[ \t]*\\(\\[\\([A-Z]\\w*\\).*\\]\\)?\\s-*.*\\([]=:]\\|::=\\)"
'("\\(\\<\\|\\s-+\\)sorts?[ \t]+\\(\\(\\sw+\\s-*\\(\\[\\sw+\\]\\s-*\\)?\\(,\\|$\\|<\\|;\\|=\\)[ \t\n]*\\)+\\)"
'("\\(^\\|ops?\\|preds?\\|vars?\\)\\s-+\\([a-zA-Z0-9]\\sw*\\|[^.%a-zA-Z0-9][^ \n]*\\)\\s-*\\(\(.*\)\\s-*\\)?\\(:\\??\\|<=>\\).*"
;;;;'("\\(\\<\\|\\s-+\\)\\(op\\|pred\\|var\\)s?[ \t\n]+\\(\\(\\([a-zA-Z0-9][^: \t\n]*\\|\\(_\\|\\s_\\)[^:\n]*\\)\\s-*:[ \t\n]*[^;\n]+;?.*[ \t\n]*\\)+\\)"
'("[ \t\n]*\\([^[ \t\n]+\\)\\s-*\\(\\[\\([A-Z]\\w*\\).*\\]\\)?[ \t\n]+|->[ \t\n]+\\([^[ \t\n]+\\)\\s-*\\(\\[\\([A-Z]\\w*\\).*\\]\\)?[, \t]*"
'("\\(\\<\\|\\s-+\\)\\(spec\\|generated\\|free\\|fit\\|and\\|then\\|local\\|within\\|with\\|end\\|forall\\|hide\\|given\\|arch\\|unit\\|view\\|closed\\|reveal\\|to\\|assoc\\|comm\\|\\(\\(op\\|pred\\|var\\|type\\|sort\\)s?\\)\\)[,;]?[ \t\n]"
(list
(defvar casl-mode-syntax-table nil
(defun casl-vars ()
(defun casl-comment-indent ()
(defun casl-run-hets ()
(save-buffer nil)
(let ((status
(defun casl-parse-error ()
(defun casl-compile-goto-next-error ()
(message "DEBUG<Goto Error>: file: %s, line: %s, column: %s" error-file-name error-line error-column)
(defun casl-mode ()
;; Support for compile.el
(lambda()