Giter VIP home page Giter VIP logo

ride's Introduction

RIDE

RIDE is a remote IDE for Dyalog APL.
Documentation for Ride.

Screenshot

Getting started

Option 1: Download and install the latest release from this repository.

Option 2: Build RIDE from source:

Install Git and NodeJS v18.17.0

git clone https://github.com/dyalog/ride --depth=1
cd ride
npm i              # download dependencies
npm run css        # compile css
npm run dev        # compile css and start RIDE
npm start          # start RIDE (without building native apps)
npm run build dist # compile css and build native apps under _/ride${version}/
npm run clean      # cleans your build directory

npm run build dist builds for all platforms.

You can also build platforms separately:

npm run build {CODE}

where {CODE} is one of

CODE OS ARCH
w win32 ia32
l linux x64
o darwin x64
oa darwin arm64
m mas x64
ma mas arm64
a linux armv7l

(# starts a comment)

ride's People

Contributors

0xace avatar abrudz avatar dependabot[bot] avatar dyaandys avatar dyalogjenkins avatar e9gille avatar flouc001 avatar fourier avatar jackninway avatar jasondyalog avatar jasonrivers avatar jayfoad avatar johndaintree avatar johnscholes avatar jonnersw avatar karltd avatar mkromberg avatar ngn avatar nsmaciej avatar sloorush avatar xpqz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ride's Issues

Inappropriate use of green-and-white-cross pointer

On OS X dragging the text to a different point uses the vertical bar cursor. Holding the Option/alt key while doing this changes the cursor to the green and white cross (Implying a copy - but it still moves the text).

Add a Threads window

Add a Threads window like in the ODE. This requires some new messages in the protocol.

Selecting a thread in the window should send the existing but undocumented SetThread protocol message.

Auto-complete should kick in after 0 chars

The IDE has a setting for how many characters one needs to write before auto-complete kicks in. Since this setting is not alterable from within RIDE, it should default to 0. It is currently 1.

Example:
In the IDE, set Options>Configure>Auto Complete>Make suggestions after 0 characters.
In the session, type ⎕SE. and wait to see the suggestions.
In RIDE, type ⎕SE.

Mouse-pointer should change to "Vertical Resize" when hovering over splitter between edit window and session

2017-01-25_19-01-18

see screenshot...

IDE:
Version: 4.0.2611
Platform: Win32
Date: 2017-01-17 09:27:04 +0000
Git commit: ce39e76
Preferences:{
"favs":"[{"type":"start","ssh_auth_type":"pass","ssh_tnl_auth_type":"pass","host":"localhost","exe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\dyalog.exe","args":"inifile=\"SOFTWARE\\Dyalog\\Dyalog APL/W-64 16.0 Unicode\"\nC:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\Samples\\ole\\ado.dws"}]",
"kbdLocale":"en_US",
"selectedExe":"C:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe",
"wse":"1"
}

Interpreter:
Version: 16.0.29046
Platform: Windows-64
Edition: Unicode/64
Date: Jan 23 2017 at 18:32:43

Enhancement: runtime update in Workspace Explorer

  Platform: MacIntel
  Date: 2016-12-19 09:16:32 +0000
  Git commit: b07720323cca4239e3e761c5daecbc1aa9045bbf

When variable is assigned/namespace created/function create etc this is not reflected in Workspace Explorer. In order to see the changes in Workspace Explorer it is necessary now to
fold/unfold the default namespace in Workspace Explorer.

Also it would be great to see values of variables in Workspace Explorer, like in Matlab, see below:

screen shot 2017-01-03 at 20 47 09

Window handling when opening editor from maximized WS-Explorer

When clicking a fn or class in maxmized WS-Explorer to open the editor, it shows the editor - but also the session (which was not there in maximized explorer-view) comes back. That is unexpected and probably not too helpful, but probably unavoidable with the current window-handling.
If floating windows will be implemented, perhaps this can be revisited...

2017-01-26_07-42-15

Add an SI Stack window

Add an SI stack window, like in the ODE. There is a GetSIStack message in the protocol for this.

)off doesn't close RIDE

When Launching with a spawned session, )off should close ride instead of giving a message that the interpreter has closed

Status bar

It might be nice if RIDE had a status bar at the bottom, like the classic Windows Dyalog IDE, telling you the current workspace, current values of ⎕IO and ⎕ML etc.

Language-Bar should show glyphs in same order as in ODE

For most glyphs it is ok, but there are some differences:
2017-01-25_19-32-24

Also, in my fresh 16-install, zilde is missing on the lb of the ODE, I'll take that to Andy, just mentioning here because it is the final difference...

