Commit Graph

785 Commits

Author SHA1 Message Date
Michał Wawrzyniec Urbańczyk
22c431c796
Parser Attaching Ids to Expressions (#577)
This PR makes two changes:
1. parser will give IDs to nodes' expressions (unless already set);
2. `ASTOf.equals` will not compare IDs

Both were already agreed to and implemented as part of `wip/mwu/graph-syntax` branch (though 1. in quite different shape). However, it was abandoned after Rust was selected as the technology for IDE "backend". Now, as we are reimplementing double representation in Rust we need parts of the technology back in the parser.

Prerequisite for https://github.com/luna/ide/issues/186.
Implements https://github.com/luna/ide/issues/228.
2020-03-09 15:49:04 +01:00
Ara Adkins
cc98f15ee8
Update the bug report template 2020-03-09 13:51:28 +00:00
Ara Adkins
ac5a9eb639
Add a --version flag to the cli (#584) 2020-03-09 13:44:40 +00:00
Dmitry Bushev
7b17e7e789
Add file/move message to language server (#574)
* feat: impl Ws MoveFile

* doc: update engine-services

* misc: run scalafmt

* test: add more

* fix: rebase

* test: add missing cases

* misc: run scalafmt

* test: update
2020-03-09 14:26:10 +03:00
Dmitry Bushev
22f505b6c4
Add file/exists message to language server (#579)
* feat: impl file/exists

* doc: update engine-services

* doc: wrap 80
2020-03-09 13:54:44 +03:00
Łukasz Olczak
31d5e6eb5b
text/closeFile method (#583) 2020-03-06 19:14:50 +01:00
Marcin Kostrzewa
10539fcc27
Add a CI check of artifact validity (#582) 2020-03-06 17:32:57 +01:00
Ara Adkins
23d33c4438
Desugar operators to functions (#581) 2020-03-06 15:23:39 +00:00
Łukasz Olczak
e5530045bf
text/openFile method (#575) 2020-03-06 15:17:46 +01:00
Ara Adkins
9913915fd9
Mention the hsdis library in CONTRIBUTING.md 2020-03-06 13:47:17 +00:00
Rostyslav Zatserkovnyi
dfb4ec43ac
Update GraalVM to 20.0.0 (#576) 2020-03-06 13:40:29 +00:00
Maciej Mikołajek
e7167bfc95
Update README.md and CONTRIBUTING.md (#580) 2020-03-06 12:02:19 +00:00
Maciej Mikołajek
b332cdd433
Update readme (#578) 2020-03-06 10:09:54 +00:00
Dmitry Bushev
2275a97233
Add file/copy message to language server (#570)
* feat: impl file/copy command

* test: add Ws tests

* doc: update engine-services

* misc: run scalafmt

* test: exists

* test: typo

* fix: impl missing test cases
2020-03-05 19:18:20 +03:00
Marcin Kostrzewa
f1c4ee8140
Execution API spec (#572)
Co-Authored-By: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-03-05 15:25:57 +01:00
Ara Adkins
02286b6ce8
Update CI images (#573) 2020-03-05 10:30:27 +00:00
Dmitry Bushev
a712288aad
Add file/delete message (#568)
* impl: file/delete

* add: tests

* doc: update engine-services

* misc: remove irrelevant comment

* test: address review comments

* Revert "misc: remove irrelevant comment"

This reverts commit a89a5505db59407a6ce7a8e8ab8e274ec0ee8f3f.

* test: exists
2020-03-04 16:43:35 +03:00
Łukasz Olczak
8bf56f5e6d
Artefact Builds for the Language Server (#566) 2020-03-03 14:11:42 +01:00
Marcin Kostrzewa
da392ff26f
Split tests & select random port 2020-03-03 11:16:17 +01:00
Ara Adkins
fa845ee4c6
Convert the compiler pipeline to scala (#563) 2020-03-02 12:33:28 +00:00
Marcin Kostrzewa
5628752271
Rope data structure (#561) 2020-02-28 14:17:48 +01:00
Łukasz Olczak
0b22606fa1
File and directory creation for LS (#560) 2020-02-28 10:37:42 +00:00
Łukasz Olczak
fe471314ec
File Reads for the Language Server (#559)
File Reads for the Language Server
2020-02-26 18:03:14 +01:00
Michał Wawrzyniec Urbańczyk
75127d07b9
Fixed nested serialization on the parser service request format. (#558) 2020-02-26 14:32:05 +01:00
Łukasz Olczak
016602972f
File write feature. (#557)
Provides writing to a file capability. It writes a textual content to an arbitrary file.
2020-02-25 14:38:48 +01:00
Josef
083fa0e4a5
Pass id map to parser calls. (#556) 2020-02-25 13:11:20 +01:00
Marcin Kostrzewa
d394888a5a
Capabilities system & canEdit capability (#555) 2020-02-24 11:23:08 +01:00
Marcin Kostrzewa
41c992b13e
Add content field to text/openFile 2020-02-21 18:34:17 +01:00
Ara Adkins
cd5206e3a4
Specify the engine protocol (#554) 2020-02-21 16:29:50 +00:00
Marcin Kostrzewa
639c2aeceb
Json RPC improvements & basic server structure. (#522) 2020-02-21 12:35:14 +01:00
Ara Adkins
e8fcb445be
Clean up the stopgap IR (#521) 2020-02-19 14:41:17 +00:00
Josef
06363f4126
Pass id map to parser calls. (#519) 2020-02-19 13:10:01 +01:00
Ara Adkins
adf5fe7db2
Add more in-depth tests to core (#489) 2020-02-14 16:29:24 +00:00
Dmitry Bushev
8d8e95e14a
Update to scala 2.13.1 (#481) 2020-02-13 14:33:39 +00:00
Ara Adkins
9dee1911f8
Add smart constructors for the core nodes (#480) 2020-02-13 09:52:05 +00:00
Marcin Kostrzewa
a288ecaa5c
JSON RPC base actor (#482) 2020-02-12 17:41:20 +01:00
Ara Adkins
ba84ee7e6e
Implement the primitive core entities (#463) 2020-01-31 16:58:35 +00:00
Michał Wawrzyniec Urbańczyk
4533780d1f
Remove IDE Code From This Repository (#461)
* removed IDE code

* updated readme, removed ide dir

* typo

* Update README.md

Co-Authored-By: Ara Adkins <iamrecursion@users.noreply.github.com>

* flatten common/scala to scala

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-01-29 23:35:03 +01:00
Marcin Kostrzewa
a2703bb296
Language Server files interface (#462) 2020-01-29 16:17:36 +01:00
Michał Wawrzyniec Urbańczyk
6838023ba7
Publish scala-parser.js as a build artifact (#457)
ref #430
2020-01-27 17:42:40 +01:00
Dmytro Mitin
3412606e2a
Subset of LSP - Part 1 (#453)
* Rename language-server -> runner, add language-server, gateway

* Add entry point --lsp

* Add Gateway, LanguageServer

* Add stab for Initialize

* Add stubs for Initialize, Initialized

* Add GatewayTest

* fix PR

* increase timeout

* merge with master

* fix compilation after merge

* reformat with scalafmt

* Add TODOs

* Add doc for gateway

* Update CONTRIBUTING.md

* Refactor code for PR

* Add Request#response(..)

* Make Initialize, Initialized extractor objects

* Refactor for -> map

* Fix docs

* Remove DerivationConfig

* Make Request, Notification polymorphic

* Add Param.Array, Params.Array

* Replace Decoder#apply -> tryDecode

* Refactor code

* Add docs

* Refactor code

* Refactor code

* Refactor code

* Make gateway a pure actor

* Add client capabilities

* Add server capabilities

* Add docs for capabilities

* Add docs

* Add docs

* Fix Server.Config

* Update doc for Server

* Add requests, notifications and params

* Improve PR

* Rename Protocol -> JsonRpcController

* Add docs

* Add requests and notifications

* Fix Result

* Add requests and notifications

* Add WillSaveTextDocumentWaitUntil request params and result

* Add params

* Add tests for requests

* Add textDocumentSync.willSaveWaitUntil server capability

* Handle text id

* Fix Edit workspace client capability

* Clean up

* Add initialize, initialized, shutdown, exit

* Add docs

* Fix identation

* Fix identation

* Refactor code

* Add docs

* Improve PR

* Add tests

* Fix docs for RequestExtractor

* Fix docs
2020-01-27 13:23:32 +02:00
Michał Wawrzyniec Urbańczyk
175212bf4c
File Manager Client Libary for Rust (#454)
ref #423
2020-01-25 02:38:59 +01:00
Ara Adkins
053df2ac2b
Upgrade the graph macros (#456) 2020-01-24 18:56:52 +00:00
Maciej Mikołajek
222b132aee Enso-Doc: Changes to style & HTML generator (#428) 2020-01-24 03:44:44 +01:00
Marcin Kostrzewa
3b29bc3483 Add value caching for nodes (#438) 2020-01-22 17:04:55 +00:00
Marcin Kostrzewa
e80667a487
Function call instrumentation (#433) 2020-01-21 15:01:52 +01:00
Michał Wawrzyniec Urbańczyk
dbecb2c871
JSON-RPC Client Support Library for Rust (#429)
This PR adds `json-rpc` crate — a library facilitating writing clients using JSON-RPC 2.0 protocol.

This library is meant to be used in implementation of File Manager and, in future, of Language Server clients.

The library is agnostic about `Transport` — but the interface has been designed in compliance with web-sys websockets, as this will be primary platform. 

The RPC clients implemented on top of this library are expected to provide Future-based asynchronous API.

Client is designed to work in a single-thread environment,

Implements #426.
2020-01-18 03:45:38 +01:00
Dmytro Mitin
498587e271
Stub Out Gateway and Language Server Akka Services, Implement a Starting Subset of LSP (beginning) (#418)
* Rename language-server -> runner, add language-server, gateway

* Add entry point --lsp

* Add Gateway, LanguageServer

* Add stab for Initialize

* Add stubs for Initialize, Initialized

* Add GatewayTest

* fix PR

* increase timeout

* merge with master

* fix compilation after merge

* reformat with scalafmt

* Add TODOs

* Add doc for gateway

* Update CONTRIBUTING.md

* Refactor code for PR

* Add Request#response(..)

* Make Initialize, Initialized extractor objects

* Refactor for -> map

* Fix docs

* Remove DerivationConfig

* Make Request, Notification polymorphic

* Add Param.Array, Params.Array

* Replace Decoder#apply -> tryDecode

* Refactor code

* Add docs

* Refactor code

* Refactor code

* Refactor code

* Make gateway a pure actor

* Add client capabilities

* Add server capabilities

* Add docs for capabilities

* Add docs

* Add docs

* Fix Server.Config

* Update doc for Server

* Improve PR

* Rename Protocol -> JsonRpcController

* Add docs

* Fix identation.

* Fix identation

* Fix identation

* Fix identation

* Fix docs
2020-01-17 17:35:44 +02:00
Josef
a29cadbd48
Add CI For Rust. (#410) 2020-01-15 11:56:42 +01:00
Ara Adkins
f0d0495b27
Record decisions about the return value of = (#427) 2020-01-15 10:01:56 +00:00