Commit Graph

518 Commits

Author SHA1 Message Date
Dmitry Bushev
a2accd3444
Fix imports resolution (#1129)
Fix the ImportResolver issue when the module was 
compiled the second time and refactor the logic 
into tail-recursive function.
2020-09-09 13:56:39 +03:00
Ara Adkins
259302c229
Improve the CI configuration (#1122) 2020-09-07 12:24:34 +01: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
Radosław Waśko
eb208301db
Handling Broken Releases in the Launcher (#1113) 2020-09-01 12:03:48 +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
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