About:
IDE:
Version: 4.0.2611
Platform: Win32
Date: 2017-01-17 09:27:04 +0000
Git commit: ce39e76
Preferences:{
"favs":"[{"type":"start","ssh_auth_type":"pass","ssh_tnl_auth_type":"pass","host":"localhost","exe":"C:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\dyalog.exe","args":"inifile=\"SOFTWARE\\Dyalog\\Dyalog APL/W-64 16.0 Unicode\"\nC:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\Samples\\ole\\ado.dws"}]",
"kbdLocale":"en_US",
"selectedExe":"C:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe",
"wse":"1"
}

Interpreter:
Version: 16.0.29046
Platform: Windows-64
Edition: Unicode/64
Date: Jan 23 2017 at 18:32:43

Replace the menu-bar with a toolbar

The menu-bar has very few items on it. and those items have very few sub-items.

On macOS the menu-bar shows up on the top edge of the screen (modulo #17) (like all macOS apps), but if RIDE is run in a browser, the menu-bar is inside the page area of the browser.

On all platforms, it is very strange to have a menu-bar underneath the address/bookmarks-bar in a browser, however a toolbar/ribbon/tab-bar stuck to the top edge is quite normal.

Therefore: Replace the menu-bar with a toolbar.

The current session is remote. To connect elsewhere or launch a local interpreter, please use "Connect..." instead.

When "launch an interpreter" on the local system followed by "New Session" I'm presented with a message: "The current session is remote. To connect elsewhere or launch a local interpreter, please use "Connect..." instead.", The current session is local and not remote.


IDE:
Version: 4.0.2395
Platform: Linux x86_64
Date: 2016-10-27 10:19:12 +0100
Git commit: e309bb5
Preferences:{
"favs":"[{"type":"start","ssh_auth_type":"pass","exe":"/opt/mdyalog/16.0/64/unicode/mapl"}]",
"kbdLocale":"en_GB",
"selectedExe":"/opt/mdyalog/16.0/64/unicode/mapl",
"theme":"classic",
"colourScheme":"Francisco Goya"
}

Interpreter:
Version: 16.0.28511
Platform: Linux-64
Edition: Unicode/64
Date: Oct 26 2016 at 02:24:33

RIDE should ask "are you sure" before exiting on a key stroke

RIDE 4 on Linux exits immediately (killing my spawned interpreter) if I do any of:

  • press Ctrl+Q
  • press Alt+F4
  • click on the x in the window decoration

All of these ought to prompt me with an "are you sure?" dialog. (But there's no need to prompt if I type )off/)continue/⎕off in the session.)

Ctrl+Enter on a blank line makes cursor disappear

On Linux RIDE with a local spawned interpreter, if I hit Ctrl+Enter on a blank line in the session then the cursor disappears! I can still type into the session, but the cursor doesn't reappear until the next time I hit Enter.

IDE:
Version: unknown
Platform: Linux x86_64
Date: unknown
Git commit: unknown
Preferences:{
"favs":"[{"type":"start","ssh_auth_type":"pass","ssh_tnl_auth_type":"pass","exe":"apl"}]",
"kbdLocale":"en_GB",
"keys":"{"NX":["Shift-Ctrl-Right"]}",
"otherExe":"apl"
}

Interpreter:
Version: 16.0.29028
Platform: Linux-64
Edition: Unicode/64
Date: Jan 19 2017 at 14:17:27

End of session disappears on Trace

If the input line is below the middle of the screen and you enter trace mode using ctrl+enter, the tracer grabs the bottom half of the screen, and the last half screen worth of the session is hidden. The session should be scrolled so that the bottom of the session with the input line remains visible.

Ctrl+Tab tabs from edit window to session but not back again

If I fire up a fresh RIDE 4 and spawn a local interpreter:

  1. )ed foo opens a new editor window and focuses on it
  2. Ctrl+Tab switches focus to the session, leaving the editor window open
  3. Ctrl+Tab again does nothing. It should switch focus back to the editor.

Sometimes (possibly after using the tracer) RIDE gets into a state where this bug goes away, and I can switch focus in both directions.

IDE:
Version: unknown
Platform: Linux x86_64
Date: unknown
Git commit: unknown
Preferences:{
"favs":"[{"type":"start","ssh_auth_type":"pass","ssh_tnl_auth_type":"pass","exe":"apl"}]",
"kbdLocale":"en_GB",
"keys":"{"NX":["Shift-Ctrl-Right"]}",
"otherExe":"apl"
}

Interpreter:
Version: 16.0.29028
Platform: Linux-64
Edition: Unicode/64
Date: Jan 19 2017 at 14:17:27

RIDE unresponsive

RIDE got into a state today where it did not react to resizing of the window, selections from the menu and even closing the main-window to exit the app did not work. Had to end it via Taskmanager.

I know this is not worth much w/o a repro which I do not have (yet). Wanted to mention it anyway - maybe a repro will show up... ;-)

