Dyalog / ride

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

Add menu items "quit to connect screen" and "quit and restart" #1194

Open abrudz opened 10 months ago

abrudz commented 10 months ago

Describe the issue you are having

A common usecase for RIDE is to close down APL only to restart a pristine interpreter, possibly with slightly tweakted settings. It'd be nice to have options to do each thing (in addition to the current just quit everything), and also a behaviour setting "when APL closes… ◉ close RIDE ◎ restart APL ◎ show connect screen"

The current "quit" should be renamed "quit RIDE and APL"

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