This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Programming environment + kawa question
- From: Chris Dean <ctdean at sokitomi dot com>
- To: dominique dot boucher at nuecho dot com
- Cc: "'Kawa List'" <kawa at sources dot redhat dot com>
- Date: Fri, 20 Feb 2004 10:34:44 -0800
- Subject: Programming environment + kawa question
- References: <000001c3f7d9$09b7a4e0$8881a8c0@Forman>
> 1) What kind of programming environment do you use when developing Kawa
> code? Personally, I use XEmacs with a number of packages I have
> developed over the years.
Me too. My XEmacs setup is below - pretty stadard stuff. I also use
etags.
Regards,
Chris Dean
;;; scheme
(autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
(autoload 'run-scheme "cmuscheme" "Switch to interactive Scheme buffer." t)
(setq scheme-program-name
"java -Xmx750m kawa.repl -f /home/ctdean/.kawarc-interactive.scm -s")
(add-hook 'scheme-mode-hook 'turn-on-font-lock)
(defun my-inferior-scheme-mode-hook ()
(turn-on-font-lock)
(abbrev-mode t)
(setq comint-prompt-regexp "^#[^#]+# +"))
(add-hook 'inferior-scheme-mode-hook 'my-inferior-scheme-mode-hook)
(defvar my-scheme-font-lock-keywords
(list
'("\\<<[][-a-zA-Z0-9_$@.]+>\\>" . font-lock-type-face)
'("\\B#!\\w+\\b" . font-lock-keyword-face)
'("\\B#[tf]\\b" . font-lock-keyword-face)
(list (concat "\\<\\(define-\\("
"[-a-z]+"
"\\)\\)\\>[ \t]*\\(\\sw+\\)?")
'(1 font-lock-keyword-face)
'(3 font-lock-type-face t t))
'("\\<fluid-let\\>" . font-lock-keyword-face)
'("\\<synchronized\\>" . font-lock-keyword-face)
'("\\<defmacro\\>" . font-lock-keyword-face)))
(defun my-scheme-load-hook ()
(setq scheme-font-lock-keywords (append scheme-font-lock-keywords
my-scheme-font-lock-keywords))
(remove-hook 'scheme-mode-hook 'my-scheme-load-hook))
(add-hook 'scheme-mode-hook 'my-scheme-load-hook)
(defun my-scheme-mode-hook ()
(abbrev-mode t)
(setq comment-start "; ")
(setq find-tag-default-hook 'my-unquoted-symbol-near-point)
(put 'make 'scheme-indent-function nil)
(put 'dolist 'scheme-indent-function 1)
(put 'dotimes 'scheme-indent-function 1)
(put 'doarray 'scheme-indent-function 1)
(put 'syntax-rules 'scheme-indent-function 1)
(put 'synchronized 'scheme-indent-function 1)
(put 'when 'scheme-indent-function 1)
(put 'let-values 'scheme-indent-function 1)
(put 'unless 'scheme-indent-function 1))
(add-hook 'scheme-mode-hook 'my-scheme-mode-hook)