Looks like Emacs 22 has a --script flag that allows you to use it to
write #! scripts.  So here's a kinda ugly command-line-callable elisp
script to colorize a file with Emacs font-lock.

Like everything else posted to kragen-hacks without any notice to the
contrary, this program is in the public domain; I abandon any
copyright in it.

#!/usr/local/bin/emacs --script
;;; environment setup

(require 'cl)

;; It's too bad there's no convenient way to set EMACSLOADPATH in my
;; environment.
(push "/usr/share/emacs/site-lisp" load-path)
(push "/usr/share/emacs/site-lisp/autoconf" load-path)
(push "/usr/share/emacs/site-lisp/bigloo-ude" load-path)
(push "/usr/share/emacs/site-lisp/dictionaries-common" load-path)
(push "/usr/share/emacs/site-lisp/emacs-goodies-el" load-path)
(push "/usr/share/emacs/site-lisp/erlang" load-path)
(push "/usr/share/emacs/site-lisp/ess" load-path)
(push "/usr/share/emacs/site-lisp/gambc" load-path)
(push "/usr/share/emacs/site-lisp/haskell-mode" load-path)
(push "/usr/share/emacs/site-lisp/mmm-mode" load-path)
(push "/usr/share/emacs/site-lisp/octave2.1-emacsen" load-path)
(push "/usr/share/emacs/site-lisp/php-elisp" load-path)
(push "/usr/share/emacs/site-lisp/pymacs" load-path)
(push "/usr/share/emacs/site-lisp/pymacs-elisp" load-path)
(push "/usr/share/emacs/site-lisp/python-mode" load-path)
(push "/usr/share/emacs/site-lisp/ruby1.8-elisp" load-path)
(push "/usr/share/emacs/site-lisp/tuareg-mode" load-path)

(require 'htmlize)

(find-file "/home/kragen/devel/mystrlen.s") ; could just pass this on the 
command line
(message "ok")
(font-lock-fontify-buffer)              ; not happening automatically
(message "fontified")
(switch-to-buffer (htmlize-buffer))     ; note that htmlize-file would probably 
be better...
(message "htmlized")
(write-file "mystrlen.s.html")
(message "wrote")

Reply via email to