Commit Graph

525 Commits

Author SHA1 Message Date
Dmitry Bushev
0ffce13894
Add file/event command (#626)
* WIP FileEventWatcher

* WIP Capabilities

* update: FileEvent

* test: FileEventRegistryTest

* update: cleanup resources

* doc: misc

* update: FileEventRegistry protocol

* refactor: FileEventRegistry

* misc: cleanup

* doc: fix scaladoc

* test: resolve real path

* refactor: FileEventWatcher

* refactor: FileEventManager

* fix: test path

* update: FileEventManager handle watcher errors

* add: respond with custom errors

* add: handle ClientDisconnected

* doc: update

* add: force release capability on errors

* refactor: FileEventManager

* add: enumeratum

* update: stop manager after error

* update: watch manager

* update: manager sends events to client

* refactor: file event actors

* refactor: rename registry to handler

* refactor: rename manager to PathWatcher

* refactor: effectful watcher start and stop

* refactor: rename FileEventWatcher to WatcherAdapter

* misc: cleanup

* impl: unhandled

* feat: cancel timeout timers
2020-03-31 15:23:23 +03:00
Josef
6e2d552716
fix parser benchmarks (#629) 2020-03-27 16:45:31 +01:00
Łukasz Olczak
b2f67c5353
project/create and project/delete methods (#615) 2020-03-24 13:03:43 +01:00
Ara Adkins
2c1d967dd6
Extract remaining analyses from codegen (#616) 2020-03-24 10:28:03 +00:00
Ara Adkins
b6221e519a
Implement explicit alias analysis (#613) 2020-03-20 08:01:03 +00:00
Dmitry Bushev
4864d2623f
Refactor FileManager file commands (#609)
* refactor: create Config.scala

* WIP FileSystemHandler

* doc: update FileSystem list

* add: zio FileSystem

* update: FileSystemHandler runAsync

* add: config timeouts

* rename FileSystemHandler to FileSystemManager

* add: ZioExec

* add: FileManager router

* fix: FileManager return FileWiteResult

* update: FileSystemApi interface

* refactor: FileSystem with Zio

* impl: FileManager

* impl: cleanup LanguageServer

* impl: ReadFileHandler

* impl: CreateFileHandler

* impl: DeleteFileHandler

* impl: CopyFileHandler

* impl: MoveFileHandler

* impl: ExistsFileHandler

* impl: TreeFileHandler

* fix: filemanager tests

* misc: cleanup

* fix: BufferRegistry tests

* doc: add misc

* doc: misc

* feat: add ZioExec parameter to FileManager

* feat: FileManager uses FileSystemApi interface

* feat: FileSystem has blocking semantics

* feat: FileManager props
2020-03-19 13:47:08 +03:00
Łukasz Olczak
2863498da3
Scaffold the Project Manager (#610) 2020-03-18 11:41:55 +01:00
Marcin Kostrzewa
4b3943ce9b
Create a server instrument for language server <> runtime communications (#602) 2020-03-12 18:32:21 +01:00
Ara Adkins
ac5a9eb639
Add a --version flag to the cli (#584) 2020-03-09 13:44:40 +00:00
Łukasz Olczak
e5530045bf
text/openFile method (#575) 2020-03-06 15:17:46 +01:00
Rostyslav Zatserkovnyi
dfb4ec43ac
Update GraalVM to 20.0.0 (#576) 2020-03-06 13:40:29 +00:00
Łukasz Olczak
8bf56f5e6d
Artefact Builds for the Language Server (#566) 2020-03-03 14:11:42 +01:00
Marcin Kostrzewa
5628752271
Rope data structure (#561) 2020-02-28 14:17:48 +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
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
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
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
Ara Adkins
053df2ac2b
Upgrade the graph macros (#456) 2020-01-24 18:56:52 +00: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
Marcin Kostrzewa
37e383b430
Polyglot API & module-level expression eval (#424) 2020-01-10 15:53:46 +01:00
Josef
0b9664de60
Integrating Scala Parser Into Rust. (#362) 2019-12-17 14:33:21 +01:00
Ara Adkins
9a4332108f
Add lambdas, types, and methods support to new syntax (#358) 2019-11-27 11:32:36 +00:00
Josef
9665150c5d
Enable Scalajs For Syntax (#329) 2019-11-26 14:02:50 +01:00
Marcin Kostrzewa
85272edcb0
Graal upgrade to 19.3.0 (#350) 2019-11-22 16:38:31 +01:00
Marcin Kostrzewa
427e784663
Repl & Debugger (#345) 2019-11-19 16:16:58 +01:00
Marcin Kostrzewa
51d66cdef6
Jupyter bindings (#335) 2019-11-18 14:36:03 +01:00
Michał Wawrzyniec Urbańczyk
6078b54f50
Wrapping parser for Rust (#325)
* deriving JSON Encoder for Scala AST types
* websocket-based Parser Service
* wrapper for Parser in Rust that includes client for Parser Service
2019-11-18 14:12:16 +01:00
Ara Adkins
22aa4efda8
Add a low-level graph library (#334) 2019-11-18 11:18:16 +00:00
Ara Adkins
bfe81a731f
Reorganise repo for further development (#308) 2019-11-08 17:32:48 +00:00
Ara Adkins
460205c2b9
Integrate a compilation phase into the interpreter (#303) 2019-11-07 12:10:21 +00:00
Marcin Kostrzewa
cc389fd8e6
Fat Jar distribution (#271) 2019-11-05 15:12:33 +01:00
Michał Wawrzyniec Urbańczyk
7f242e2327
Set "-encoding UTF-8" for javac. (#268)
Set "-encoding UTF-8" options for javac. Without it compilation fails on platforms where javac defaults to other encoding, like most of Windows that default to whatever code page is active in the system.
2019-11-05 00:22:49 +01:00
Marcin Kostrzewa
7bb2202774
Error Handling (#263) 2019-10-29 15:32:50 +01:00
Marcin Kostrzewa
c646be4820 Include relevant resources for native-image generation (#262) 2019-10-28 11:46:24 +00:00
Marcin Kostrzewa
ca3773b97e Fix incremental compilation for parser (#248) 2019-10-17 17:34:08 +01:00
Josef
4c779df5af
Make it possible to retrieve map of IDs from AST. (#196) 2019-10-01 14:16:50 +02:00
Ara Adkins
b8036384d6
Bump the sbt and scala versions (#198)
This PR also updates the style guides.
2019-09-27 14:55:58 +01:00
Ara Adkins
6e9c557682
Bump the GraalVM version and fix CI (#195) 2019-09-25 17:49:43 +01:00
Wojciech Daniło
457a8128e8 Parser (#172) 2019-09-12 16:47:25 +02:00
Marcin Kostrzewa
47f5adfff3
Debugging flags for benchOnly (#179) 2019-09-10 18:53:23 +02:00
Marcin Kostrzewa
f8dea12e44
Mutltifile Projects (#169) 2019-09-05 18:01:51 +02:00
Marcin Kostrzewa
11dc690b21
CLI & Debug runner (#124) 2019-08-28 17:40:08 +02:00
Marcin Kostrzewa
5316ffb011
Bump Graal to 19.2.0 (#105) 2019-08-26 13:03:01 +02:00
Marcin Kostrzewa
fb8585504a
Currying & constructor default arguments (#104) 2019-08-23 20:13:32 +02:00
Ara Adkins
5ee1c2d194
Implement named and defaulted arguments (#80) 2019-08-09 16:25:30 +01:00
Marcin Kostrzewa
fec74a8925 Implement performance regression tracking (#77) 2019-08-08 12:50:29 +01:00
Michał Wawrzyniec Urbańczyk
d2e16c3e1f
Directory structure and packaging guideline (#64)
* Directory structure and packaging guidelines as suggested by wdanilo when discussing the file manager.
* renames to follow the proposed structure
2019-08-06 02:25:35 +02:00
Michał Wawrzyniec Urbańczyk
9c525edbb9
File Manager (#46)
File Manager — an Akka-based service providing a basic filesystem-like API over network. Currently it just wraps the local filesystem operations. In the future support for other kinds of storage might get added. Ref #32
2019-07-24 17:36:33 +02:00
Marcin Kostrzewa
7908ca4070
Datatypes and pattern matching (#45) 2019-07-17 20:00:45 +02:00
Ara Adkins
5e9d92a3b6
Introduce global scope to the interpreter 2019-07-11 16:30:14 +01:00
Marcin Kostrzewa
83db1dcfd3
Initial interpreter version – numbers, functions, tail recursion (#13)
Co-authored-by: Ara Adkins <me@ara.io>
Co-authored-by: Marcin Kostrzewa <marcinkostrzewa@yahoo.com>
2019-07-11 13:23:00 +02:00
Marcin Kostrzewa
c2a60eb186
Project manager (#11) 2019-07-10 14:13:45 +02:00
Ara Adkins
6864549af2
Project Setup (#4)
* Set up the interpreter project.
* Reformat build.sbt
* Fix style guide
2019-06-14 16:26:49 +01:00
Marcin Kostrzewa
c23209b078 Add preliminary package structure and API (#3) 2019-06-13 10:49:04 +01:00
Wojciech Danilo
6f84b8a772 Merge branch 'master' of github.com:luna/enso 2019-06-12 12:48:42 +02:00
Ara Adkins
e91df35902
Set up the repository (#1)
* Add scalafmt configuration
* Add docs and issue/PR templates
* Update gitignore, add readme and license
* Add contributing and code of conduct
2019-06-11 17:07:54 +01:00
Wojciech Danilo
fae4fe10ef Overall progress 2019-06-09 03:55:17 +02:00
Marcin Kostrzewa
76344cf79e add bench task 2019-06-07 14:52:22 +02:00
Marcin Kostrzewa
47665385dd fix project structure 2019-06-07 14:16:59 +02:00
Marcin Kostrzewa
5665c70117 structure formatting 2019-06-07 13:50:02 +02:00
Marcin Kostrzewa
21e7fd7785 multi project setup 2019-06-07 13:39:30 +02:00
Marcin Kostrzewa
b1395b6c04 use newer sbt 2019-06-07 12:42:35 +02:00
Wojciech Danilo
f111b7bba8 Updating lexer and parser rules 2019-06-07 10:54:20 +02:00
Wojciech Danilo
a9b1cc3120 Overall progress 2019-06-05 18:42:42 +02:00
Wojciech Danilo
023c82e8c6 Updating sbt config, adding benchmarks 2019-06-03 04:09:26 +02:00
Wojciech Danilo
bdd4904930 First full lexer version ready 2019-06-03 03:51:14 +02:00
Wojciech Danilo
b74af24aca Adding operators, layouts, and tests 2019-06-02 03:04:40 +02:00
Wojciech Danilo
815deda92b Initial commit 2019-06-01 20:32:49 +02:00