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
Marcin Kostrzewa
37e383b430
Polyglot API & module-level expression eval ( #424 )
2020-01-10 15:53:46 +01:00
Ara Adkins
34abad6fe4
Add design docs for caching and re-evaluation ( #422 )
2020-01-09 13:43:44 +00:00
Mateusz Czapliński
50593f6093
Fix paths in ide/README ( #420 )
...
Previously, paths in markdown links were incorrectly pointing to non-existent directories at repo root. This commit fixes them to link to existing subdirectories relative to the Readme file they're in.
2020-01-08 09:50:05 +00:00
Michał Wawrzyniec Urbańczyk
2f015c70de
HasSpan and HasRepr implementation for AST ( #416 )
...
Provides implementation of `HasSpan` and (newly introduced) `HasRepr` for all relevant Ast types.
Implements #379 .
Wherever feasible, I tried to reduce boilerplate with macros. Certainly more can be done in that regard but that'd require spending more time on this task than we allocated.
2020-01-08 00:51:59 +01:00
Marcin Kostrzewa
05118016e1
Implement value extraction from scopes ( #419 )
2020-01-07 17:38:49 +01:00
Marcin Kostrzewa
4f177aa0f5
Fix uncached flows, refactor and document the function call flow ( #417 )
2020-01-07 13:39:07 +01:00
Michał Wawrzyniec Urbańczyk
192440bedd
derive(Iterator) support for structs with fields of dependent types ( #412 )
...
This adds support for using `derive(Iterator)` to iterate over such structures like
```rust
struct Foo<T> {
a:(T,U,T),
b:Option<T>
}
```
i.e. where fields are dependent over last type argument, however they do not store it directly.
Dependent types like `Option<T>` are required to provide a compatible `iter` method.
Implements #407 .
2019-12-21 03:55:39 +01:00
Ara Adkins
83efbdfd6f
Organise the design documentation ( #415 )
2019-12-20 16:42:54 +00:00
Marcin Kostrzewa
1eed651728
Interpreter lifecycle & Module changes ( #414 )
2019-12-20 16:02:34 +01:00
Ara Adkins
d24577c565
Update design docs for engine services ( #411 )
2019-12-19 14:13:20 +00:00
Dmytro Mitin
f4480354c9
Update CONTRIBUTING.md ( #391 )
2019-12-19 10:57:41 +00:00
Michał Wawrzyniec Urbańczyk
3455d75101
derive(Iterator) support for enum types ( #387 )
...
This PR extends `derive(Iterator)` proc macro to support enumeration type when they have variants with a single unnamed field, that implements `IntoIterator`.
Thanks to that, it is now finally possible to derive iterator for the `Shape` type and similar enum types used in AST.
Implements #385
2019-12-18 14:30:46 +01:00
Josef
0b9664de60
Integrating Scala Parser Into Rust. ( #362 )
2019-12-17 14:33:21 +01:00
Marcin Kostrzewa
1cbe3d3534
Update engine-services.md
2019-12-17 11:26:20 +01:00
Ara Adkins
96fabb91f4
Sync Rust style guide with BaseGL repo
2019-12-17 10:21:59 +00:00
Ara Adkins
2bf9fea172
Add an initial design doc for engine services ( #386 )
2019-12-16 17:34:24 +00:00
Ara Adkins
f2aa6b6b26
Update scala-style-guide.md
2019-12-16 13:35:26 +00:00
Ara Adkins
b9ae90ba34
Update java-style-guide.md
2019-12-16 13:35:14 +00:00
Michał Wawrzyniec Urbańczyk
68c6ceff40
Completing Rust AST data structures ( #378 )
...
This pull request adjusts AST data structures in Scala and Rust to be compatible, while also fixing a number of JSON format mismatches find along the way. This implements #336 .
2019-12-16 14:03:59 +01:00
Wojciech Daniło
aebfe94a80
Update design notes ( #376 )
2019-12-09 05:32:36 +00:00
Ara Adkins
b1372cbf94
Fix naming for new design document
2019-12-06 22:10:47 +00:00
Ara Adkins
cbe5c441de
Edit the language design doc ( #375 )
2019-12-06 22:08:50 +00:00
Ara Adkins
c3acc5c615
Complete AST to AstExpression translation ( #374 )
2019-12-06 19:22:20 +00:00
Marcin Kostrzewa
2b8af07148
Fix jupyter & tweak stacktrace elements & pretty printer ( #373 )
2019-12-06 12:58:20 +01:00
Josef
8ae06e0f09
support escaping in raw strings ( #369 )
2019-12-05 11:13:46 +01:00
Ara Adkins
db4cbacec3
Add suspended blocks, fix thunk performance ( #371 )
...
This commit adds support for suspended blocks in the interpreter and also fixes
a major performance issue with nested thunks that was causing quadratic
evaluation time.
2019-12-04 16:00:53 +00:00