helix/helix-tui
Michael Davis f1b3e4bb0d
tui: Refactor Config type handling in backends
The `Config` can be passed when creating the backend (for example
`CrosstermBackend::new`) and is already updated in the
`Backend::reconfigure` callback. Recreating the tui `Config` during
`claim` and `restore` is unnecessary and causes a clone of the editor's
Config which is a fairly large type. This change drops the `Config`
parameter from those callbacks and updates the callers. Instead it is
passed to `CrosstermBackend` which then owns it.

I've also moved the override from the `editor.undercurl` key onto the
tui `Config` type - I believe it was just an oversight that this was not
done originally. And I've updated the `From<EditorConfig> for Config`
to take a reference to the editor's `Config` to avoid the unnecessary
clone during `CrosstermBackend::new` and `Backend::reconfigure`.
2025-07-13 12:10:47 -04:00
..
src tui: Refactor Config type handling in backends 2025-07-13 12:10:47 -04:00
tests tui: Constify functions, shrink Margin representation 2024-05-21 04:34:36 +09:00
.gitignore Inline tui as helix-tui fork. 2021-05-09 17:52:55 +09:00
Cargo.toml build(deps): bump the rust-dependencies group with 5 updates (#13070) 2025-03-11 08:29:38 -05:00
README.md Fix grammatical error (#1427) 2022-01-04 10:45:31 +09:00

README.md

helix-tui

This library is a fork of the great library tui-rs. We've mainly relied on the double buffer implementation and render diffing, side-stepping its widget and layouting.