Commit Graph

5574 Commits

Author SHA1 Message Date
Michał Wawrzyniec Urbańczyk
68c6ceff40
Completing Rust AST data structures (#378)
This pull request adjusts AST data structures in Scala and Rust to be compatible, while also fixing a number of JSON format mismatches find along the way. This implements #336.
2019-12-16 14:03:59 +01:00
Adam Obuchowicz
070d264dbb Text clipping (https://github.com/enso-org/ide/pull/75)
Text in text component is clipped to specified area on screen. Only visible 
part of text have its data in opengl buffers. The buffer management was
somewhat adapted to quick scrolling with minimum buffer data refreshing.

Original commit: 0b39d6f89a
2019-12-11 13:27:44 +01:00
Adam Obuchowicz
ebe9db1b74 Implemented newlines (https://github.com/enso-org/ide/pull/67)
TextComponent will properly display text containing newline characters.

Code of the TextComponent was somewhat prepared for optimal clipping text and scrolling; each line of text have an own fixed-size buffer fragment, so the lines should be easily extended and fragments reused.

Original commit: 647430f1d8
2019-12-09 14:24:21 +01:00
Wojciech Daniło
aebfe94a80 Update design notes (#376) 2019-12-09 05:32:36 +00:00
Ara Adkins
b1372cbf94
Fix naming for new design document 2019-12-06 22:10:47 +00:00
Ara Adkins
cbe5c441de
Edit the language design doc (#375) 2019-12-06 22:08:50 +00:00
Ara Adkins
c3acc5c615
Complete AST to AstExpression translation (#374) 2019-12-06 19:22:20 +00:00
Danilo Guanabara
d6df7dd156 HTMLRenderer Benchmarks (https://github.com/enso-org/ide/pull/58)
* Custom benchmark solution
* Optimized HTMLRenderer

Original commit: 8a147bf9d4
2019-12-06 13:11:17 -03:00
Marcin Kostrzewa
2b8af07148
Fix jupyter & tweak stacktrace elements & pretty printer (#373) 2019-12-06 12:58:20 +01:00
Wojciech Daniło
b80e3f29e4 Rust code style guide (https://github.com/enso-org/ide/pull/61)
Original commit: 3204946622
2019-12-06 08:01:58 +01:00
Josef
8ae06e0f09
support escaping in raw strings (#369) 2019-12-05 11:13:46 +01:00
Adam Obuchowicz
495bdf93df Text display: letters alignment (https://github.com/enso-org/ide/pull/62)
Display text properly, making appropriate spacing between glyphs and implementing kerning.

Original commit: 704537b0eb
2019-12-04 17:45:31 +01:00
Ara Adkins
db4cbacec3
Add suspended blocks, fix thunk performance (#371)
This commit adds support for suspended blocks in the interpreter and also fixes 
a major performance issue with nested thunks that was causing quadratic 
evaluation time.
2019-12-04 16:00:53 +00:00
Michał Wawrzyniec Urbańczyk
07baa9212b
Scala/Rust JSON serialization protocol unification (#370)
This PR updates JSON serialization in Scala in Rust, so they are compatible, implementing #297. The parser wrapper now uses the real AST in API. Still most of non-trivial use-cases will fail. Once #336 is done, it should finally work.
2019-12-04 16:34:54 +01:00
Adam Obuchowicz
636d459971 Line of chars (https://github.com/enso-org/ide/pull/57)
The component displaying a not-properly aligned line of characters on webgl context

Original commit: 01d1665208
2019-12-03 22:46:38 +01:00
Marcin Kostrzewa
c7b3d31415
Source locations in Truffle nodes (#368) 2019-12-02 19:41:46 +01:00
Michał Wawrzyniec Urbańczyk
47f9a4889c
Scala AST refactoring (#360)
A new implementation of Scala AST, as described in #352.
2019-12-02 14:30:37 +01:00
Ara Adkins
ed5786d99e
Add pattern matching and lazy arguments (#365)
Add new syntax support for the above constructs.
2019-12-02 11:59:45 +00:00
Marcin Kostrzewa
6bc14a3b9f Add a tiny subset of nodelocs (#364) 2019-11-29 12:36:48 +00:00
Marcin Kostrzewa
8432a9695a
Absolute code locations (#363) 2019-11-29 10:27:34 +01:00
Paul Kapustin
2ff8f6277e Make some language improvements in design docs (#361) 2019-11-28 22:06:43 +00:00
Maciej Mikołajek
5ce9f0b023
Documentation Generator: Styles (#359)
* wip

* up style

* WD changes

* @wdanilo - should be ready

* Tuple -> case class

* hide bodies in constructors

* rm test

* final touches
2019-11-27 21:05:48 +01:00
Wojciech Daniło
e0eea3ae72 Buffer Management for BaseGL (https://github.com/enso-org/ide/pull/51)
Original commit: 23a8bd1b07
2019-11-27 18:04:33 +01:00
Ara Adkins
9a4332108f
Add lambdas, types, and methods support to new syntax (#358) 2019-11-27 11:32:36 +00:00
Maciej Mikołajek
1e3e105232
Documentation Parser: Fix lists parsing, changes to HTML file rendering (#357)
* save a questionable bit of code

* Fix indentation manager by introducing stack of indents

* more fixes

* ui wip

* HTML Rendering change - first module name, then documentation, last
module functions

* Apply changes requested by @wdanilo
2019-11-27 00:48:35 +01:00
Josef
9665150c5d
Enable Scalajs For Syntax (#329) 2019-11-26 14:02:50 +01:00
Adam Obuchowicz
a07ad85444 Add wasm-pack test to github workflows (https://github.com/enso-org/ide/pull/49)
To the test workflow added a step where wasm-pack test is run for each crate in workspace.

A script was added, which runs wasm-pack test for each workspace members, because The wasm-pack itself cannot read workspaces. The script was written in rust, therefore a special crate for build-and-utility-scripts in rust was created.


Original commit: 51d3eaec7e
2019-11-25 11:52:51 +01:00
Maciej Mikołajek
05877a7d0c
Documentation Parser: Extended HTML Files Generator (#237)
* Update CSS

* Add some code - WIP

* recursive Documented HTML generation

* WIP - Better documentation, better code, better test

* documentation wip

* code complexity changes

* update  docs

* update docs

* move saving out of class

* move all html generator code to separate object

* Fix documentation

* Change example text

* 80 chars/ln

* Merge remote-tracking branch 'origin/master' into wip/mm/doc-parser-html-output

# Conflicts:
#	Syntax/specialization/src/main/scala/org/enso/syntax/text/Parser.scala

* Merge remote-tracking branch 'origin/master' into wip/mm/doc-parser-html-output

# Conflicts:
#	Syntax/specialization/src/main/scala/org/enso/syntax/text/Parser.scala

* just add example

* add sass

* minor fix

* cleanup

* rm unused func
2019-11-25 10:36:31 +01:00
Marcin Kostrzewa
85272edcb0
Graal upgrade to 19.3.0 (#350) 2019-11-22 16:38:31 +01:00
Michał Wawrzyniec Urbańczyk
e51a06e263
Initial Rust AST implementation (#348)
AST lives in `ast` package, that relies significantly on `ast-macros` to generate boilerplate.
Additional `macro-utils` library was split out from `shapely-macros` and `ast-macros`.

The implementation was contributed by @wdanilo , I basically just did some refactoring, documenting and testing.

### Important Notes
* AST is known to be incomplete structurally, finishing it is #336 
* AST is missing a number of necessary functions, some of them explicitly marked as FIXME in the code, finishing them is #338 
* while I have written some tests, they are not yet part of CI — I want to this smart way (i.e. allowing tests that rely on parser), it is tracked as #340 
* AST JSON serialization is incompatible with Scala, solving this is #297 
* there is some non-deterministic issue with CI on Windows — I need to look into this closer but it seems to not be related to any Rust parts
2019-11-22 15:21:18 +01:00
Danilo Guanabara
846cd870a2 HTML Rendering System (https://github.com/enso-org/ide/pull/48)
HTML CSS3D Renderer implementation

Original commit: 81ae637b60
2019-11-22 02:40:30 +01:00
Wojciech Daniło
148a5b50b0 Update build.yml
Original commit: 7b854d1e28
2019-11-22 02:09:48 +01:00
Ara Adkins
b91ab25fdb
Translate arith expressions using the new parser (#346) 2019-11-20 09:18:53 +00:00
Michał Wawrzyniec Urbańczyk
d1796345a4
The prelude library, coming from basegl, in preparation for AST. (#342) 2019-11-19 22:26:54 +01:00
Marcin Kostrzewa
427e784663
Repl & Debugger (#345) 2019-11-19 16:16:58 +01:00
Wojciech Daniło
9f3fda1b42
Update rust-style-guide.md 2019-11-18 22:03:15 +01:00
Adam Obuchowicz
e3dd6a7027 Add msdfgen-sys crate (https://github.com/enso-org/ide/pull/39)
Original commit: 2115a3127c
2019-11-18 16:56:26 +01:00
Marcin Kostrzewa
51d66cdef6
Jupyter bindings (#335) 2019-11-18 14:36:03 +01:00
Michał Wawrzyniec Urbańczyk
6078b54f50
Wrapping parser for Rust (#325)
* deriving JSON Encoder for Scala AST types
* websocket-based Parser Service
* wrapper for Parser in Rust that includes client for Parser Service
2019-11-18 14:12:16 +01:00
Ara Adkins
112f0c6c39
Add build status icon to readme 2019-11-18 11:28:01 +00:00
Ara Adkins
22aa4efda8
Add a low-level graph library (#334) 2019-11-18 11:18:16 +00:00
Marcin Kostrzewa
0ec41b5bbd
String literals, caller frame access, eval function (#333) 2019-11-15 15:49:57 +01:00
Josef
8da25bec2d
Text AST Reimplementation. (#327) 2019-11-14 13:55:45 +01:00
Marcin Kostrzewa
3929b3f72c
Implement call strategy controls and a functional if statement. (#328) 2019-11-13 12:27:52 +01:00
Ara Adkins
43f51e9dac
Revert "Init AST impl"
This reverts commit bc410b6d52.
2019-11-12 12:57:39 +00:00
Wojciech Danilo
bc410b6d52 Init AST impl 2019-11-12 13:47:02 +01:00
Ara Adkins
bfe81a731f
Reorganise repo for further development (#308) 2019-11-08 17:32:48 +00:00
Ara Adkins
460205c2b9
Integrate a compilation phase into the interpreter (#303) 2019-11-07 12:10:21 +00:00
Marcin Kostrzewa
2d81b111b7
CI artifact with the CLI fat jar (#272) 2019-11-05 20:01:09 +01:00
Marcin Kostrzewa
7bc95473f5
State monad (#270) 2019-11-05 17:01:50 +01:00