-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Panic when selecting text (assertion failed: self.is_char_boundary(at)) #750
Comments
Thanks for the issue. I think this is the same as what I mentioned here (but not a duplicate) #689 (comment) |
@fdncred It looks like it may be the same issue. When I created this issue, I didn't see that this was an error with reedline until I reinstalled I can reopen this issue on the reedline repository instead if that would be better. |
I'll just move this one. |
yea so i could only replicate this in a buffer with multiple colors
so i think somewhere buffer bytes and the char width of the buffer is mixed up and that leads to a panic right here: reedline/src/painting/styled_text.rs Line 61 in 02f551d
|
# Description This fixes a panic with the text selection. Reference nushell/reedline#751 nushell/reedline#750 nushell/reedline#689 (comment) # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. -->
# Description This fixes a panic with the text selection. Reference nushell/reedline#751 nushell/reedline#750 nushell/reedline#689 (comment) # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. -->
# Description This fixes a panic with the text selection. Reference nushell/reedline#751 nushell/reedline#750 nushell/reedline#689 (comment) # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. -->
Describe the bug
Nushell seems to panic when selecting text that includes a hyphen.
How to reproduce
git checkout abc-123
abc-
Attempting to ctrl+select
-123
using ctrl + shift + right also triggers it.Expected behavior
It should select
abc-
(or-123
going the other direction) without any panics.Screenshots
Windows Terminal:
vscode:
With
RUST_BACKTRACE = "full"
aftercargo install --profile dev nu
:(Relevant part of path in error:
reedline-0.29.0\src\painting\styled_text.rs:61:58
)Configuration
Additional context
OS: Win 11 Pro
Terminal: Windows Terminal
Also, I'm using starship and carapace, if that's relevant. Was able to reproduce in vscode using ctrl+shift+right to attempt to select
-123
.The text was updated successfully, but these errors were encountered: