* 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>
* High-contrast option for the code editor
* Small refactor
* Creates a high-contrast theme from the custom theme
* Refactor to store the theme as a string
* Fix prettier
* Adds an option to increase the font size of the editor
* Update lib/livebook_web/live/settings_live.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* Editor font size options as constants
Co-authored-by: José Valim <jose.valim@gmail.com>
* 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
* Add version section to settings
* Add System Settings Version subsection
* Apply suggestions from code review
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Show deprecated and since doc metadata on mouse over
* Make deprecated indication stronger
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
* Introduce broadcast communication from runtime
* Return broadcast target from group leader
* Increase timeout
* Make the channel test async
* Decouple base topic and ref
* override tab name when notebook is renamed
* set page_title in after operation function
* add custom page title to all live pages
* Revert "override tab name when notebook is renamed"
This reverts commit 90303e08a8.
* add test for update
* 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
This reduces memory consumption by the runtime,
especially when using intellisense features which
may generate a lot of garbage.
There is an odd chance this can generate slow downs
in certain cases but, for that to happen, I would
expect the notebook to either have a lot of data
allocated or many users interacting with it and
triggering completion and other features at the same
time.
We don't worry about the second case because the
goal is to move completion to an ephemeral separate
process anyway, which would remove the need for GC
during completion altogether (and allow several
completions to run concurrently). If this happens,
we can consider moving GC out of the evaluator and
have the session explicitly trigger it once it
terminates a chain of evaluation.
It is also worth triggering the GC whenever
we forget an evaluation context.
* Add completion for struct keys
Largely ported from `IEx.Autocomplete`.
* Add test for __exception__ field in struct
* Fix exception test
* Fix exceptions assetion
* Create `:in_struct_field` identifier
Along with a refactor
* Fix typespecs for `:map_field`
* Address feedback
* Update lib/livebook/intellisense/identifier_matcher.ex
Co-authored-by: José Valim <jose.valim@gmail.com>
* Use markdown snippet for both docs
* Fix tests
Co-authored-by: José Valim <jose.valim@gmail.com>
* Fix error on back after closing session
Clicking the browsers back button after closing a session
resulted in an error since it was trying to close an already closed notebook
* Overwrite back history on section delete
* Make cell status italic when content changed
* Add Ctrl+Shift+Enter for evaluating all cells
* Improve the behaviour of evaluating all cells
* Fix typo