Skip to content
  • Greg Hendershott's avatar
    Redesign REPL I/O and add racket-hash-lang-mode · 25224889
    Greg Hendershott authored
    This commit is a squash of nearly 250 commits from the long-running
    branch, `hash-lang`.
    
    Major themes:
    
    1. Change REPL I/O. We no longer use a TCP connection to do I/O for
    each REPL. Instead use commands (input) and notifications (output).
    Furthermore send various kinds of output as distinct notifications.
    
    2. Support use of hash-lang colors, indent, navigation when editing
    and in REPL.
    
    Add racket-hash-lang-mode, an alternative to racket-mode for editing
    source files, which uses coloring, indent and navigation supplied by a
    lang.
    
    Any number of racket-mode or racket-hash-lang-mode buffers may take
    turns using the same racket-repl-mode. The last-run edit buffer's
    settings are used in the REPL.
    
    Needs Racket 6.12+ for interval-map-ref/bounds.
    
    Use syntax-color/color-textoid when available (with new-enough
    versions of Racket and/or syntax-color-lib) but not required.
    
    3. racket-xp-mode: Do "semantic" highlighting of binding sites.
    Intended for use by racket-hash-lang-mode to get more than just lexer
    colors.
    
    ---
    
    Fixes #482.
    Fixes #619.
    Fixes #642.
    Fixes #663.
    Fixes #667.
    Fixes #671.
    Fixes #672.
    Fixes #673.
    
    Closes #64.
    Closes #633.
    
    Closes PR #661.
    25224889
Loading