     ("\\<[0-9_]+\\>" . font-lock-constant-face) ; integers
     (,slate-globals-regexp
      . font-lock-builtin-face)          ; globals
-;;     (,(concat "\\<" slate-binop-regexp "\\>")
-;;      . font-lock-string-face)        ; binary message send
+    (,(concat "\\<" slate-binop-regexp "\\>")
+     . font-lock-string-face)        ; binary message send
    )
   "Slate highlighting matchers.")
 


(defconst slate-mode-syntax-table
  (let ((table (make-syntax-table)))
    (mapcar
     #'(lambda (l)
         (modify-syntax-entry (car l) (cdr l) table))
     '((?\' . "\"") ; String
       (?\" . "\"") ; Comment
       (?+  . "w") ; Binary selector elements...
       (?-  . "w")
       (?*  . "w")
       (?/  . "w")
       (?=  . "w")
       (??  . "w")
       (?%  . "w")
       (?~  . "w")
       (?%  . "w")
       (?\; . "w")
       (?<  . "w")
       (?>  . "w")
       (?\[ . "(]") ; Block opener
       (?\] . ")[") ; Block closer
       (?\( . "()") ; Parens opener
       (?\) . ")(") ; Parens closer
       (?{  . "(}") ; Array opener
       (?}  . "){") ; Array closer
       (?&  . "'") ; Optional keyword marker
       (?`  . "'") ; Macro character
       (?$  . "'") ; Character literal
       (?#  . "'") ; Symbol
       (?|  . "$") ; Locals
       (?_  . "w") ; Word-element and anonymous argument
       (?:  . "_") ; Keyword marker
       (?\\ . "\\") ; C-like escape
       (?!  . "'") ; A stop in Smalltalk. A type annotation in Slate.
       (?@  . "'") ; Dispatch annotator
       (?^  . "w") ; Return
       (?,  . ".") ; Comma for *rest parameters
       (?.  . "."))) ; Statement separator
    table)
  "Slate character types")



(defvar slate-interactor-mode-map
  (let ((map (copy-keymap slate-mode-map)))
    (dolist
        (l '(("\C-m"      . 'comint-send-input)
             ("\C-c\C-d"  . comint-delchar-or-maybe-eof)
             ("\C-c\C-u"  . comint-kill-input)
             ("\C-c\C-c"  . comint-interrupt-subjob)
             ("\C-c\C-z"  . comint-stop-subjob)
             ("\C-c\C-\\" . comint-quit-subjob)
             ("\C-c\C-o"  . comint-kill-output)
             ("\C-c\C-r"  . comint-show-output)))
      (define-key map (car l) (cdr l)))
    map)
  "Keymap for controlling the Slate listener")

