Commit Graph

440 Commits

Author SHA1 Message Date
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
Josef
9fcd4e2f3a
Add a lazy input reader for flexer (#1014) 2020-07-21 16:25:02 +01:00
Ara Adkins
f1e18973e8
Update the prettier ignore settings 2020-07-21 15:42:54 +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
Radosław Waśko
1a38f7c331
Update Documentation and Build Settings (#993) 2020-07-21 10:14:26 +02:00
Dmitry Bushev
239a5f18e9
doc: fix capability/acquire parameters (#1018) 2020-07-20 18:04:42 +03: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
Marcin Kostrzewa
be43737a34
Layered State Monad (#991) 2020-07-13 17:00:15 +02: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
Ara Adkins
a9c49f20cf
Fix a few minor things in the repo (#986) 2020-07-08 16:10:06 +01: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