Commit Graph

511 Commits

Author SHA1 Message Date
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
235e17286d
Make launched processes inherit streams (#1101)
Processes launched by the launcher inherit its stdin, stdout and stderr.
This makes it possible to correctly detect the terminal in the REPL.
2020-08-28 14:04:49 +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
170df5ebd8
Fix SBT Exit During Boot With Code 1 (#1108)
Fix the issue when sbt exits during the boot with error code 1
2020-08-27 13:00:01 +03:00
Dmitry Bushev
6b2356cf13
Add Base.Process library (#1106) 2020-08-27 09:44:27 +01:00
Dmitry Bushev
4ad606f526
Add Trace Logging to Language Server Boot (#1107)
Add extra verbose logging to the Language Server boot
2020-08-25 13:02:33 +03:00
Marcin Kostrzewa
5b6ce5b31f
Implement imports and exports for Main.enso (#1098) 2020-08-21 16:30:13 +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
Radosław Waśko
3f3606bf9e
Fix version check to work with Graal EE too (#1096) 2020-08-21 11:31:40 +02: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
Dmitry Bushev
416a7f60b0
Resolve here References when Building Suggestions (#1093)
Resolve `here` method references when building a suggestion
2020-08-20 18:05:16 +03: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
Dmitry Bushev
6da3b9252f
Add DISABLE_PARALLEL_EXECUTION runtime option (#1087)
Add runtime option for sequential command execution
2020-08-19 08:00:21 +03:00
Adam Obuchowicz
74e56c0d48
Add info about visualizations in the package structure (#1088) 2020-08-18 16:04:53 +01:00
Dmitry Bushev
4ccfa5d410
Fix Method Pointer Update Notifications (#1084)
Update the implementation to send the full update containing both,
new type and method pointer, when one of them is changed.
2020-08-18 17:43:29 +03:00
Marcin Kostrzewa
3b96b9c4cc
Imports, Exports, and Modules documentation (#1086)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-17 17:45:00 +02:00
Dmitry Bushev
5fcd80d4d0
Return Error When the Method Pointer Not Found (#1083)
Enable explicit error notifications when the execution
of the stack frame has failed.
2020-08-17 15:26:54 +03:00
Josef
5345bdcb3e
Stub Out the Parser Interface (#1065) 2020-08-14 11:10:52 +02:00
Marcin Kostrzewa
da3b2bbe31
Fix a bug in error pattern matching (#1081) 2020-08-13 18:26:57 +02:00
Ara Adkins
43f7b838f9
Implement code generation for the flexer (#1058) 2020-08-13 13:23:01 +01:00
Dmitry Bushev
205c4e0002
remove duplicate suggestion entry id (#1074)
Remove duplicate SuggestionEntryId type alias from
the Language Server docs.
2020-08-11 15:17:39 +03: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
Dmitry Bushev
65dec91bc0
Handle TailCallException in Runtime Instrument (#1068)
PR implements TailCallException handler
in the IdExecutionInstrument sending
correct value updates.

- implement onReturnExceptional of the 
  runtime instrument
- add onExceptionalCallback to the 
  runtime instrument
2020-08-07 20:00:32 +03:00
Marcin Kostrzewa
b2fbf1a848
New Import Syntax (#1070) 2020-08-07 15:42:24 +02:00
Josef
1f8a4b802f
Fix the release workflow (#1057) 2020-08-07 10:18:09 +01:00
Marcin Kostrzewa
0e5a20d8ad
Proper Imports Syntax (#1067) 2020-08-06 17:55:02 +02:00
Marcin Kostrzewa
ddb43af5a2
Qualified names & uppercase name resolution (#1062) 2020-08-05 22:16:44 +02:00
Dmitry Bushev
c64298cb8e
Send Method Call Updates After Popping the Frame (#1060)
PR introduces the MetodCallsCache created per frame execution, meaning
that it is not persisted in between the runs. The cache tracks which
calls have been fired during the program execution (and sent as a
notification to the user). When the program finishes, we compute the set
of calls that have not been executed and send them to the user as well.

- add: MethodCallsCache temporary storage tracking the executed method
  calls
- add: sendMethodCallUpdates flag enabling sending all the method calls
  of the frame as a value updates
2020-08-05 13:07:26 +03: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
Radosław Waśko
d72de5f306
Update CODEOWNERS (#1053) 2020-08-04 09:53:37 +01:00
Ara Adkins
37cdd60fea
Refactor the flexer to enable code generation (#1040) 2020-08-03 18:26:10 +01:00
Ara Adkins
6dc9c3ac7d
Update CODEOWNERS 2020-08-03 15:41:24 +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
Marcin Kostrzewa
bd027e46bc
Early constructor resolution & import-loops immune compiler (#1048) 2020-07-31 21:20:43 +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
3b1d260059
[Build,Doc] Make builds work outside a repository
1. This commit ensures that builds outside of repository don't file not being
   able to fetch the git metadata for the version string but just report a
   warning.
2. It also clarifies documentation on getting Enso artifacts from CI.

PR #1036
2020-07-27 12:45:19 +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
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
Dmitry Bushev
ded61865a4
Fix the search/getSuggestionsDatabase API (#1021) 2020-07-21 23:15:14 +03:00
Radosław Waśko
27a322db26
Automate the Enso release process (#989) 2020-07-21 17:30:01 +01:00