Commit Graph

317 Commits

Author SHA1 Message Date
Radosław Waśko
a6b0a96f97
Add uninstallation functionality to the launcher (#1089) 2020-08-20 12:50:26 +01:00
Radosław Waśko
c979938527
Run components through the launcher (#1073) 2020-08-19 13:24:31 +01:00
Josef
5345bdcb3e
Stub Out the Parser Interface (#1065) 2020-08-14 11:10:52 +02:00
Radosław Waśko
11868cb528
Enso Version Management in the Launcher (#1059)
- Adds support for downloading engine and runtime versions in the launcher.
- Adds functionality to install, list and uninstall engine components.
2020-08-10 12:14:39 +02:00
Josef
1f8a4b802f
Fix the release workflow (#1057) 2020-08-07 10:18:09 +01:00
Josef
359a768d2b
Integrate the Scala AST Generation with SBT (#1047) 2020-08-03 16:00:12 +02:00
Marcin Kostrzewa
bd027e46bc
Early constructor resolution & import-loops immune compiler (#1048) 2020-07-31 21:20:43 +02:00
Radosław Waśko
61b285f182
[Tool] Move engine build after launcher
1. Our builds include a version check which for stability does not rely
   on build.sbt but instead on querying enso --version. Building the
   engine takes a lot of time, so to save that time on failed builds,
   we ensure that the launcher is built first (which is much faster)
   and only if its version check succeeds, the engine build is
   attempted. This is achieved by making the `build-engine` job in
   `release.yml` depend on `build-launcher`.
2. Enso version is bumped to `0.1.0`.
2020-07-23 11:42:14 +02:00
Radosław Waśko
e8e44f68ad
[Feat, Tool] Add CLI Parser for the Launcher
1.  This commit adds an extensive library for parsing commandline
    arguments and formatting output.
2.  It implements the expected CLI for the launcher.
3.  It turns off parallel execution on the CI in hopes of making it
    more stable.
4.  It implements plugin support in the launcher.
2020-07-22 19:28:03 +02:00
Radosław Waśko
1a38f7c331
Update Documentation and Build Settings (#993) 2020-07-21 10:14:26 +02:00
Dmitry Bushev
30d136a141
Integration with the Searcher Database (#994) 2020-07-20 11:00:49 +03:00
Dmitry Bushev
01217d036c
Increase timeouts on Windows CI (#988) 2020-07-14 14:44:40 +03:00
Radosław Waśko
610a38df9a
Launcher Native Image Build (#970) 2020-07-10 12:57:42 +02:00
Dmitry Bushev
6ba038c800
Implement Search Requests API (#953) 2020-07-06 16:55:21 +03:00
Ara Adkins
919ffbdfac
Refactor the crate structure (#967) 2020-07-03 14:42:45 +01:00
Radosław Waśko
7c7352fa72
Fix logger warnings in tests (#965) 2020-07-03 13:02:27 +01:00
Łukasz Olczak
b990f39784
Version option for Project Manager (#935) 2020-07-02 12:11:51 +02:00
Radosław Waśko
c3a0d249b1
Fix testOnly after Java 11 migration (#958) 2020-07-01 17:48:03 +02:00
Radosław Waśko
cf0c735e91
Java 11 Migration (#928) 2020-07-01 13:21:13 +02:00
Ara Adkins
e9b676834b
Bump the SBT and Scala versions (#948)
1.  This PR also re-enables windows CI.
2020-06-29 18:24:41 +01:00
Radosław Waśko
595003e965
Fix documentation metadata getting lost (#946) 2020-06-29 16:36:44 +02:00
Dmitry Bushev
8ecc786be6
Implement Suggestions Updates API (#930) 2020-06-26 19:52:42 +03:00
Marcin Kostrzewa
0b9558d962
Standard Library Nodes DSL (#932) 2020-06-24 19:02:42 +02:00
Dmitry Bushev
9ba1aa6d34
Implement the Suggestions Database (#846) 2020-06-23 11:26:05 +03:00
Radosław Waśko
3b326f0988
Build independent distributions on CI (#835) 2020-06-16 10:00:47 +01:00
Ara Adkins
d1ab83b4f1
Update the configuration for new default branch 2020-06-15 14:25:55 +01:00
Radosław Waśko
765d08bc79
Improve instrument compilation task (#825)
The old version did not take Language.java into account and it did not
trigger compilation on transitive dependencies.

Still did not find a way to safely re-trigger compilation, but a run
with inconsistent state is now aborted and a message is displayed to the
user to manually re-run the last task which will fix the inconsistency
problems.
2020-06-10 10:37:12 +02:00
Radosław Waśko
033db71100
Add task fixing Instruments compilation. (#814)
Incremental compilation of instruments may lead to runtime errors when
only some of the instruments are recompiled (because the unchanged
instruments are not registered by the Annotation Processor).
To fix this, we add a task that ensures all instruments are recompiled
when at least one of them changes.
2020-06-08 13:56:03 +02:00
Radosław Waśko
c8438fa77b
Binary Protocol for the Debugger (#796) 2020-06-05 10:48:16 +02:00
Ara Adkins
5420ca9482
Bump GraalVM to 20.1 (#775) 2020-05-21 11:46:06 +01:00
Łukasz Olczak
a42495a68e
Project Manager package (#745) 2020-05-15 13:05:44 +02:00
Marcin Kostrzewa
7025918553
Enso Distribution CI (#748) 2020-05-15 10:07:58 +02:00
Ara Adkins
ea23cf6fbc
Add sections, underscore args and ignores (#716) 2020-05-06 19:00:03 +01:00
Ara Adkins
50e307e6ee
Bump scalac version to 2.13.2 (#703) 2020-04-30 20:30:55 +01:00
Marcin Kostrzewa
d03a5a9dde
Stopgap JSON serialization for Enso objects (#698) 2020-04-29 11:23:46 +02:00
Ara Adkins
92d8393495
Remove non-working caches from CI (#674) 2020-04-24 17:33:27 +01:00
Marcin Kostrzewa
e2d901fb68
Module file operations through execution server (#660) 2020-04-20 14:33:51 +02:00
Łukasz Olczak
50e6072b41
Flatbuffers integration (#655) 2020-04-17 15:47:58 +02:00
Ara Adkins
8a99415a30
Fix warnings, docs, and repo structure (#651) 2020-04-14 17:00:51 +01:00
Łukasz Olczak
e966392cc8
Implementation of the Language Server Supervisor Process (#643) 2020-04-10 12:11:15 +02:00
Łukasz Olczak
56a4d80685
Implementation of project/listRecent command (#633) 2020-04-03 12:50:52 +02:00
Łukasz Olczak
5c616c2727
Implementation of project/open and project/close commands. (#631) 2020-03-31 15:51:05 +02:00
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