private/interfaces.ss
(module interfaces mzscheme
  (require (lib "class.ss"))
  (provide (all-defined))
  
  (define range<%>
    (interface ()
      get-start
      set-start
      get-ranges
      add-range
      all-ranges))
  
  (define controller<%>
    (interface ()
      on-syntax-click
      ))
  
  (define syntax-pp-snip<%>
    (interface ()
      get-text
      get-selected-syntax
      get-ranges
      get-identifier-list
      show-syntax
      refresh
      ))
  
  (define syntax-pp<%>
    (interface ()
      get-range
      get-identifier-list
      flat=>stx
      stx=>flat))
  
  (define typesetter<%>
    (interface ()
      get-output-port
      get-current-position
      finish))
  
  
  )