Floating windows

Coming from terminal to RIDE 4 without floating editor/tracer windows is a huge step forward.

Coming from RIDE 3 or the IDE to RIDE 4, thus losing the floating windows is a huge loss. Among other things, it makes it difficult to use multiple monitors, and to have an "L" shaped session with a top corner being an editor.

Custom fonts

@ngn said: export RIDE_CSS=/path/to/my-styles.css can be used for that

confirm session close

In the old IDE closing the session window is confirmed with a dialog because it may cause loss of data. RIDE should do the same.

On behalf of @JohnScholes

Auto-complete )load and )copy history

The IDE keeps a list of latest )LOADed workspaces, and shows them as an auto-complete list when entering )l. RIDE could ask the interpreter or maintain its own list or search the log for lines beginning with the entered letters.

Bug: OSX Cmd+v/Ctrl+v doesn't work

Cannot paste anything to the interpreter window, no reaction on neither Cmd+v nor Ctrl+v.

IDE:
  Version: 4.0.1
  Platform: MacIntel
  Date: 2017-01-05 15:39:08 +0000
  Git commit: 027e5f624db77e10c8d97407a7f168073c9e60fd
  Preferences:{
    "blinkCursor":"0",
    "colourScheme":"B&W",
    "colourSchemes":"[{\"name\":\"B&W\",\"styles\":\"asgn=fg:00f com=fg:088 dfn=fg:00f diam=fg:00f err=fg:f00 fn=fg:008 idm=fg:00f kw=fg:800 lnum=fg:008,bg:f,bgo:1 mod=bg:e,bgo:1 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 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 trad=fg:8 var=fg:8 zld=fg:008 scmd=fg:00f ucmd=fg:00f vtt=bg:ff0 bcr=bg:0\"}]",
    "favs":"[{\"type\":\"start\",\"ssh_auth_type\":\"pass\",\"ssl\":1,\"exe\":\"/Applications/Dyalog-15.0.app/Contents/Resources/Dyalog/mapl\",\"name\":\"Local Dyalog 15\",\"ssh_tnl_auth_type\":\"pass\"},{\"ssh_auth_type\":\"key\",\"type\":\"start\",\"name\":\"Linode Dyalog 15\",\"ssh\":1,\"port\":\"5122\",\"user\":\"fourier\",\"host\":\"txmhub.com\",\"exe\":\"/usr/bin/dyalog\",\"ssh_key\":\"/Users/alexeyv/.ssh/id_rsa\",\"ssh_tnl_auth_type\":\"key\",\"ssh_tnl_key\":\"/Users/alexeyv/.ssh/id_rsa\",\"ssh_tnl\":1}]",
    "kbdLocale":"en_US_Mac",
    "keys":"{\"WSE\":[\"Ctrl-W\"]}",
    "otherExe":"/usr/bin/dyalog",
    "selectedExe":"/Applications/Dyalog-15.0.app/Contents/Resources/Dyalog/mapl",
    "wse":"1",
    "zoom":"2"
  }

Interpreter:
  Version: 15.0.27700
  Platform: Mac-64
  Edition: Unicode/64
  Date: Jun 29 2016 at 15:58:23

Bug: No menu in RIDE4 on OSX

  Platform: MacIntel
  Date: 2016-12-19 09:16:32 +0000
  Git commit: b07720323cca4239e3e761c5daecbc1aa9045bbf

The RIDE built winh node mk dist doesn't have a menu on OSX:
screen shot 2017-01-03 at 20 39 33

Empty Status Output Window

Description:

When starting MiServer 3.0 (download from a current GitHub commit), an empty Status Output window pops up (over my Windows APL session, not my RIDE session). However, starting MiServer 3.0 without RIDE produces no discernible status output.

Repro:

  1. Download/Clone MiServer 3.0
  2. Start RIDE (I started a 150u64 interpreter)
  3. )load the miserver workspace
  4. Cursor up to the line that says "Start './SampleMiSites/MS3' ,,,"
  5. Press Enter

About Information:

IDE:
Version: 4.0.2591
Platform: Win32
Date: 2017-01-05 12:21:28 +0000
Git commit: aeaeb45
Preferences:{
"kbdLocale":"en_US",
"selectedExe":"C:\Program Files\Dyalog\Dyalog APL-64 15.0 Unicode\dyalog.exe",
"title":"{PROFILE}-{WSID}"
}

Interpreter:
Version: 15.0.28845
Platform: Windows-64
Edition: Unicode/64
Date: Dec 18 2016 at 17:55:13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.