Commit Graph

457 Commits

Author SHA1 Message Date
Dmitry Bushev
3d65ffd3cd
Fix the Suggestions Database Updates Handling (#1161)
Misc updates to the Suggestions database updates handling
algorithm
2020-10-05 17:22:13 +03:00
Marcin Kostrzewa
8e07e0347f
Defining Methods for Operators (#1189) 2020-10-05 11:32:32 +02:00
Radosław Waśko
c824c1cb7b
Logging Service in the Launcher (#1169)
Migrate launcher's HTTP backend from Apache HTTP to Akka.
2020-10-02 18:17:21 +02:00
Marcin Kostrzewa
3eee990429
Polyglot Import Renaming (#1179) 2020-10-01 16:27:40 +02:00
Marcin Kostrzewa
a1748c3978
Enso's Text Type (#1166) 2020-09-30 13:33:57 +02:00
Dmitry Bushev
5ea7615bb4
Populate the Suggestions Database with Imported Modules (#1155)
During the compilation, the runtime will analyze
all modules in scope and send the appropriate
suggestion updates to the server.
2020-09-21 15:05:58 +03:00
Radosław Waśko
5cd977e904
Add Locks to the Launcher (#1147)
Adds file-based locks that synchronize access and modification of
components by various launcher instances.
2020-09-18 17:37:22 +02:00
Dmitry Bushev
9666d9065e
Fix project manager projects loading (#1145)
Fix loading of Enso projects in the enso/projects directory
2020-09-14 15:17:54 +03:00
Dmitry Bushev
033ccd5aec
Setup Runtime logging (#1128)
Configure logging of the Runtime context.
2020-09-09 18:16:59 +03:00
Radosław Waśko
044a0fa664
Implement Launcher Self-Update (#1125) 2020-09-09 15:37:26 +02:00
Dmitry Bushev
e92b9d0fc0
Store Project Manager Metadata in Project Directory (#1120)
Project Manager to stores its metadata inside the project directory, 
instead of maintaining the global index. This will allow users to move 
and modify files inside the ~/enso directory.
2020-09-07 12:25:14 +03:00
Radosław Waśko
2da720b1a9
Improve CLI Parameters Parsing (#1117) 2020-09-03 12:44:21 +02:00
Radosław Waśko
60d0c2ae45
Use Runner to Create Projects in Launcher (#1116) 2020-09-01 13:23:27 +02:00
Marcin Kostrzewa
4e337840cf
No Implicit Builtins (#1114) 2020-09-01 11:21:26 +02:00
Radosław Waśko
eea08a9fca
Configuration Management in the Launcher (#1112)
Names of fields `author` and `maintainer` in the `package.yaml` file
have been changed to `authors` and `maintainers` respectively, and their
format has been modified.
Projects created in older versions may not be compatible.
2020-08-31 15:53:33 +02:00
Radosław Waśko
125af6b7fe
Bump GraalVM Version to 20.2.0 (#1094) 2020-08-28 13:03:09 +02:00
Ara Adkins
e64c0384b0
Implement part of the Enso lexer in rust (#1109) 2020-08-27 13:27:22 +01:00
Dmitry Bushev
6b2356cf13
Add Base.Process library (#1106) 2020-08-27 09:44:27 +01:00
Dmitry Bushev
8e764f957b
Add Log Level Options to Project Manager (#1092)
Set the project manager log level from the CLI options
2020-08-21 13:02:52 +03:00
Marcin Kostrzewa
6bbb499a18
Module re-exports (#1095)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-20 18:42:58 +02:00
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
Ara Adkins
43f7b838f9
Implement code generation for the flexer (#1058) 2020-08-13 13:23:01 +01: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
Marcin Kostrzewa
b2fbf1a848
New Import Syntax (#1070) 2020-08-07 15:42:24 +02:00
Marcin Kostrzewa
0e5a20d8ad
Proper Imports Syntax (#1067) 2020-08-06 17:55:02 +02:00
Dmitry Bushev
467d13a9e7
Update Runtime Notifications API (#1055)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-04 12:31:56 +02:00
Ara Adkins
37cdd60fea
Refactor the flexer to enable code generation (#1040) 2020-08-03 18:26:10 +01:00
Dmitry Bushev
ef165e4f23
Emit value updates only on change (#1051) 2020-08-03 15:38:39 +01:00
Josef
359a768d2b
Integrate the Scala AST Generation with SBT (#1047) 2020-08-03 16:00:12 +02:00
Josef
8bb583df5e
Generate Scala Classes From The Stub AST (#1044) 2020-07-31 07:31:12 +02:00
Dmitry Bushev
cd6858a01e
Revert expressionId removal from value update (#1043) 2020-07-30 10:26:14 +01:00
Dmitry Bushev
2f9e7f51af
Handle Rename Command Properly (#1041)
In the current workflow, at first, the default Unnamed project is
created, and the Suggestions database is populated with entries from the
Unnamed.* modules. When the user changes the name of the project, we
should update all modules in the Suggestion Database with the new
project name.

This PR implements module renaming in the Suggestions database and fixes
the initialization issues.

- add: search/invalidateSuggestionsDatabase JSON-RPC command that resets
  the corrupted Suggestions database
- update: SuggestionsHandler to rename the modules in the
  SuggestionsDatabase when the project is renamed
- fix: MainModule initialization
2020-07-29 14:51:00 +03:00
Dmitry Bushev
93c4453299
Update ExpressionValueUpdate Notification API (#1033)
ExpressionValueUpdate notification contains information about the
executed object. To have the full information about this object, IDE
needs the id of the corresponding suggestion. PR updates the
notification adding the suggestion id of the executed object.

- update: public API for ExpressionValueUpdate notification
- update: ContextEventsListener groups ExpressionValueUpdates and sends
  them in a batch
- update: ContextRegistry listens to the notifications from runtime and
  routes them to the corresponding listener.
- test: add ContextEventsListenerSpec
2020-07-28 23:24:04 +03:00
Radosław Waśko
7dcfef0503
Add Installation Mechanism in the Launcher
1. Implements the `enso install distribution` command.
2. Implements a DistributionManager which is used for managing installation
   layout in the launcher.

PR #1034
Resolves #1010
2020-07-28 14:57:52 +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
Dmitry Bushev
45d75536aa
Wait for Suggestions Database Initialization (#1025) 2020-07-22 17:12:52 +03:00
Josef
cf79d99f3f
Create a stub AST for the parser (#1019) 2020-07-22 12:45:08 +01:00
Marcin Kostrzewa
6137c6559b
Method naming fixes (#1024) 2020-07-22 12:01:35 +02:00
Josef
9fcd4e2f3a
Add a lazy input reader for flexer (#1014) 2020-07-21 16:25:02 +01:00
Maciej Mikołajek
84e565e8bc
Add function to generate doc HTML from text (#1023) 2020-07-21 14:43:49 +01:00
Ara Adkins
f5ffbe8fa7
Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
Dmitry Bushev
b8ff893840
Enable FlakySpec only on Windows (#1015) 2020-07-20 17:13:37 +03:00
Maciej Mikołajek
157582b81e
Create documentation generator websocket wrapper (#1017) 2020-07-20 15:05:27 +02:00
Dmitry Bushev
30d136a141
Integration with the Searcher Database (#994) 2020-07-20 11:00:49 +03:00
Maciej Mikołajek
2801f58ba9
Expose connection with Documentation parser and generator in ScalaJS artifact (#1002)
* Get string of HTML-code from generator

* Export doc parser generator to JS

* test

* ren
2020-07-17 11:25:09 +02:00
Marcin Kostrzewa
40f44b5b9e
Test Framework for Enso (#998) 2020-07-16 15:53:27 +02:00
Josef
f068509b2e
Automate the Rust Code Generation (#990) 2020-07-15 11:29:13 +02:00
Dmitry Bushev
01217d036c
Increase timeouts on Windows CI (#988) 2020-07-14 14:44:40 +03:00
Josef
2626bf21f2
Flexer Tests (#983) 2020-07-13 13:15:40 +02:00
Radosław Waśko
610a38df9a
Launcher Native Image Build (#970) 2020-07-10 12:57:42 +02:00
Łukasz Olczak
728fe2e6ed
Move project dirs on project close (#979) 2020-07-08 20:30:16 +02:00
Radosław Waśko
0c33d5d841
Launcher Design (#963) 2020-07-08 15:54:41 +02:00
Ara Adkins
fd3e3df92c
Refactor the Flexer (#972) 2020-07-08 14:20:00 +01: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
ce538aafa4
Bugfix for project path collisions (#962) 2020-07-03 13:11:35 +02:00
Radosław Waśko
001509b3b8
Fix missing warning for unused arguments (#960) 2020-07-02 13:39:42 +02: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
Łukasz Olczak
a8293eb3a0
Support for Project Renaming (#929) 2020-07-01 15:55:50 +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
Marcin Kostrzewa
368a1547bb
Interpreter Performance Improvements (#950) 2020-06-29 16:11:03 +02:00
Radosław Waśko
0e139ee42a
Fix unbalanced parentheses parse error (#937) 2020-06-25 16:32:05 +02:00
Marcin Kostrzewa
0b9558d962
Standard Library Nodes DSL (#932) 2020-06-24 19:02:42 +02:00
Łukasz Olczak
5101840dae
Bugfix for text/applyEdit Reports Trailing Empty Line to be an Invalid Position (#934) 2020-06-24 18:47:40 +02:00
Ara Adkins
94c7e77e03
Update references to Luna to be Enso (#931) 2020-06-24 12:07:24 +01:00
Dmitry Bushev
9ba1aa6d34
Implement the Suggestions Database (#846) 2020-06-23 11:26:05 +03:00
Łukasz Olczak
a59f82b821
Support for Listing All Available Projects (#842) 2020-06-19 11:37:35 +02:00
Ara Adkins
2f404b7f08
Fix a bug with compiler metadata (#838)
1.  The metadata objects weren't being duplicated when duplicating
    the IR. This meant that the later passes would write metadata
    multiples times into one store (reference), causing wrong
    behaviour at codegen time.
2020-06-16 13:52:11 +01:00
Łukasz Olczak
1f46a3f9a1
Introduce Threaded Executions to the Runtime Server Instrument (#807) 2020-06-16 13:16:07 +02:00
Dmitry Bushev
e1077e0389
Add RetrySpec to tests (#828)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-06-16 10:20:51 +01:00
Ara Adkins
dd0f93c328
Add support for writing type signatures (#833)
1.  Adds support for type signature syntax.
2.  Lifts the type operators into metdata.
3.  Uses the signatures to determine arg suspension.
2020-06-15 17:45:14 +01:00
Ara Adkins
d1ab83b4f1
Update the configuration for new default branch 2020-06-15 14:25:55 +01:00
Łukasz Olczak
214cf164c5
Robust stoppage of the Language Server (#826) 2020-06-10 15:51:38 +02:00
Dmitry Bushev
2a3ec07c87
Runtime Cache Integration Part 2 (#800) 2020-06-04 20:25:23 +03:00
Michał Wawrzyniec Urbańczyk
b105bc1f01
Fix AST.Block inconsistency between reprBlock and ozipBlock. (#808) 2020-06-04 14:52:14 +02:00
Marcin Kostrzewa
e2bac23e26
Handles disable and doc comments (#780) 2020-05-27 14:59:23 +02:00
Dmitry Bushev
d68b3414b0
Implement the Runtime Cache (#778) 2020-05-26 21:37:08 +03:00
Łukasz Olczak
806bf9dcb7
Introduce Threaded Executions to the Runtime Server Instrument - Part 1 (#781) 2020-05-26 17:37:54 +02:00
Dmitry Bushev
5be8ec20bc
Add FlakySpec Test Suite (#768) 2020-05-20 19:05:09 +03:00
Marcin Kostrzewa
64e3f07903
Auto-imported Std Lib and File Operations Cleanup (#771) 2020-05-20 17:05:22 +02:00
Ara Adkins
ad9eb285fa
Implement print_err and readln (#754) 2020-05-15 16:21:39 +01:00
Josef
81bde28589
Assign a UUID to Each AST Node (#738) 2020-05-15 13:43:07 +02:00
Łukasz Olczak
a42495a68e
Project Manager package (#745) 2020-05-15 13:05:44 +02:00
Łukasz Olczak
7d82b1abee
Fix Flatbuffers Issues for IDE (#741) 2020-05-13 14:21:33 +02:00
Marcin Kostrzewa
e8ede5114e
Syntactic Java integration (#739) 2020-05-12 16:40:03 +02:00
Marcin Kostrzewa
dd5993d7ff
List Literals (#728) 2020-05-12 13:34:16 +02:00
Dmitry Bushev
0d12d98b9d
Update Language Server Spec (#726)
* doc: update executionContext/fork API

* doc: qualified name

* doc: add execution context example

* update: executionContext/create

* doc: cleanup

* doc: add Main.enso contents

* update: init execution context

* doc: update executionContext/push

* debug: clean

* Revert "debug: clean"

This reverts commit 1c71f0b678192363a61d6ac5d7509bd234d2a697.

* test: disable flaky ProjectManagerApiSpec
2020-05-08 20:30:47 +03:00
Ara Adkins
50e307e6ee
Bump scalac version to 2.13.2 (#703) 2020-04-30 20:30:55 +01:00
Dmitry Bushev
7e48e82dbc
Send Information About Function Calls (#696)
* Add Module reference to ModuleScope

* add: function call info

* add: impl getQualifiedName

* misc: cleanup

* add qualifiedName field

* upd: extend ClosureRootNode constructor

* misc: simplify
2020-04-29 18:56:03 +03:00
Ara Adkins
92d8393495
Remove non-working caches from CI (#674) 2020-04-24 17:33:27 +01:00
Ara Adkins
9013407091
Implement dataflow analysis for Enso (#673) 2020-04-23 16:25:39 +01:00
Łukasz Olczak
413962df92
Implementation of The Visualisation Binary Protocol (#665) 2020-04-23 12:42:59 +02:00
Marcin Kostrzewa
e2d901fb68
Module file operations through execution server (#660) 2020-04-20 14:33:51 +02:00
Dmitry Bushev
86fdc07ce0
Run scalafmt after updating its version (#661) 2020-04-17 17:05:56 +01:00
Łukasz Olczak
50e6072b41
Flatbuffers integration (#655) 2020-04-17 15:47:58 +02:00
Michał Wawrzyniec Urbańczyk
839967d2ac
Fixed an issue where traversing AST with offset yielded wrong results for a code Block. (#647) 2020-04-15 17:09:15 +02:00
Łukasz Olczak
d296ac1ef8
Implementation of session initialisation (#649) 2020-04-15 12:56:11 +02:00
Ara Adkins
8a99415a30
Fix warnings, docs, and repo structure (#651) 2020-04-14 17:00:51 +01:00
Ara Adkins
bfe81a731f
Reorganise repo for further development (#308) 2019-11-08 17:32:48 +00:00
Josef
59bcabeb21
Remove Runtime Reflection In Parser. (#267) 2019-10-31 14:50:27 +01:00
Wojciech Daniło
457a8128e8 Parser (#172) 2019-09-12 16:47:25 +02:00