Commit Graph

2010 Commits

Author SHA1 Message Date
Adam Obuchowicz
567ddd701c
Developers should find the ide-gui controller codebase logical and easy to work with. (#3188) 2021-12-15 13:40:14 +03:00
IsaacTell
e48e7e333b
doc: change PR branch to develop (#3192) 2021-12-14 20:56:28 +03:00
Dmitry Bushev
0b9a5b5f65
Fix path in Windows tests (#3191) 2021-12-14 14:52:38 +03:00
Mateusz Czapliński
050e52bfcc
Fix some edits not being sent to LangServ (#3186)
Some edits were not being sent by IDE to Language Server, resulting in 3003 "Invalid version" errors being returned by LangServ, and forcing full invalidation (resynchronization) of text contents in LangServ.

This change fixes such errors observed when opening a new project, creating a new project, or adding a new node to a project. 

Fixes #3094

### Important Notes

The root cause showed up to be actually two separate issues, both of them reproduced by an "opening a new project" scenario:

 1. The automatic addition of `import Standard.Visualization` line, [done internally when opening a new project in `controller::Project::initialize()`](c14a2d8169/app/gui/src/controller/project.rs (L137-L141)), was not reaching the Language Server. The cause of it was a race condition with [`self.model.subscribe()` in `Module::runner()`](c14a2d8169/app/gui/src/model/module/synchronized.rs (L268)). In particular, the addition of the import was executed before the subscription, which resulted in an edition notification being lost and not sent to LangServer. The fix employed for this is to make the `subscribe()` call synchronous during the initialization of a project, instead of scheduling it for a non-deterministic later time.
 2. There was [a bug in `synchronized::Module::edit_for_snipped()`](7467efda59/app/gui/src/model/module/synchronized.rs (L362)), making it erroneously "optimize out" any code insertions detected by `TextEdit::from_prefix_postfix_differences()`. The fix employed for this was to improve the "optimizing out" condition, together with adding an accompanying test case verifying correct behavior (protecting against a future regression).

Additionally, as a drive-by improvement, some statements in `ParsedSourceFile<>::serialize()` were reordered, to make them better match how the actual contents of an .enso file are structured, and thus make it easier to read/analyze the code.
2021-12-13 18:18:20 +01:00
Dmitry Bushev
7467efda59
Update CONTRIBUTING (#3189) 2021-12-13 13:45:07 +03:00
IsaacTell
10dac4fb21
Fix links to gui folder (#3190) 2021-12-12 23:43:25 +01:00
Ilya Bogdanov
81d6338cef
Finish up Rust Welcome Screen (#3167)
The old JS-based Welcome Screen was removed and replaced with the Rusty one.

Co-authored-by: Adam Obuchowicz <adam.obuchowicz@enso.org>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>
2021-12-11 00:01:45 +03:00
Dmitry Bushev
c14a2d8169
Fix codec spec (#3185) 2021-12-09 15:01:47 +03:00
Mateusz Czapliński
5e5abac8ae
Register Views before creating them (#3181) 2021-12-08 10:11:58 +03:00
Dmitry Bushev
04ac2a2009
Add method benchmarks (#3180) 2021-12-07 18:35:14 +03:00
Dmitry Bushev
51d1c941f5
Flaky upgrade spec (#3179) 2021-12-07 15:55:51 +03:00
Mateusz Czapliński
a704baf91c
Minor CONTRIBUTING tweaks after onboarding (#3178) 2021-12-06 15:45:10 +03:00
Dmitry Bushev
6a426c477a
Enable conversion methods (#3177) 2021-12-03 18:14:13 +03:00
Ilya Bogdanov
7239643046
Developers must be able to lock DOM position while panning (#3171) 2021-12-03 11:37:18 +00:00
Dmitry Bushev
607330712a
Add support for conversions in Language Server (#3175) 2021-12-03 11:31:44 +03:00
Adam Obuchowicz
c4d22102cf
Switch to 2021 edition (#3173) 2021-12-01 16:06:57 +01:00
Adam Obuchowicz
215cd76bce
After creating a new project, nodes are not laid out. (#3174) 2021-12-01 14:25:48 +01:00
Adam Obuchowicz
850a16cb40
Fix location_of_text_end method (#3170) 2021-12-01 09:12:42 +00:00
Ilya Bogdanov
73abebf7aa
Add Root View and Welcome Screen View (#3164) 2021-11-30 16:23:46 +01:00
Adam Obuchowicz
99b0c46d87
While testing, developers should not have to wait for each crate to be re-built. (#3168)
Split all the EnsoGL components, examples and debug scenes to separate crates, so the work on the single component should be quicker than before.
2021-11-30 12:27:50 +01:00
Ilya Bogdanov
d44ca85197
Refactor integration level so "no project opened" state is possible (#3160)
* refactor: remove invalid comment in ide/lib.rs

* refactor: current_project() returns Option

* refactor: create IDE controller without project

* refactor: handle missing project param in Cloud environment

* refactor: store project name in searcher

So no need in current_project call

* chore: apply rustfmt

* chore: fix tests

* refactor: rename maybe_project_name to project_name

* refactor: move project_name to BackendService::LanguageServer

* refactor: do not use early return in integration.rs

* refactor: use CloneCell instead of RefCell for current_project

* refactor: store model::Project in Searcher controller

* refactor: use expect instead of unwrap in searcher tests

* feat: add new_with_project_model constructor for desktop controller

It might be useful in tests

* chore: fix searcher tests
2021-11-30 11:48:12 +03:00
Adam Obuchowicz
9ab4f45e72
Refactored enso-data crate and text utilities. (#3166) 2021-11-25 11:45:42 +01:00
Adam Obuchowicz
d44857eaf9
Make Cargo.lock and Cargo.toml owned by rust guys only (#3165) 2021-11-23 16:54:23 +03:00
Radosław Waśko
46c31bb9a5
Preinstalling With Dependencies (#1981) 2021-11-23 11:51:17 +03:00
Adam Obuchowicz
d61743d43c
Fix codeowners file (#3163) 2021-11-22 16:13:21 +01:00
Ilya Bogdanov
787a2c78e1
Fix link to Rust style guide (#3128) 2021-11-22 12:14:30 +00:00
Adam Obuchowicz
bf0793c8ec
Update codeowners file (#3161) 2021-11-19 18:10:53 +01:00
Ilya Bogdanov
03c85d780e
Colorful Histograms (#3153) 2021-11-18 14:17:38 +00:00
Michał Wawrzyniec Urbańczyk
361882b033
Fix SystemProcessTest to not require presence of echo program on Windows. (#3152)
Co-authored-by: Dmitry Bushev <bushevdv@gmail.com>
2021-11-16 16:37:12 +01:00
Dmitry Bushev
93f7362199
Set Locale in Tests (#3158) 2021-11-16 17:18:25 +03:00
Adam Obuchowicz
bb3b145af5
Refactor gui/src/rust/ide to two app/gui and app/ide-desktop (#3157) 2021-11-16 10:04:56 +01:00
Adam Obuchowicz
753f787a6f
Refactored config crate + moving crates to lib/rust directory. (#3155) 2021-11-12 13:56:23 +01:00
Adam Obuchowicz
942464cbaf
Refactoring: merge utils into prelude; merge workspaces. (#3151) 2021-11-10 14:36:08 +01:00
Adam Obuchowicz
ea1a411f9a
Initial crate's refactoring inside IDE (#3144) 2021-11-09 15:13:15 +03:00
Michał Wawrzyniec Urbańczyk
a7023cf585
Update docs.yml
Remove the Engine changelog check altogether.
2021-11-09 00:45:15 +01:00
Michał Wawrzyniec Urbańczyk
8fc51bfe44
Apply unified prettier style to engine codebase (#3145) 2021-11-08 16:45:29 +01:00
Dmitry Bushev
83e35751f4
Disable ProjectManagementApiSpec (#3138) 2021-11-08 15:52:28 +01:00
Michał Wawrzyniec Urbańczyk
1311e8e156
Disable the engine Changelog check. (#3146) 2021-11-08 14:52:29 +01:00
Michał Wawrzyniec Urbańczyk
848cef7dca
Use libraries merged from rust-lib directly (#3137) 2021-11-05 16:55:55 +01:00
Michał Wawrzyniec Urbańczyk
e18322e802
Introducing single config for prettier and applying it across the codebase. (#3141) 2021-11-05 12:51:43 +01:00
Michał Wawrzyniec Urbańczyk
22cefa7659
This wasn't supposed to be committed. 2021-11-03 13:38:47 +01:00
Michael Mauderer
c822256e6c
Update code style to use rust fmt (#3131) 2021-11-02 14:05:43 +01:00
Michael Mauderer
ab0f50a7a3
Bump rustc to nightly-2021-10-21 (#3129)
Bump rustc to nightly-2021-10-21, upgrade nightly features and fix new lints.
2021-11-01 23:41:52 +01:00
Michał Wawrzyniec Urbańczyk
76553dd217
Post-merge fixes (#3130)
Add GUI codeowners. Require jobs from GUI CI as part of PR. Keep prettier under control.
2021-11-01 20:44:15 +01:00
Michał W. Urbańczyk
99053decd8 various default branch switch - related updates 2021-11-01 01:37:30 +01:00
Michał W. Urbańczyk
a57da75ef0 update most of the CI workflows to use develop instead of main 2021-10-30 17:35:45 +02:00
Michał W. Urbańczyk
0d2653f835 one more path to fix 2021-10-30 17:24:54 +02:00
Michał W. Urbańczyk
d8ed4cd26f CI fixes for GUI (IDE). 2021-10-30 17:06:21 +02:00
Michał W. Urbańczyk
8bcc8cb572 Merge commit 'b20c64adb712a0236351d38b3d7afed73c965684' into develop 2021-10-30 16:55:27 +02:00
Michał W. Urbańczyk
b20c64adb7 fix the test 2021-10-30 15:37:48 +02:00