This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Programming environment + kawa question


> 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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]