Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
204 stars 31 forks source link

Recolour with normal syntax colouring when editing any line in the session #1193

Closed abrudz closed 8 months ago

abrudz commented 8 months ago

Describe the issue you are having

When an error has happened, I often want to edit the offending line to fix the issue, but from Dyalog 19.0, error output is coloured separately, and this colouring stays even when editing, making the code harder to parse.

How do you reproduce the issue?

image Now edit the offending line: image

Paste the contents of Help → About (Shift+F1)

IDE:
  Version: 4.5.4043
  Electron: 25.3.2
  Chrome: 114.0.5735.248
  Node: 18.15.0
  Platform: Win32
  Date: 2023-09-26 17:25:50 +0200
  Git commit: 5f3a6111e4c67f4c605b4cdbaff1088208d5972d
  Preferences:{
    "autoCloseBrackets":"0",
    "autoPW":"1",
    "colourScheme":"Nord",
    "colourSchemes":"[{\"name\":\"Default (1)\",\"theme\":\"light\",\"styles\":\"asgn=fg:00f com=fg:088,B dfn=fg:00f diam=fg:00f err=fg:f00,B fn=fg:008,B idm=fg:008,B kw=fg:800,B lnum=fg:008,bg:f,bgo:0 mod=bg:7,bgo:0.25 mtch=bg:ff8,bgo:0.5 norm=bgo:1,bg:f,fg:#4a86e8 ns=fg:8 num=fg:8,B op1=fg:00f op2=fg:00f,B par=fg:00f,B quad=fg:808 qdl=fg:c0c sel=bg:48e,bgo:0.5 semi=fg:00f sqbr=fg:00f srch=bg:f80,bgo:0.5 str=fg:088,B tc=bg:d,bgo:1 tcpe=bg:c8c8c8,bgo:1 trad=fg:8 var=fg:8,B zld=fg:008,B scmd=fg:00f ucmd=fg:00f vtt=bg:ff0 ca=bg:828282,bgo:1,fg:0f0 cm=bg:0,bgo:1,fg:080 cv=bg:f,bgo:1,fg:0 cvv=bg:0,bgo:1,fg:0ff ma=bg:828282,bgo:1,fg:0ff na=bg:828282,bgo:1,fg:f qor=bg:f00,bgo:1,fg:f dc=bg:#993333,bgo:1 sae=bg:fbb,bgo:0.25 itk=fg:f00,U glb=B lbl=B dfn3=B dfn5=B dfn1=B cubr=B dfn4=B dfn2=B\"},{\"name\":\"Dracula (1)\",\"theme\":\"dark\",\"styles\":\"asgn=fg:#50fa7b com=fg:#6272a4 diam=fg:#ff79c6 err=fg:#ff5555,bgo:1 fn=fg:#8be9fd idm=U kw=fg:#ff79c6 lnum=bgo:0,fg:6272a4 mtch=bgo:0.5,fg:#f8f8f2,bg:#44475a norm=bg:#282a36,bgo:1,fg:f8f8f2 num=fg:#bd93f9 op1=fg:#50fa7b,fgo:1 op2=fg:#f1fa8c quad=fg:#ffb86c sel=bg:#6bb2ff,bgo:0.25 semi=fg:#50fa7b sqbr=fg:#50fa7b srch=bg:#bd93f9,bgo:0.5 str=fg:#f1fa8c tc=bg:#44475a,bgo:1 tcpe=bg:#44475a,bgo:1 zld=fg:#bd93f9 scmd=fg:#ff79c6 ucmd=fg:#ff79c6,B vtt=bg:#44475a,bgo:1 ca=bg:#44475a,bgo:1,fg:#ff5555 cm=bg:#282a36,bgo:1,fg:#50fa7b cv=bg:#44475a,bgo:1,fg:#f1fa8c cvv=bg:#282a36,bgo:1,fg:#8be9fd ma=bg:#44475a,bgo:1,fg:#8be9fd na=bg:#44475a,bgo:1,fg:#bd93f9 qor=bg:#ff5555,bgo:1,fg:#f8f8f2 dc=bg:#7f2a2a,bgo:1 lbl=fg:#ff79c6,B glb=fg:#ffb86c cubr=fg:#f8f8f2 par=fg:#f8f8f2 dfn=fg:#ff0000 qdl=fg:#f8f8f2 cur=fg:#f8f8f2,fgo:1 acsl=bg:#bd93f9,bgo:0.25 itk=fg:#ff5555 trad=fg:#ff00ff ns=fg:#00ff00\"}]",
    "confirmations":"{\"SaveFileOptionsExtension:.aplf\":100}",
    "customAplFont":"SAX2')}.monaco-editor *{text-shadow: 0.5px 0.5px currentColor}",
    "defaultConfig":"v20.0",
    "editWins":"{\"width\":1772,\"height\":1080,\"x\":148,\"y\":0,\"ox\":50,\"oy\":100}",
    "editWinsRememberPos":"1",
    "ilf":"0",
    "indentOnOpen":"0",
    "kbdLocale":"en_GB",
    "keys":"{\"AC\":[\"Ctrl-,\"],\"AO\":[\"Ctrl-'\"],\"BK\":[\"Alt+Up\",\"Ctrl-Shift-Backspace\"],\"BP\":[\"Ctrl+.\"],\"DMN\":[\"Ctrl+Shift+N\"],\"DMR\":[\"Ctrl+Shift+L\"],\"DO\":[\"Ctrl-;\"],\"FD\":[\"Alt+Down\",\"Ctrl+Shift+Enter\"],\"NX\":[\"F3\"],\"PRF\":[\"Ctrl-P\"],\"QCP\":[\"Ctrl+Shift+P\"],\"TGC\":[\"Ctrl-\\\\\"],\"VAL\":[\"F8\"],\"PF2\":[],\"PF3\":[],\"PF8\":[],\"PF13\":[\"Shift+3\"],\"PF24\":[],\"PF45\":[\"Ctrl-Shift-F9\",\"Ctrl-Shift-W\"],\"PF46\":[\"Ctrl-Shift-A\",\"Ctrl-Shift-F10\"],\"PF47\":[\"Ctrl-Shift-F11\",\"Ctrl-Shift-S\"],\"PF48\":[\"Alt+Enter\"]}",
    "lbar":"0",
    "lbarOrder":"← +-×÷*⍟⌹○!? |⌈⌊≥⊥⊤⊣⊢ =≠≤<⍉>≡≢ ∨∧⍲⍱ ↑↓⊂⊃⊆⌷⍋⍒ ⍳⍸∊⍷∪∩~ /\\⌿⍀ ,⍴⌽⊖ ¨⍨⎕⍪⍣.∘⍤⍥@ ⍞⍠⌸⌺⌶⍎⍕ ⋄⍝→⍺⍵∇& ¯⍬ ",
    "menu":"# see below for syntax\n\nDyalog                          {mac}\n  About Dyalog             =ABT\n  -\n  Preferences...           =PRF\n  -                            \n  &Quit                    =QIT\n&File                           {!browser}\n  &Open...                 =OWS {local}\n  &New Session             =NEW\n  &Connect...              =CNC\n  -                             {!mac}\n  &Quit                    =QIT {!mac}\n&Edit\n  Undo                     =UND {!browser}\n  Redo                     =RDO {!browser}\n  -                             {!browser}\n  Cut                      =CT  {!browser}\n  Copy                     =CP  {!browser}\n  Paste                    =PT  {!browser}\n  Select All               =SA  {mac}\n  -                             {mac||!browser}\n  &Find...                 =SC\n  Find and &Replace...     =RP\n  -                             {!mac}\n  Preferences...           =PRF {!mac}\n&View\n  Show Language Bar        =LBR\n  Show Status Bar          =SBR\n  Show Workspace Explorer  =WSE\n  Show Debug               =DBG\n  Line Wrapping in Session =WRP\n  -                             {!browser}\n  Show Status Window       =SSW\n  Auto Status              =ASW\n  -                             {!browser}\n  Stops                    =TVB\n  Line Numbers             =LN\n  Outline                  =TVO\n  -                             {!browser}\n  Increase Font Size       =ZMI {!browser}\n  Decrease Font Size       =ZMO {!browser}\n  Reset Font Size          =ZMR {!browser}\n  -                             {!browser}\n  Toggle Full Screen            {!browser}\n&Window\n  Close All Windows        =CAW\n&Action\n  Edit                     =ED\n  Trace                    =TC\n  -\n  Clear all trace/stop/monitor =CAM\n  Weak Interrupt           =WI\n  Strong Interrupt         =SI\n&Threads                        {rp21}\n  Pause on Error           =POE\n  Pause all Threads        =PAT\n  Unpause all threads      =UAT\n  Continue all threads     =MA\n&Help\n  Getting &Started         =https://dyalog.com/introduction.htm\n  &RIDE User Guide         =https://docs.dyalog.com/latest/RIDE%20User%20Guide.pdf\n  -\n  Dyalog &Help             =DHI\n  &Language Elements       =LEL\n  &Documentation Centre    =DOX\n  -\n  Dyalog &Website          =https://dyalog.com/\n  &Email Dyalog            =EMD\n  -\n  Latest &Enhancements     =ENH\n  Read &Me                 =RME\n  &Third Party Licences    =TPL\n  &About                   =ABT {!mac}\n\n# Syntax:\n#   &x   access key, alt+x\n#   =CMD command code; some are special:\n#          LBR WRP WSE render as checkboxes\n#   =http://example.com/  open a URL\n#   {}   conditional display, a boolean expression\n#          operators: && || ! ( )\n#          variables: local browser mac win\n#   -    separator (when alone)\n#   #    comment\n\n# The =PRF (\"Preferences...\") menu item must be present.",
    "minimapRenderCharacters":"0",
    "pfkeys":"[\"\",\"\",\"\",\"\",\"\",\"<LL><Rl><CP><JP><PT><ER>\",\"<BP><RM><TC><BP>\",\"\",\"\",\"<BP>\",\"<BP><RM><TC><BP>\",\"\",\"\",\"⍒\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"<AC>\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"<UC>\",\"<LC>\",\"<DC>\",\"<ER><BK><RL>\"]",
    "prefixMaps":"{\"en_GB_Mac\":\"3£\\\\⊢|⊣\",\"fr_FR\":\"A⍶\"}",
    "sbar":"0",
    "selectedExe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 20.0 Unicode\\dyalog.exe",
    "showSessionMargin":"0",
    "squiggleTips":"1",
    "zoom":"12"
  }

Interpreter:
  Version: 20.0.48254
  Platform: Windows-64
  Edition: Unicode/64
  Date: Dec  4 2023 at 20:26:09