- fix(key): fix backspace bug in emacs bindings
- feat: add cursor_screen_position() api
- feat: add single-line mode to block newline insertion
- feat: add AltGr key normalization for international keyboards
- feat: add custom highlight API for arbitrary styled ranges
- feat: add Ctrl+Left/Right word navigation keybindings
- feat: add PageUp/PageDown full page navigation actions
- feat: add viewport_offset() and set_viewport_offset() api
- fix(emacs): add proper DeleteWordForward and DeleteWordBackward actions
- fix: Ctrl+Right word navigation in insert mode now lands after last character
- doc: add single line emacs example
- test: add test for altgr normalization
- fix: PageUp/PageDown now scrolls viewport and positions cursor correctly
- feat: expose set_viewport_height API
- fix(lint): ignore too many arguments
- refactor: make key helpers private
- fix(input): allow shift modifier for insert mode (@shaunrd0)
- (input) Introduce new key input to allow multi-mods input
- (ci) Add release workflow
- feat: Allow setting custom theme/syntax set (@Julien-cpsn)
- feat: Support scrolling with mouse
- Fix mouse events being handled outside editor bounds
- Added HorizontalAlignement for status line (Julien-cpsn)
- Split
OpenSystemEditorfrom event loop to make terminal modes restorable
- Add
OpenSystemEditorwhich opens a system editor.- Invoked with
ctrl+ein vim mode. - Invoked with
alt+ein emacs mode.
- Invoked with
- Add line numbers support (absolute and relative)
- Add Delete key support in insert mode (DeleteCharForward)
- New
new_customandcustom_syntax_refmethods forSyntaxHighlighter(@Julien-cpsn)
- Switch from ratatui to ratatui-core
- Add support for custom keybindings
- Add support for Emacs keybindings
- fix: MoveWordForward respects character class correctly
- fix: Line mode selection anchors correctly
- Bump ratatui to v0.30.0
- Bump arboard, syntect and enum_dispatch
- Unmark mouse support and syntax highlightning - no longer experimental
- Add new keymappings
- Ctrl+u (insert mode): Deletes to first non-whitespace character
- Home: Goes to the start of the line
- End: Goes to the end of the line
- Make on_paste_event public
- feat: Support bracketed paste (ctrl+y or cmd+y)
- feat: Add proper "SelectInnerWord" command
- feat: Add "ChangeSelection" command
- Fix: Move to First
- fix: Copy into empty buffer panic with leading newline
- Jump half page down
- Jump half page up
- Fix: Visual Line Selection
- Highlighting
- Copy/Extract with new line
- Impl 'yy': Yank current line
- Handle cases where yanked buffer starts with a new line character. In this case we paste the yank buffer into the start of a next new line, instead of breaking the current line. This matches vim behaviour.
- Fix mouse selection on wrapped lines
- Support . Tabs are currently visually interpreted as spaces. The number of spaces can be set via (by default 2)
EditorView::new(&mut state).tab_width(2);- Add 'e' keymap: Move word forward to end of a word
- Bump ratatui to v0.29.0
- Add
Dkeymapping: Delete to end of line - Syntax highlighting
#[cfg(feature = "syntax-highlighting")]
{
use edtui::EditorState;
use edtui::EditorView;
use edtui::SyntaxHighlighter;
let syntax_highlighter = SyntaxHighlighter::new("dracula", "rs");
EditorView::new(&mut EditorState::default())
.syntax_highlighter(Some(syntax_highlighter));
}- Add
ci*to change between delimiters, supported [', ", (, [, {] - Improve README
- Bugfix: MoveWordForward if out of bounds
- Bugfix: Capture state before switching to insert mode
- Bugfig: Render cursor if editor has no content
- Bump edtui-jagged version
- README: Fix keymappings
- Bugfix: Scroll down jumped one cell if wrap was set to true
- Support for line-wrapping
EditorView::new().wrap(true); - Move to first ('gg') / last ('G') row
- Copy deleted line to clipboard
- Refactoring
- Bump edtui-jagged version
- Capture editor state on each new input
- Bugfix: Move to matching bracket
- Move to opening/closing bracket with '%'
- Highlight search text
- Bump edtui jagged version
- Expose search_pattern() method
- Key event handler implements clone
- Bump ratatui to v0.28
- Make insert char safer
- Fix bug in selection mode
- Breaking change: Rename Input to EditorInput
- Breaking change: Rename StatusLine to EditorStatusLine
- Add fuzz testing
- Fix several bugs that were discovered by fuzzing
- Bump ratatui to v0.27
- Map Redo from
rto<ctrl>+r
- Fix panic when appending new line to empty buffer
- Fix panic in delete selection
- Add SelectLine
- Fix selection bug
- Render visual selection correctly
- Bump edtui-jagged to v0.1.3
- Use "ciw" for selection between delimiters instead of "cw".
- Minor bugfixes
- Paste over selection
- Support more motions in visual mode
- Add demo
Bump ratatui to version 0.26.0
- Fix bug in append string when no data was present
- Update default color scheme
- Add search functionality. Trigger search via '/'.
- Small breaking change in StatusLine widget. Replace 'content()' with 'mode()'.
- Bugfix: Fix panic in some cases when deleting selection
- Bugfix: Move left when cursor pos was larger than current col len
- Fix bug in WordBackward action
- Fix bug in RemoveChar action
- Fix bug in DeleteSelection action
- Add clipboard support
- Bump ratatui to version 0.25
- Refactor action enum
- Move jagged datatype into separate crate "edtui-jagged"