Commit Graph

285 Commits

Author SHA1 Message Date
Adam Obuchowicz
64cde1074f Hotfix for TextField resizing (https://github.com/enso-org/ide/pull/497)
Original commit: 5da35a24d6
2020-05-29 13:31:02 +02:00
Adam Obuchowicz
5613749831 Change IDE owner to mwu-two (https://github.com/enso-org/ide/pull/498)
Original commit: c606ed41bd
2020-05-29 12:35:22 +02:00
Danilo Guanabara
1ef0241bec Visualization Registry integration (https://github.com/enso-org/ide/pull/433)
Original commit: 47468f311c
2020-05-27 09:29:09 -03:00
Michael Mauderer
71bc491b28 Add profiling checkbox to PR Checklist. (https://github.com/enso-org/ide/pull/416)
Original commit: d9ca410246
2020-05-27 12:55:18 +02:00
Michał Wawrzyniec Urbańczyk
e58c16735a Attaching visualization creates a channel for passing the updata data. (https://github.com/enso-org/ide/pull/460)
Original commit: 23286ad8c9
2020-05-26 14:41:03 +02:00
Josef
8629d72fbd Fix repr of block for empty lines. (https://github.com/enso-org/ide/pull/457)
Original commit: 83648fcc6b
2020-05-26 10:40:56 +02:00
Michał Wawrzyniec Urbańczyk
f3e2d15c7c Refactored utilities for testing Futures and Streams (https://github.com/enso-org/ide/pull/456)
Original commit: 10f0760a9a
2020-05-25 18:18:03 +02:00
Josef
068822709c Attach and detach visualisations to nodes. (https://github.com/enso-org/ide/pull/441)
Original commit: 3b28c0c16b
2020-05-25 15:05:28 +02:00
Michał Wawrzyniec Urbańczyk
9219704ddf Removed logs that I've accidentally enabled. (https://github.com/enso-org/ide/pull/454)
Original commit: 300e18ba6d
2020-05-25 14:14:13 +02:00
Adam Obuchowicz
d87b3d8c4d Calling Text API of Language Server on each module change (https://github.com/enso-org/ide/pull/437)
This introduces additional layer for module model, which synchronizes it with LanguageServer - both its state and the lifetime (it is opened in LS on creation and closed when dropped).

Original commit: e93216fdd5
2020-05-25 12:00:27 +02:00
Michał Wawrzyniec Urbańczyk
ecf5911f9d Language Server Binary Protocol Client (https://github.com/enso-org/ide/pull/438)
The binary data protocol of the Language Server.
* a new RPC handler has been implemented. Currently it largely duplicates the previous json-rpc handler but it is supposed to supersede it, as it supports both json and binary rpc protocols;
* `mockall` library has been used to provide a mock client for data protocol;
* serialization code is still messy, not sure how much better can we make it, given the generated flatbuffers code;


Original commit: f6ff8bdf35
2020-05-24 18:19:57 +02:00
Wojciech Daniło
9adc18e5cd Graph Editor bug fixes (https://github.com/enso-org/ide/pull/445)
Original commit: 3e7f817b51
2020-05-21 17:44:04 +02:00
Adam Obuchowicz
04107422d2 Connections integration (https://github.com/enso-org/ide/pull/428)
Original commit: 3c5964f63e
2020-05-21 14:06:33 +02:00
Michael Mauderer
de148f16b8 Visualization Registry (https://github.com/enso-org/ide/pull/429)
* Implement registry.
* Refactor code to use a trait `Class` as the builder of `Visualization`s.

Original commit: 48b8d88dc3
2020-05-21 12:56:39 +02:00
Wojciech Daniło
2b5353b594 Ability to change text on nodes. (https://github.com/enso-org/ide/pull/439)
Original commit: 08f0db81cb
2020-05-20 11:49:00 +02:00
Wojciech Daniło
1ebec3b8a8 Exposing graph editor FRP outputs (https://github.com/enso-org/ide/pull/435)
Original commit: 1f4d5fd10e
2020-05-19 14:24:12 +02:00
Josef
963ebfc382 Assign IDs to all nodes but few. (https://github.com/enso-org/ide/pull/425)
Original commit: 9ee7f25a9d
2020-05-19 13:27:48 +02:00
Michał Wawrzyniec Urbańczyk
d65e813541 Update Engine API (https://github.com/enso-org/ide/pull/432)
follow up to change in engine API in 7d82b1abee


Original commit: b395c7f6a4
2020-05-15 16:37:09 +02:00
Danilo Guanabara
38ede38a66 Zero-copy JSON-RPC methods (https://github.com/enso-org/ide/pull/431)
Original commit: fe5abb6dba
2020-05-15 08:49:05 -03:00
Michael Mauderer
e454c125d6 Visualization Data Type (https://github.com/enso-org/ide/pull/413)
* Extend scaffolding for Native and HTML based visualizations.
* Use nicer dataset as an example.
* Define better S wrapper data interface.
* Refactor structs into submodules.
* Add examples of JS-based visualization.

Original commit: 48665e0498
2020-05-14 14:41:24 +02:00
Josef
24961ca674 Generate rust code from FlatBuffers specification. (https://github.com/enso-org/ide/pull/410)
Original commit: 4b0dc4390e
2020-05-14 13:27:52 +02:00
Michał Wawrzyniec Urbańczyk
d09465da7f Binary Message Support In Transport (https://github.com/enso-org/ide/pull/424)
Original commit: f003b6bef0
2020-05-13 17:28:39 +02:00
Adam Obuchowicz
7d4529885b Execution Context (https://github.com/enso-org/ide/pull/419)
This PR introduces Executed Graph Controller, which is a Graph Controller with additional info about execution context.

Original commit: 026a2585ae
2020-05-13 13:57:36 +02:00
Wojciech Daniło
f8bd0d56e2 Initial connection implementation (https://github.com/enso-org/ide/pull/402)
Original commit: f681273584
2020-05-13 10:21:45 +02:00
Adam Obuchowicz
f5d194b92a Fix BitField (https://github.com/enso-org/ide/pull/422)
Original commit: ad4095d53e
2020-05-13 10:18:57 +02:00
Michał Wawrzyniec Urbańczyk
b66f4e10da Properly Handle JSON-RPC Errors (https://github.com/enso-org/ide/pull/420)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 7daa7e9262
2020-05-12 23:06:33 +02:00
Danilo Guanabara
277b4f26ab Text file operations and execution management (https://github.com/enso-org/ide/pull/411)
Original commit: d8eae54fe4
2020-05-12 15:20:29 +02:00
Adam Obuchowicz
619249f061 Fix CI package size checking (https://github.com/enso-org/ide/pull/421)
Original commit: cd8c0090a3
2020-05-12 12:18:32 +02:00
Michael Mauderer
97c3500782 Displaying visualizations on nodes (https://github.com/enso-org/ide/pull/390)
* Implement visualisation component.
* Implement key actions to hide and show visualisations.
* Implement dummy visualisation.

Original commit: c8e7075e28
2020-05-11 09:50:48 +02:00
Danilo Guanabara
306b1a9417 Intregration of Project Manager and File Manager to IDE (https://github.com/enso-org/ide/pull/409)
Location was removed because enso_protocol::file_manger::Path is more complete now.

Original commit: 7cd0df574d
2020-05-07 16:19:38 +02:00
Michał Wawrzyniec Urbańczyk
6f21f6505e Reorder nodes when connecting, if needed. (https://github.com/enso-org/ide/pull/403)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: e1df22ee6d
2020-05-06 15:35:15 +02:00
Danilo Guanabara
8bafe983a5 File Manager Client (https://github.com/enso-org/ide/pull/391)
Co-authored-by: mwu <mwu-tow@gazeta.pl>
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 24fc48f48b
2020-05-06 01:23:41 +02:00
Danilo Guanabara
817fd766c6 Project manager client (https://github.com/enso-org/ide/pull/366)
Original commit: 5bc3b7b3a3
2020-05-04 20:59:43 +02:00
Adam Obuchowicz
8abda0e5b8 Add endpoints to GraphEditor (https://github.com/enso-org/ide/pull/394)
Original commit: 86856b6332
2020-05-04 11:09:59 +02:00
Michael Mauderer
b63ba0c8e3 Update Contributing Guide to address test suite requirements. (https://github.com/enso-org/ide/pull/294)
Original commit: 73ee3a53f8
2020-05-01 00:35:46 +02:00
Wojciech Daniło
28386025b5 Adding vis docs (https://github.com/enso-org/ide/pull/397)
Original commit: 04b10ca9c8
2020-05-01 00:30:51 +02:00
Michał Wawrzyniec Urbańczyk
45b21c5b07 Connection Operations Refactoring (https://github.com/enso-org/ide/pull/395)
Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 26ab3c623e
2020-04-30 21:23:41 +02:00
Adam Obuchowicz
4b5a0dc0c0 Fix crashes on IDE startup (https://github.com/enso-org/ide/pull/393)
Original commit: e4904224c5
2020-04-30 14:42:18 +02:00
Adam Obuchowicz
ef5cb279a3 Generating SpanTree from macros (https://github.com/enso-org/ide/pull/389)
Before during SpanTree generation we treated macros as a leaves. Now we properly look into them, get all the AST nodes in their patterns and generate children of these SpanTree nodes from them.

Original commit: aeff31f2d8
2020-04-30 12:23:19 +02:00
Michał Wawrzyniec Urbańczyk
bc2551daf6 Alias analysis support for macros (https://github.com/enso-org/ide/pull/388)
Extends alias analysis support for macro-using code, including special support for lambda expressions.
Also, it fixes already standing omission where definition body identifier usage was not properly covered in the results. (We had assumed that we won't need it for connections — and we haven't for connections per se, but we need for utilities for connection ops).

Also, as I encountered a number of issues with parser, I've made sure that they are reported and created a test cases for them to easily keep track as we fix them.

Co-authored-by: Adam Obuchowicz <adam.obuchowicz@luna-lang.org>

Original commit: 761e2691bb
2020-04-29 19:29:37 +02:00
Wojciech Daniło
d4b4a211c2 Fixing blurred shapes on MacOS
Original commit: e7afdb245b
2020-04-29 05:32:43 +02:00
Wojciech Daniło
1bb1a5f8de Theme manager (https://github.com/enso-org/ide/pull/386)
Original commit: ddf6fab49f
2020-04-29 04:09:45 +02:00
Adam Obuchowicz
e6a0461674 Double Representation Connection operations (https://github.com/enso-org/ide/pull/387)
Original commit: 1d8c282344
2020-04-28 17:48:06 +02:00
Adam Obuchowicz
de7683c2a9 Span Tree Operations (https://github.com/enso-org/ide/pull/383)
Implemented Set and Erase operations on SpanTree. Also modified SpanTree, that it have much more Empty nodes, and those empty nodes now are used for inserting.

Note: Because we're approaching deadline, functions added to chains have not unit tests for their own, although they're covered by spantree operations tests.

Original commit: a2701a0cdd
2020-04-28 12:52:40 +02:00
Josef
3194dd93a2 Crumb implementation for Match and Ambiguous. (https://github.com/enso-org/ide/pull/381)
Original commit: abd6dab38e
2020-04-24 17:15:54 +02:00
Michael Mauderer
3e2c8bef84 Enable alpha blending for ID pass (https://github.com/enso-org/ide/pull/364)
* Enable working alpha blending for ID pass via bit encoding of IDs in a RGB8 texture..
* Add facilities to change texture parameters.

Original commit: b46012e3fa
2020-04-24 13:12:40 +02:00
Adam Obuchowicz
c1a399804f Fix failing CI (https://github.com/enso-org/ide/pull/378)
We don't want to set up releases right now, so the publishing is disabled.

I managed to do it with CLI option. In theory it should be done by configuration options - but those didn't work. So, for know I leave one what works.

Original commit: 9ad8a51dcb
2020-04-24 08:52:26 +02:00
Wojciech Daniło
23cb61d611 Style manager (https://github.com/enso-org/ide/pull/382)
Original commit: 03bac5867a
2020-04-23 23:06:17 +02:00
Danilo Guanabara
e1973c3ae9 Added MacOS specific shortcuts (https://github.com/enso-org/ide/pull/353)
Original commit: 9ce0e35053
2020-04-21 22:03:36 -03:00
Wojciech Daniło
ef0562d148 Update README.md
Original commit: 0c8052d28e
2020-04-21 21:48:13 +02:00
Wojciech Daniło
0f2dd1cd57 Update README.md
Original commit: 359b20b87d
2020-04-21 21:41:58 +02:00
Wojciech Daniło
336eeaa9db Update README.md
Original commit: b3ae62d170
2020-04-21 21:36:41 +02:00
Wojciech Daniło
54480c2342 Update README.md
Original commit: bde2de9e2b
2020-04-21 21:34:06 +02:00
Josef
dcd245da5c Flexer: Automata implementation. (https://github.com/enso-org/ide/pull/347)
Original commit: 5ea54b473e
2020-04-21 20:59:33 +02:00
Adam Obuchowicz
95cc8b8d47 Span Tree (https://github.com/enso-org/ide/pull/358)
Created a new SpanTree crate in IDE. The structure itself is quite straightforward. To generate span-tree from AST you may use method generate_tree from generator::SpanTreeGenerator trait.

Original commit: 194caafd09
2020-04-21 15:33:46 +02:00
Michał Wawrzyniec Urbańczyk
6f3a328c23 Connection Discovery (https://github.com/enso-org/ide/pull/380)
ref #2203

Original commit: c1c68bf6a0
2020-04-20 21:42:05 +02:00
Wojciech Daniło
5a8d1a9c05 FRP Improvements. (https://github.com/enso-org/ide/pull/365)
Original commit: 896c08aab7
2020-04-18 04:14:23 +02:00
Michael Mauderer
03f6183244 Port Drawing (https://github.com/enso-org/ide/pull/333)
* Add dummy scaffolding for port drawing capabilities to nodes.
* Add abstractions for trigonometric functions on types.
* Add Registry to handle port creation and layouting.
* Freeze `math::algebra` exports to prelude.
* Add zoom adjustments for port shapes.
* Allow setting of positions and add dummy ports.

Original commit: d24dd5e053
2020-04-16 17:55:20 +02:00
Michael Mauderer
98b5fe197b Add a debug view that renders shape IDs (https://github.com/enso-org/ide/pull/356)
* Add display mode that can visualise shape IDs.
* Add key toggle on "2" to switch to debug view.

Original commit: 3a868ea282
2020-04-16 17:02:51 +02:00
Wojciech Daniło
7621c36db2 FRP 2.0 (improved component model, and better keyboard management) (https://github.com/enso-org/ide/pull/348)
Original commit: 4cd9dc5676
2020-04-15 23:52:15 +02:00
Michał Wawrzyniec Urbańczyk
bc424c2a98 Alias analysis (https://github.com/enso-org/ide/pull/363)
Original commit: 7718d6a348
2020-04-15 21:01:08 +02:00
Danilo Guanabara
5dc8973a05 async sleep function (https://github.com/enso-org/ide/pull/357)
Original commit: 9b1cc066f9
2020-04-15 10:46:22 -03:00
Danilo Guanabara
8ebb17d538 Fixed PageUp and PageDown (https://github.com/enso-org/ide/pull/340)
Original commit: 87c1628448
2020-04-15 10:10:10 -03:00
Wojciech Daniło
ad6fd9321e Update contributing.md
Original commit: b1a5b34b67
2020-04-08 11:29:01 +02:00
Wojciech Daniło
ca7ac0d5c5 Update contributing.md
Original commit: fdaa86fabb
2020-04-08 11:16:32 +02:00
Wojciech Daniło
d601a09273 Update contributing.md
Original commit: ff64c11d8f
2020-04-08 11:14:35 +02:00
Wojciech Daniło
a28a2e3dcd Update contributing.md
Original commit: b9ec34180b
2020-04-08 11:13:58 +02:00
Ara Adkins
c94325b395 Update documentation to refer to new domain (https://github.com/enso-org/ide/pull/352)
Original commit: b6b914acbd
2020-04-07 07:04:45 +02:00
Wojciech Daniło
05d1e3c13d Node Model (https://github.com/enso-org/ide/pull/268)
Original commit: 169b3d145a
2020-04-03 13:18:22 +02:00
Michał Wawrzyniec Urbańczyk
0c5b5b8081 #[derive(CloneRef)] also works on types with type-level bounds. (https://github.com/enso-org/ide/pull/323)
Original commit: b9f9c37d96
2020-04-03 08:16:52 +02:00
Danilo Guanabara
546aeb4ec0 Create crumbs for missing Shapes (https://github.com/enso-org/ide/pull/313)
Original commit: f746857cc9
2020-04-01 21:50:16 -03:00
Adam Obuchowicz
97c146fbdc Fix problems with tests run in parallel (https://github.com/enso-org/ide/pull/332)
Global spawner was made thread local.

Original commit: 8931df9b44
2020-04-01 17:33:04 +02:00
Adam Obuchowicz
160811f506 IDE controllers refactoring (https://github.com/enso-org/ide/pull/314)
This change refactor controllers such way, that use RefCells only 
when it is necessary, and do some more code cleanup.


Original commit: 56ae2d48a4
2020-03-31 18:37:36 +02:00
Josef
4d92869db2 Cache dependencies for CI. (https://github.com/enso-org/ide/pull/277)
Original commit: 4e55dc5a9c
2020-03-31 14:10:37 +02:00
Michał Wawrzyniec Urbańczyk
c2ef15c0bf Fix #[derive(CloneRef)] for generic types with more than one type parameter. (https://github.com/enso-org/ide/pull/316)
Original commit: 7f8541ad54
2020-03-29 01:29:10 +01:00
Michał Wawrzyniec Urbańczyk
f39686e152 Proc macro for #[derive(CloneRef)] (https://github.com/enso-org/ide/pull/315)
Original commit: 6378d9ef11
2020-03-28 02:10:09 +01:00
Michał Wawrzyniec Urbańczyk
fd269d2457 Node Operations (https://github.com/enso-org/ide/pull/298)
Original commit: cf01ebf061
2020-03-27 23:59:02 +01:00
Danilo Guanabara
6552176247 CI fails on error (https://github.com/enso-org/ide/pull/291)
Original commit: 1de3c3413a
2020-03-27 09:25:55 -03:00
Adam Obuchowicz
4af19c5745 Fix drawing instance with empty buffers (https://github.com/enso-org/ide/pull/292)
This code was developed as a fix for occuring "crashes" on Windows, 
which were in fact a "contextLost" events of WebGl.


Original commit: 92b95df814
2020-03-25 15:29:36 +01:00
Michael Mauderer
1b573988a7 Fix instructions to set up toolchain for project build. Fixes #2179. (https://github.com/enso-org/ide/pull/284)
Original commit: cad50bb093
2020-03-23 21:26:30 +01:00
Josef
248a1caace Graph API - Node position in metadata (https://github.com/enso-org/ide/pull/274)
authored-by: Josef <j.f.vonasek@gmail.com>

Original commit: e4a9d7742a
2020-03-20 08:37:28 +01:00
Danilo Guanabara
cac0dfc0c3 Cursor word step tests fix (https://github.com/enso-org/ide/pull/278)
Original commit: 6d3fe6472d
2020-03-18 17:29:45 -03:00
Adam Obuchowicz
cd31d690b3 Mac and Windows shortcuts fixes (https://github.com/enso-org/ide/pull/273)
* Fix pasting on Mac
* Fix AltGraph handling on Windows

Original commit: c077e466b2
2020-03-18 16:09:11 +01:00
Josef
81ad282d84 removed idmap (https://github.com/enso-org/ide/pull/276)
Original commit: b6ce9ef2ea
2020-03-18 10:40:39 +01:00
Adam Obuchowicz
32a4cc37ea Improve cursor blinking (https://github.com/enso-org/ide/pull/271)
Before blinking cursor was done by setting width to 0.0, but this leaves a very-thin line instead of disappearing cursor entirely.

This fixes this, and make the blinking by setting color to transparent instead of setting width.

Original commit: d01523fb21
2020-03-18 09:19:12 +01:00
Michał Wawrzyniec Urbańczyk
83c66d265a Graph and Node controllers stub and mock implementations (https://github.com/enso-org/ide/pull/262)
For early design / API review.
Authored by michal.urbanczyk@luna-lang.org

Original commit: 461e6ae780
2020-03-18 08:43:52 +01:00
Danilo Guanabara
ef070434f3 Make the extra cursor navigation operations in TextField (https://github.com/enso-org/ide/pull/241)
Original commit: 3a9ed82efd
2020-03-17 19:50:45 -03:00
Adam Obuchowicz
46d0376c81 Fix build script (https://github.com/enso-org/ide/pull/269)
See https://doc.rust-lang.org/cargo/reference/build-scripts.html#rerun-if-changed for reference

Original commit: a342ecfea4
2020-03-17 17:30:43 +01:00
Adam Obuchowicz
b4ad324cf5 Fix stuck keymask after alt-tabbing (https://github.com/enso-org/ide/pull/270)
After pressing Alt-tab editor did not received keyup events so the keymask was stuck with pressed-alt state. To fix that, we clear the mask each time window lose focus.

Original commit: 29f3226f11
2020-03-17 17:06:12 +01:00
Wojciech Daniło
0a2164110d Update README.md
Original commit: 0d33957957
2020-03-17 03:56:07 +01:00
Wojciech Daniło
4f95075f2f Improving Electron App (https://github.com/enso-org/ide/pull/263)
Original commit: da0872f05a
2020-03-17 03:44:27 +01:00
Adam Obuchowicz
e207e0afa9 Fix text selection (https://github.com/enso-org/ide/pull/265)
Original commit: ada57d9078
2020-03-16 11:56:53 +01:00
Wojciech Daniło
6009caa205 Making tests on CI faster by running them in parallel (https://github.com/enso-org/ide/pull/264)
Original commit: 44df1d6706
2020-03-16 11:16:16 +01:00
Wojciech Daniło
500c8c21ed Update README.md
Original commit: d8b7dc348f
2020-03-16 04:29:03 +01:00
Wojciech Daniło
e10fc464a8 Refactoring file structure (https://github.com/enso-org/ide/pull/260)
Original commit: c38ca0d5a4
2020-03-16 03:58:00 +01:00
Michał Wawrzyniec Urbańczyk
757b4cbe7d Shape now implements Clone and Ast allows setting/removing id. (https://github.com/enso-org/ide/pull/261)
Original commit: 79e886c3de
2020-03-14 03:44:35 +01:00
Josef
a013563ce2 Metadata storage for module controller. (https://github.com/enso-org/ide/pull/237)
Original commit: c93076e7cf
2020-03-13 21:34:15 +01:00
Adam Obuchowicz
f26d88593c Implemented notification about text&graph changes brokering (https://github.com/enso-org/ide/pull/231)
Add possibility to subscribe for notifications about changes of one of module representations. Today, the notifications are sent after applying code changes (there are no other operations implemented yet).

Original commit: 68b63f2891
2020-03-13 17:52:41 +01:00
Wojciech Daniło
4fd137bfc3 Refactoring & Performance Improvements (https://github.com/enso-org/ide/pull/255)
Original commit: b2ee9388e4
2020-03-13 05:10:08 +01:00
Michał Wawrzyniec Urbańczyk
17f729874e Node Discovery (https://github.com/enso-org/ide/pull/250)
This PR introduces node discovery logic in `double_representation/node.rs`.
The parser dependency has been bumped, due to #2154.
Improvements in definition discovery — fixed previous issue where first line in block was ignored.


Original commit: 1370aaf431
2020-03-10 17:54:28 +01:00