Fixes scrolling on vscode using simple fix
Adds scroll modifier, scroll at 5 lines per scroll while holding shift key.
Adds error handling for manganis failure that still lets the build run.
Revises TUI rendering code.
Move TUI "info bars" to the bottom of the terminal.
Revised logging system with tracing
Working [c] clear keybind. This has been removed.
Removal of [h] hide keybind text (it does nothing)
Some opinionated cleanups and renames to make tui logic easier to understand.
Rolling log file & maybe add some more "internal" logging. Closes CLI Rolling Log File #2764
Removes log tabs. Closes CLI: Color-code logs and get rid of tabs #2857
Combines info bars.
Working and good text selection.
Print launch URL in console.
Handle log lines properly and add formatting.
Move MessageSource to a more reasonable location.
Add some background styling to powerline (info bar) - Tried this and it doesn't look the greatest.
Log Filtering
Final Cleaning & Changes - I could do this forever
Test Linux
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* ci: Add workflow for building flake.nix
This will build all flake outputs, which primarily is a devShell.
It uses https://omnix.page/om/ci.html to build.
* ci(nix): Use nix cache to reduce CI times
* ci(nix): Run `cargo build` to test devShell
* Allow hooks in the expression of a match statement and if statement
* Don't allow hooks in spawn and detect hooks in initialization closures
* Point to DX check when hooks are called conditionally
* Use of async_std::task::sleep instead of tokio::time::sleep
* Make the clock example run on wasm
* Add control_focus and eval examples to Cargo.toml
* Use web-time on desktop; It just falls back to std on non-wasm platforms
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Fix hot reloading components with keys
* include component formatted segment keys, but not dynamic component value
* Fix component_literal_dyn_idx index
* add a new test for hot reloading components with keys
* Even more tests
* make clippy happy
* fix typo
* nix: Avoid Linux only packages on macOS
* nix: Update flake inputs to get new compiler
In particular, updating nixpkgs & rust-overlay gets us Rust 1.80.1
* Fix partialeq for coroutine
* add a comment about manual implementation of traits for coroutine
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Expose a generic lazy type
* Switch to generic lazy globals
* simplify global lazy context a bit
* rename LazyGlobal to Global
* use Memo::global in more examples
* Fix soundness issue with deref_impl. It relies on the size of self, so it cannot be safe
* add a comment about safety
* Make clippy happy
* fix formatting
* Restore changes to signal impl
* Add helper methods for global signal and global memo to make getting the inner value easier
* Add the capability to handle resize event for web target
* Add the capability to handle resize event for desktop target
* Return all the sizes, not just the first one
* Fix conversion from platform to generic ResizedData for liveview
* Update the generated interpreter js code base
* Fix clippy warnings
* Fix inconsistent use of block_size and inline_size
* Rename `onresized` event to `onresize`
* Remove the the special-casing logic from the binding logic
* Propagating the resize events using CustomEvent
* Fix case convention in core ts
* revert changes to unified bindings
* Cleanup as suggested
* add a resize example
* Fix desktop resize events
* remove tracing from resize example
* use the raw resize entry so we can downcast on web
* remove unused ResizeEventDetail
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Fix hot reloading component properties out of order
* ignore signal write warnings in hot reloading
* Fix hot reloading components with only some literal properties
* Add a test for hot reloading component properties
* got a repro, but no solution :(
* hmmmmm 🤔
* awyayayayayayya
* omg it's because we dont create in rev
* Make nodes rev
* fix tests compile
* Clean up PR
* revert changes to native
* Clean up PR, add test
* remove clone mounted; mounted nodes should never leak into components?
* Remove the mount from vnodes after unmounting them
* Fix use after removal in iterator diffing
* remove logs
* Re-fix keyed list diffing
* Use new.len for diffing keyed lens and remove redundant check
* simplify core list diffing logic a bit
* remove println
* add proper asserts for new tests
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* add prevent default methods to the event
* sync prevent default almost working
* sync prevent default working
* Move event handling into the runtime
* update core tests
* restore desktop file dialog
* implement prevent default on web
* add a hint about the new prevent default method
* fix web prevent default
* Fix CTRL+click on links
* fix values memorize in place test
* Fix a few more tests
* Add a playwright test for sync prevent default
* Fix core doc tests
* create a deprecated VirtualDom::handle_event
* fix macos imports in desktop
* Fix onmounted event
* Fix liveview support
* switch to RefCell for metadata
* Remove println
* remove prevent default attribute
* remove web specific link behavior
* Fix liveview links
* more liveview fixes for link
* Fix merge conflicts
* Fix clippy
* use the new prevent default in the file upload example