 (defconst slate-inf-mode-map (copy-keymap comint-mode-map)
   "The modemap used for interactive Slate sessions.")
 (set-keymap-parent slate-inf-mode-map slate-mode-map)
+
+(defvar slate-fileref-keymap (copy-keymap slate-inf-mode-map))
+(set-keymap-parent slate-fileref-keymap slate-inf-mode-map)
+(define-key slate-fileref-keymap [return] 'slate-follow-name-at-point)
+(define-key slate-fileref-keymap [mouse-1] 'slate-follow-name-at-point)
 
 (defconst slate-inf-font-lock-keywords
   `((,slate-prompt-regexp . italic)	; italicized prompt
     (,slate-debug-prompt-regexp . font-lock-warning-face) ; the debug prompt
     ("^\\(Warning\\|Error\\):" . font-lock-warning-face) ; warnings/errors
+    ;(,slate-debug-fileref-regexp 1 'link) ; filename/lineno debugger reports
     ("^Slate:" . compilation-info-face) ; VM messages
     ,@slate-font-lock-keywords)
   "Simplified and adjusted highlighting matchers for the interaction.")

Entry to this mode calls the value of `slate-inf-mode-hook' with no arguments,
if that value is non-nil.  Likewise with the value of `shell-mode-hook'.
`slate-inf-mode-hook' is called after `shell-mode-hook'."
  (kill-all-local-variables)
  (comint-mode)
  (setq comint-prompt-regexp slate-prompt-line-regexp)

    (process-send-string
     inferior-slate-buffer-name
     (if (and (>= (point) 2) (equal (preceding-char) ?.)) "\n" ".\n")))
  (set-process-filter *slate-process* 'slate-inf-filter))

(defun slate-quit ()
  "Terminate the Slate session and associated process."
