Support terminal-wg's BiDi draft proposal in alacritty_terminal #7872
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://terminal-wg.pages.freedesktop.org/bidi
Implementation is hidden behind a
bidi_draft
crate feature, and depends on alacritty/vte#112.Public API is limited to:
Cell::bidi_mode()
method which returns aBidiMode
enum value.Cell::bidi_box_mirroring()
method which returns a boolean.Term
boolean fieldbidi_disable_arrow_key_swapping
.Cell
BidiFlags
is only used internally since relations/interactions between individual flags are not straight forward, and could lead to erroneous behavior if it's all left for API consumers to figure out.BidiDir
named fields exist in allBidiMode
variants. This is done deliberately (instead of e.g. aBidiMode
struct with aBidiDir
field) to signify the different purposeBidiDir
serves in each mode.