Dyalog / ride

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

^ isn't treated as ∧ in idioms #604

Open abrudz opened 4 years ago

abrudz commented 4 years ago

Describe the issue you are having

^ isn't treated as in idioms

Did you connect to an already running interpreter or start the interpreter from RIDE?

Start an interpreter

How do you reproduce the issue?

Select a recognisable colouring of idioms (e.g. underline) Paste the following into the session:

^\' '=          ∧\' '=  
+/^\' '=        +/∧\' '=
+/^\            +/∧\
{(+/^\' '=⍵)↓⍵} {(+/∧\' '=⍵)↓⍵}

Notice that only the right column is marked as idioms

This is quite unfortunate, as the left version is what appears in the documentation on idioms.

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

IDE:
  Version: 4.3.3438
  Platform: Win32
  Date: 2019-09-03 14:09:43 +0200
  Git commit: cc9cc6b4c5000c8033146a1731bc376d09f30ee1
  Preferences:{
    "colourScheme":"Default (1)",
    "colourSchemes":"[{\"name\":\"Default (1)\",\"theme\":\"light\",\"styles\":\"asgn=fg:00f com=fg:088 dfn=fg:00f diam=fg:00f err=fg:f00,bg:#980000 fn=fg:008 idm=fg:008,bg:#000000,B,bgo:1,fgo:0.25,U kw=fg:800 lnum=fg:008,bg:f,bgo:0 mod=bgo:0.25 mtch=bg:ff8,bgo:0.5 norm=bg:f,bgo:1 ns=fg:8 num=fg:8 op1=fg:00f op2=fg:00f par=fg:00f 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 tc=bg:d,bgo:1 tcpe=bg:c8c8c8,bgo:1 trad=fg:8 var=fg:8 zld=fg:008 scmd=fg:00f ucmd=fg:00f vtt=bg:ff0 ca=bg:828282,bgo:1,fg:0f0 cm=bg:0,bgo:0.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:e2d3bb,bgo:1\"}]",
    "indentOnOpen":"0",
    "kbdLocale":"en_US",
    "keys":"{\"DMK\":[\"Ctrl-K\"],\"SI\":[\"Ctrl-C\"],\"VAL\":[\"Alt-Enter\"]}",
    "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\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  &New\n    Character vector       =PF25\n    Character matrix       =PF26\n    Vector of character vectors =PF27\n    Function/operator      =PF28\n    Namespace              =PF29\n    Class                  =PF30\n    Interface              =PF31\n  -                             {!mac&&!browser}\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  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&Help\n  Getting started          =https://www.dyalog.com/introduction.htm\n  Dyalog Help              =http://help.dyalog.com/\n  Documentation Centre     =http://dyalog.com/documentation.htm\n  -\n  Dyalog Website           =http://dyalog.com/\n  MyDyalog                 =https://my.dyalog.com/\n  -\n  Dyalog Forum             =http://www.dyalog.com/forum\n  -                             {!mac}\n  About                    =ABT {!mac}\n  Intro                    =PF13\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: browser mac win\n#   -    separator (when alone)\n#   #    comment\n\n# The =PRF (\"Preferences\") menu item must be present.",
    "otherExe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 18.0 Unicode\\dyalog.exe",
    "pfkeys":"[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"<DI>\",\"\",\"\",\"]intro<ER>\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"<DL>)ed →\",\"<DL>)ed -\",\"<DL>)ed ∊\",\"<DL>)ed ∇\",\"<DL>)ed ⍟\",\"<DL>)ed ○\",\"<DL>)ed ∘\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"<CT><UC><RL><ER><PT><DC><RL>\"]",
    "selectedExe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 19.0 Unicode\\dyalog.exe"
  }

Interpreter:
  Version: 18.0.38756
  Platform: Windows-64
  Edition: Unicode/64
  Date: Jul 15 2020 at 19:56:53
e9gille commented 3 years ago

We can add that as an idiom when connecting to Dyalog up to 18.0, but with the next version the list of idioms is returned by the interpreter, so would need to be changed there.

e9gille commented 3 years ago

Fixed in RIDE, but may need more work depending on outcome of discussion with Dyalog (for Dyalog 18.2+)

abrudz commented 1 year ago

This has regressed in 4.5.3770: image