Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e07f17b
feat: add Helix modal editing mode with selection-first editing
schlich Oct 10, 2025
35fb732
refactor(helix): extract enter_insert_mode helper
schlich Oct 10, 2025
fb436a9
refactor(helix): add make_key_event test helper
schlich Oct 10, 2025
99276ac
refactor(helix): add add_motion_binding helper
schlich Oct 10, 2025
94a571a
refactor(helix): unify prompt implementations
schlich Oct 10, 2025
fac1b8b
feat(helix): add W/B/E WORD motion support
schlich Oct 10, 2025
61f5f8e
feat(helix): add f/t/F/T find/till motions
schlich Oct 10, 2025
9b43c9b
refactor(helix): extract char search handling into helpers
schlich Oct 10, 2025
2ee8820
fix(helix): escape braces in example help text
schlich Oct 10, 2025
d657007
feat(helix): add select mode toggle with 'v' key
schlich Oct 10, 2025
e5d271d
refactor(helix): consolidate Normal and Select mode keybindings
schlich Oct 10, 2025
f9cfe7e
docs: move HELIX_MODE.md to examples dir
schlich Oct 10, 2025
c824952
docs: fix typo in library documentation
schlich Oct 12, 2025
ea9dbd6
ci: gitignore build results
schlich Oct 12, 2025
f9b59c6
chore: cargo fmt
schlich Oct 12, 2025
2dd4db8
feat(helix): implement proper selection model with separate Normal/Se…
schlich Oct 12, 2025
5168a77
docs(helix): add interactive tutorial and sandbox examples
schlich Oct 12, 2025
0332b2a
test(helix): add comprehensive test suite based on Helix's selection …
schlich Oct 12, 2025
3511f34
style: cargo fmt
schlich Oct 12, 2025
6aff4fc
refactor(helix): use struct update syntax in test initialization
schlich Oct 14, 2025
25f5d4b
test(fix): try a different test word for spell checker
schlich Oct 14, 2025
c3222ef
docs: improve CONTRIBUTING.md with stricter CI check commands
schlich Oct 14, 2025
b63a3c5
fix(helix): remove cursor left movement on Esc in insert mode
schlich Oct 14, 2025
83ee597
Add Helix prompt mode support
schlich Oct 14, 2025
64b653b
fix(helix): Leave previous paint job up when exiting insert mode
schlich Oct 14, 2025
08e1c64
fix(helix): move cursor left when exiting insert mode
schlich Oct 14, 2025
6c2283f
fix(helix): implement correct restore_cursor behavior for insert/appe…
schlich Oct 14, 2025
83d2354
refactor(helix): replace restore_cursor bool with insert_mode_exit_ad…
schlich Oct 14, 2025
68a53ec
chore: run cargo fmt to fix formatting
schlich Oct 14, 2025
89b0f41
Merge remote-tracking branch 'upstream/main' into schlich/helix-mode
schlich Oct 22, 2025
5121759
fix(helix): treat normal/select as inclusive prompt modes
schlich Oct 22, 2025
f193b96
refactor: merge examples
schlich Oct 22, 2025
70e8088
Fix helix word forward selection reanchor
schlich Oct 22, 2025
0a726fa
build: add proptest for property-based testing
schlich Oct 23, 2025
e6ded29
refactor(helix): improve word navigation with gap-aware motions
schlich Oct 23, 2025
1043ccd
feat(helix): enhance tutorial with multi-stage workflow
schlich Oct 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ tarpaulin-report.html
*.rsproj
*.rsproj.user
*.sln

# Cargo output
result
16 changes: 12 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,25 @@ Before submitting a PR make sure to run:
- for formatting

```shell
cargo fmt --all
cargo fmt --all -- --check
```

- the clippy lints
- the clippy lints (with warnings treated as errors)

```shell
cargo clippy
cargo clippy --all-targets --all -- -D warnings
```

- the test suite

```shell
cargo test
cargo test --all
```

- the lockfile check

```shell
cargo check --locked --all-targets --all
```

Note: CI runs these checks across multiple feature combinations (`bashisms`, `sqlite`, `external_printer`, etc.), so you may want to test with the features relevant to your changes using the `--features` flag.
179 changes: 177 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ unicode-width = "0.2"
[dev-dependencies]
gethostname = "0.4.0"
pretty_assertions = "1.4.0"
proptest = "1.6.0"
rstest = { version = "0.23.0", default-features = false }
tempfile = "3.3.0"

Expand Down
3 changes: 3 additions & 0 deletions examples/demo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ fn main() -> reedline::Result<()> {
vi_insert: Some(SetCursorStyle::BlinkingBar),
vi_normal: Some(SetCursorStyle::SteadyBlock),
emacs: None,
helix_insert: None,
helix_normal: None,
helix_select: None,
};

let mut line_editor = Reedline::create()
Expand Down
Loading