GNU ID-UTILS for SML (and Lisp)

The GNU id-utils package is great! At a keystroke, it provides lightning-fast access to all occurrences of any identifier in the codebase. It is valuable for reading any codebase over ten kilolines, and indispensable for multi-megaline codebases (where etags simply halts and catches fire).

Which makes it unfortunate that the id-utils do not support more languages. :(

In particular, lisp- and ml-family languages are ill-served by the scanners in the standard source distribution.

Here is the tarball for a version of the id-utils tweaked to also support SML and lisp.

If you're fortunate enough to be running Debian Linux, a binary .deb is here.

Back to Cynbe's SML Hacking Support Tools Page.


Oh, for what it's worth, this is how I invoke gid from my .emacs file:

    (defun safe-load-library (lib)
      (condition-case nil
          (load-library lib)
        (error (message (concat "Cannot load library " lib)) nil)
        (t)))

    (safe-load-library "id-utils")

    (autoload 'gid "id-utils")

    (let ((bindings
           '(([(meta ?l)] . gid)
             ([(meta ?L)] . (lambda () (interactive) (gid (word-around-point))))
             ;; ... (many other irrelevant bindings omitted...)
             )))

      (while bindings
        (define-key global-map (car (car bindings)) (cdr (car bindings)))
        (setq bindings (cdr bindings))))

Cynbe ru Taren
Last modified: Tue Jan 25 11:03:29 CST 2005