Commit Graph

34 Commits

Author SHA1 Message Date
Dmitry Bushev
efb46c69dc
Fix adding constructor record to suggestions database (#3966) 2022-12-12 13:48:47 +03:00
Dmitry Bushev
14012a751f
Add parent type field to suggestion (#3846)
PR adds `parentType` field to the `Type` suggestion. All Enso types have parent type except `Any`.
2022-11-07 13:21:04 +00:00
Dmitry Bushev
a6ce49e8a5
Split Atom suggestion entry to Type and Constructor (#3835)
Changelog:
- update: split `Atom` suggestion to `Type` and `Constructor`
- update: gui API
- update: JSONRPC doc
2022-11-02 09:53:40 +00:00
Dmitry Bushev
46441ca7a8
Add isStatic method field (#3829)
PR adds `isStatic` field to suggestion. The field is required for Component Browser.
2022-10-26 09:12:45 +00:00
Dmitry Bushev
05a6415ec0
create inmem database (#3690) 2022-09-07 12:59:18 +03:00
Jaroslav Tulach
ab1ca54acd
Profile the language server (#3389)
In order to analyse why the `runner.jar` is slow to start, let's _"self sample"_ it using the [sampler library](https://bits.netbeans.org/dev/javadoc/org-netbeans-modules-sampler/org/netbeans/modules/sampler/Sampler.html). As soon as the `Main.main` is launched, the sampling starts and once the server is up, it writes its data into `/tmp/language-server.npss`.

Open the `/tmp/language-server.npss` with [VisualVM](https://visualvm.github.io) - you should have one copy in your
GraalVM `bin/jvisualvm` directory and there has to be a GraalVM to run Enso.

#### Changelog

- add: the `MethodsSampler` that gathers information in `.npss` format
- add: `--profiling` flag that enables the sampler
- add: language server processes the updates in batches
2022-05-10 12:44:05 +00:00
Dmitry Bushev
69b5e2ab8a
Fix search of local suggestions (#3417)
Changelog:
- fix: `search/completion` request with the position parameter.
- fix: `refactoring/renameProject` request. Previously it did not take into account the library namespace (e.g. `local.`)
2022-04-26 12:06:48 +00:00
Dmitry Bushev
a34c2bcfe6
Implement Documentation Sections API (#3360) 2022-03-25 10:49:37 +03:00
Dmitry Bushev
607330712a
Add support for conversions in Language Server (#3175) 2021-12-03 11:31:44 +03:00
Dmitry Bushev
6bfd500846
Support Types Unions in Suggestions Database (#1912)
Add support for binary operators in type signatures
2021-07-30 17:58:33 +03:00
Dmitry Bushev
980ba8cb65
Add Reexport Field to Suggestions (#1793)
Add the reexport field to suggestions
2021-07-20 19:10:53 +03:00
Dmitry Bushev
4235d345aa
[release: nightly] Prune Versions when Verifying Modules Index (#1881)
clean module versions together with the
module suggestions
2021-07-16 20:10:55 +03:00
Dmitry Bushev
3591e1b5c9
Updates and fixes for the cloud (#1817) 2021-07-09 14:41:50 +01:00
Maciej Mikołajek
4173dd810f
Documentation in the Suggestions Database (#1791) 2021-06-22 14:44:48 +02:00
Dmitry Bushev
ff54c07431
Add a schema version to the suggestions database (#1703) 2021-04-28 12:16:42 +01:00
Dmitry Bushev
f43655a80c
Add an Atom Suggestion for a Module (#1659)
Add an atom suggestion representing a module
2021-04-13 16:43:36 +03:00
Dmitry Bushev
96957b7b03
Sync Suggestions Database when Renaming the Project (#1647)
Changelog:
- feat: during the boot, prune outdated modules 
  from the suggestions database
- feat: when renaming the project, send updates 
  about changed records in the database
- refactor: remove deprecated 
  executionContext/expressionValuesComputed 
  notification
2021-04-06 14:23:12 +03:00
Ara Adkins
8e942b5fa0
Rank suggestions by self-type specificity (#1629) 2021-03-29 16:31:17 +01:00
Ara Adkins
78ab5ee5e5
Provide searcher suggestions for compatible types (#1613) 2021-03-25 12:07:41 +00:00
Dmitry Bushev
b5e9895fa7
Initialize language server on client connection (#1535) 2021-03-04 16:59:05 +00:00
Łukasz Olczak
d257615ef1
Fix for SQLite DB busy error on Azure (#1395)
depending on an environmental variable is used either 
default locking mode or a mode that uses flock syscall
2021-01-19 12:07:17 +03:00
Dmitry Bushev
670cffb380
Fix Storing the Runtime Types (#1271)
A bunch of improvements to the suggestions
system. Suggestions are extracted to the tree data
structure. The tree allows producing better diffs
between the file versions. And better diffs reduce
the number of updates that are sent to the IDE
after a file change, and consequently fix the
issue when the runtime type got overwritten with
the compile-time type.
2020-11-10 14:50:37 +03:00
Ara Adkins
746521f8b2
Bump SBT and Scalafmt (#1203)
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Co-authored-by: Dmitry Bushev <bushevdv@gmail.com>
2020-10-22 16:12:28 +02:00
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
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
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
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
Dmitry Bushev
45d75536aa
Wait for Suggestions Database Initialization (#1025) 2020-07-22 17:12:52 +03:00
Dmitry Bushev
b8ff893840
Enable FlakySpec only on Windows (#1015) 2020-07-20 17:13:37 +03: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
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