Skip to content

Meta-issue for improving the REPL experience #50817

Open
@tecosaur

Description

@tecosaur

I've ended up on a path to improve the REPL experience in a few ways, and thought I'd actually write up the overall plan.

Here's the vision for the REPL I currently have in mind:

image

GraphViz code
digraph {
    graph [bgcolor="transparent"];
    node  [shape="underline" penwidth="2" style="rounded,filled" fillcolor="#efefef" color="#c9c9c9" fontcolor="#000000" fontname="Alegreya Sans"];
    edge  [color="#aaaaaa" penwidth="1.2" fontname="Alegreya Sans"]
    rankdir = "LR"

    // Merged
    node [color="#a371f7"];
    "#46372 (JuliaSyntax)"
    "#50797 (Terminfo parser)"
    "#49583 (AnnotatedStrings + StyledStrings)"
    "StyledStrings#6 (Legacy support)"
    "StyledStrings#3 (Precompile fix)"
    "#51867 (move banner function)"
    "ColorTypes.jl#293 (convert to SimpleColor)"
    "#51806 (Improved annotation *-concat)"
    "#51810 (JuliaSyntaxHighlighting)"
    "#51807 (AnnotatedIOBuffer)"
    "StyledStrings#12 (printstyled specialisation)"
    "#51869 (load StyledStrings in REPL)"
    "#X Merged"
    // Pending
    node [color="#3fb950"];
    "#51802 (AnnotatedStrings in log messages)"
    "#51816 (Themable stacktraces)"
    "StyledStrings#36 (Themable stacktraces)"
    "#51829 (StyledStrings for Logging)"
    "#51914 (Improved join method for AnnotatedStrings)"
    "#51928 (StyledStrings for Markdown)"
    "#51811 (Resizing tweaked banner)"
    "#X Open"
    // Draft
    node [color="#6e7680"];
    "#51887 (StyledStrings for REPL Prompts)"
    "#X Draft"
    // Conceptual
    node [fillcolor="#fafafa" color="#dddddd" fontcolor="#444444"];
    "#? Conceptual"

    subgraph cluster_0 {
        style=rounded
        fillcolor="#ffffff"
        color="#222222"
        rankdir="LR"
        "#? Conceptual" -> "#X Draft" -> "#X Open" -> "#X Merged"
    }

    "#50797 (Terminfo parser)" -> "#49583 (AnnotatedStrings + StyledStrings)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51802 (AnnotatedStrings in log messages)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51806 (Improved annotation *-concat)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51807 (AnnotatedIOBuffer)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51810 (JuliaSyntaxHighlighting)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "ColorTypes.jl#293 (convert to SimpleColor)"
    "#46372 (JuliaSyntax)" -> "#51810 (JuliaSyntaxHighlighting)"
    "#46372 (JuliaSyntax)" -> "#??? (Prettier JuliaSyntax errors)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#??? (Prettier JuliaSyntax errors)"
    "#51810 (JuliaSyntaxHighlighting)" -> "#??? (Prettier JuliaSyntax errors)"
    "#51810 (JuliaSyntaxHighlighting)" -> "#51928 (StyledStrings for Markdown)"
    "#51807 (AnnotatedIOBuffer)" -> "#51914 (Improved join method for AnnotatedStrings)"
    "#51807 (AnnotatedIOBuffer)" -> "#51928 (StyledStrings for Markdown)"
    "#51807 (AnnotatedIOBuffer)" -> "StyledStrings#12 (printstyled specialisation)"
    "#51807 (AnnotatedIOBuffer)" -> "#??? (show/showerror with StyledStrings)"
    "#??? (string similarity matcher in Base)" -> "#??? (More helpful error messages)"
    "#??? (show/showerror with StyledStrings)" -> "#??? (More helpful error messages)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51869 (load StyledStrings in REPL)"
    "#51869 (load StyledStrings in REPL)" -> "#51811 (Resizing tweaked banner)"
    "#51867 (move banner function)" -> "#51811 (Resizing tweaked banner)"
    "#51811 (Resizing tweaked banner)" -> "#??? (Spiffed up banner)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51816 (Themable stacktraces)"
    "#51869 (load StyledStrings in REPL)" -> "#51816 (Themable stacktraces)"
    "StyledStrings#36 (Themable stacktraces)" -> "#51816 (Themable stacktraces)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51829 (StyledStrings for Logging)"
    "#51869 (load StyledStrings in REPL)" -> "#51887 (StyledStrings for REPL Prompts)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#51887 (StyledStrings for REPL Prompts)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "#??? (Deeper StyledStrings ↔ REPL integration)"
    "#51869 (load StyledStrings in REPL)" -> "#??? (Deeper StyledStrings ↔ REPL integration)"
    "#??? (Deeper StyledStrings ↔ REPL integration)" -> "#??? (REPL syntax highlighting)"
    "#51810 (JuliaSyntaxHighlighting)" -> "#??? (REPL syntax highlighting)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "StyledStrings#3 (Precompile fix)"
    "#49583 (AnnotatedStrings + StyledStrings)" -> "StyledStrings#6 (Legacy support)"
    "StyledStrings#6 (Legacy support)" -> "#51869 (load StyledStrings in REPL)"
    "StyledStrings#6 (Legacy support)" -> "#51829 (StyledStrings for Logging)"
    "StyledStrings#3 (Precompile fix)" -> "#51829 (StyledStrings for Logging)"
    "#51869 (load StyledStrings in REPL)" -> "#51829 (StyledStrings for Logging)"
    "#51869 (load StyledStrings in REPL)" -> "#51928 (StyledStrings for Markdown)"
    "#51869 (load StyledStrings in REPL)" -> "#??? (StyledStrings for Pkg)"
    "#??? (Basic terminal pager)" -> "#??? (Pageable help)"
    "#??? (Resolution of [@ref] links)" -> "#??? (Interactively navigable docs)"
    "#??? (Pageable help)" -> "#??? (Interactively navigable docs)"
    "#51928 (StyledStrings for Markdown)" -> "#??? (Pageable help)"
    "#??? (Deeper StyledStrings ↔ REPL integration)" -> "#??? (Basic terminal pager)"
    "#??? (Deeper StyledStrings ↔ REPL integration)" -> "#??? (REPL menu revamp)"
    "#??? (REPL menu revamp)" -> "#??? (Multi-modal menus)"
    "#??? (REPL menu revamp)" -> "#??? (Interactive history search)"
    "#51810 (JuliaSyntaxHighlighting)" -> "#??? (Interactive history search)"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    REPLJulia's REPL (Read Eval Print Loop)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions