79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;;;;;;;;;;;;;;;;;;;;;;;;;;
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;; $Haeder$
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;; Copyright: (c) Heng Jiang, Klaus L�ttich, Uni Bremen 2007
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;; License: LGPL, see LICENSE.txt or LIZENZ.txt
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;; Contact: hets-users@informatik.uni-bremen.de
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich;;;;;;;;;;;;;;;;;;;;;;;;;;
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich(defun casl-mode-directory-fn ()
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich "Used to find casl-mode directory"
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang (let ((curdir
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang (or
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang (and load-in-progress (file-name-directory load-file-name))
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang (file-name-directory (buffer-file-name)))))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (file-name-directory curdir))
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang)
c10df434f8e16b46ccf703bf2e38b799f7bcb38bHeng Jiang
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich(setq casl-mode-directory (casl-mode-directory-fn))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich(let ((hets-base-dir (expand-file-name
9312e4bac069d53091c92e20b03dcb4e07f40f9fHeng Jiang (concat casl-mode-directory "../.."))))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (if (file-executable-p (concat hets-base-dir "/hets"))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (setq hets-program (concat hets-base-dir "/hets"))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (progn
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (if (file-executable-p (concat hets-base-dir "/bin/hets"))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (setq hets-program (concat hets-base-dir "/bin/hets"))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (progn
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich (message (concat "no hets found in " hets-base-dir)))
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich )
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich )
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich )
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich)
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich
bea89873971a7a988b345c84f5b10c7ad6b5d602Klaus Luettich(add-to-list 'load-path casl-mode-directory)
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang;; Files whose extension is .casl or .het will be edited in CASL mode
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang(setq auto-mode-alist
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang (append
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang '(("\\.casl\\'" . casl-mode))
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang '(("\\.het\\'" . casl-mode))
e3e8012200ee876eb18f459e601297ae429e79c9Till Mossakowski '(("\\.dol\\'" . casl-mode))
dd7c739b90110aeb5cb3bc91922e95131014d948Heng Jiang auto-mode-alist))
b4fc5ea5cb085d38694cab93648e4d20451cd9dcKlaus Luettich(autoload 'casl-mode "casl-mode" "Entering CASL mode..." t)
b4fc5ea5cb085d38694cab93648e4d20451cd9dcKlaus Luettich(add-hook 'casl-mode-hook 'turn-on-casl-indent)
9312e4bac069d53091c92e20b03dcb4e07f40f9fHeng Jiang(message "casl-mode setup complete")