148d32e4c3
This PR introduced an overhauled Component List Panel implementation, making use of the efficient EnsoGL grid view component. Also, it delivers a couple of new features: * A part of the new design: there are no more section headers in grid, instead groups are "glued" together. The local scope section is under "popular" (old "favorites"). * The keyboard management inside grid works. * there is a mouse hover highlight * selecting the lowest entry in section when jumping with navigation bar. * accepting input as-is with cmd/ctrl + Enter. https://user-images.githubusercontent.com/3919101/194561890-fffb9b41-2f0d-4357-8d9a-5038a6bcb023.mp4 ### Important Notes **What is not implemented:** * [Focus management between panels.](https://www.pivotaltracker.com/story/show/180872763) The grid is always focused. To accept the current input, use ctrl+Enter shortcut. * [Proper handling of selection when having empty space on the right and pressing right arrow.](https://www.pivotaltracker.com/story/show/183487880) * When entering a module, its name is not added to the input as described in the design doc. Will be a part of [this User Story](https://www.pivotaltracker.com/story/show/181058321). **Known issues** * [the selection, especially in the local scope section, has sometimes an undesirable offset](https://www.pivotaltracker.com/story/show/183487730). The cause is known, but not so easy to fix. * The inserted nodes are often producing errors. The Browser's inherits the outdated understanding of the language from old Node Searcher, and it does not include new form of imports, static methods etc. Those all will be fixed as a part of [this User Story](https://www.pivotaltracker.com/story/show/181058321). * The performance is improved, but still not ideal, due to problems in [text areas](https://www.pivotaltracker.com/story/show/183406745). * To scroll the documentation panel, you must first click on it. |
||
---|---|---|
.. | ||
analytics | ||
config | ||
controller | ||
docs | ||
enso-profiler-enso-data | ||
language | ||
src | ||
tests | ||
view | ||
Cargo.toml | ||
config.yaml | ||
LICENSE | ||
README.md |
This is the subtree for Enso's graphical interface component. If you're looking for the repository root, you may find it at at 👉 github.com/enso-org/enso 👈
Enso IDE
Overview
Enso is an award-winning interactive programming language with dual visual and textual representations. It is a tool that spans the entire stack, going from high-level visualisation and communication to the nitty-gritty of backend services, all in a single language. Watch the following introduction video to learn what Enso is, and how it helps companies build data workflows in minutes instead of weeks.
This repository contains the source code of Enso interface only. If you are interested in how the interface is build or you want to develop it with us, you are in the right place. See the development and contributing guidelines to learn more about the code structure and the development process.
Getting Started
Enso is distributed both in form of pre-build packages for MacOS, Windows, or Linux, as well as the source code. See the demo scenes, and read the documentation to learn more.
Building
The project builds on macOS, Linux, and Windows. Build functionality is provided
by our build script, that are accessible through run
(Linux and macOS) or
run.cmd
(Windows) wrappers.
To build the project, simply run ./run ide build
(on Linux or macOS) or
.\run.cmd ide build
(Windows) to build IDE. To learn more about other
available commands use --help
argument. Read the detailed
development guide to learn more.
License
The Enso Language Compiler is released under the terms of the Apache v2 License. The Enso Graphical Interface and it's rendering engine are released under the terms of the AGPL v3 License. This license set was choosen to both provide you with a complete freedom to use Enso, create libraries, and release them under any license of your choice, while also allowing us to release commercial products on top of the platform, including Enso Cloud and Enso Enterprise on-premise server managers.
Contributing
Enso is a community-driven open source project which is and will always be open and free to use. We are committed to a fully transparent development process and highly appreciate every contribution. If you love the vision behind Enso and you want to redefine the data processing world, join us and help us track down bugs, implement new features, improve the documentation or spread the word! Join our community on a Discord chat and read the development and contributing guidelines.