* Add support for mix run flags to the Mix runtime
* Support mix run flags in runtime config string
* Add flag validation
* Update lib/livebook_web/live/session_live/mix_standalone_live.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Fix horizontal scrollbar on smaller screens
* Apply navigation shortcuts without an additional roundtrip
* Shorten the data element selector
* Fix URL in changelog
* Return reference from handle_intellisense
* Automate searching and adding new dependencies
* Restructure runtime management
* Leave search restrictions up to the runtime
* Support predefined dependencies in Embedded runtime dependency search
* Use the embedded runtime for dependency search test
* Fix typo
* Use module for loading embedded runtime dependencies
* Improve naming
* List predefined smart cells and automatically add their dependencies
* Generalize dependency insertion to multiple entries
* Add runtime setup modal
* Don't evaluate setup when restarting the runtime fails
* Automatically add vega_lite for chart builder
* Improve confirmation modal actions when the action is not destructive
* Add support for scanning evaluation context from smart cells
* Rename prev_locator to base_locator to clarify the meaning
* Adjustments
* Add data tests
* Adjustments
* Test smart cell intearaction with RuntimeServer
* Serialize binding scanning and leave sending to the user
* Monitor the scanning process
* Reads the output after a cell has been evaluated
* Creates SR landmarks when errors happen
* fixes formatting
* Reads a clearer message when a runtime restart is required
* Update lib/livebook_web/live/session_live/cell_component.ex
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Group all runtime messages under a common prefix
* Move output specification ot the Runtime protocol
* Update doc comments
* Livebook.Evaluator -> Livebook.Runtime.Evaluator
* Livebook.ContentLoader -> Livebook.Notebook.ContentLoader
* Livebook.UniqueTask -> Livebook.Utils.UniqueTask
* Add import/export delegates to Livebook.LiveMarkdown
* Export file with title or file name
* Export with title or file name
* Add Session.file_name_for_download/1
* Compute the name without calling the server
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Restructure frame output
* Reboot JSComponent when ref changes
* Prune outputs from LV, handle frame and stdout updates via component messaging
* Keep ANSI modifiers as keyword list
* Don't re-render pruned outputs
* Improve empty frame styling
* Use more specific id
* Add clarification on trailing CR
* Handle output group borders with CSS
* Keep only relevant outputs in memory
* Adjust borders
* Update lib/livebook/live_markdown/import.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Apply review comments
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Adds the greens and yellows from the custom color palette
* Keeps the cell status indicators with the original bright colors
* Increases icon-button contrast
* Increases labeled_text font-size
* Removes type: button to fix the runtime sidebar buttons style on Safari
* Increases the toggleable menu contrast on hover
* Use the same color for the stale state in the sections sidebar
* Remove delete prompt for empty sections
If a section has no cell views or only empty cell views, avoid
prompting the user to delete the section and just go ahead and delete
it.
Closes#800
* Move delete prompt logic to SessionLive
This avoids creating two separate paths in the view for displaying
delete buttons (triggering either a prompt, or deleting the empty
section).
Instead, the `delete_section` callback is always triggered, and the
"display prompt" logic is kept here.
Couple of things I'm unsure about so will discuss on the PR.
See https://github.com/livebook-dev/livebook/pull/829#discussion_r775560671
* Check only against empty cell list in `delete_section`
* Fix indentation
* Handle section not existing on deletion
* Match empty cell list in case expression
Also explicitly set the section and then re-use it. I think this is a
bit nicer than just matching against the empty list since it matches
the following match too
* Disable Choose button if draft file is a directory
* Fix warnings
* Decide if choose is disabled on handle info
* Revert "Decide if choose is disabled on handle info"
This reverts commit 43a2cbc5ea.
* Use the disabled attribute