Fix backwards character deletion on other whitespaces (#2855)

* delete_backwards_char accepts any type of whitespace

* Fix inconsistency, where unicode whitespaces are treated as normal whitespaces

* Changed back to direct whitespace match

* Only accept explicit whitespace / tabs

Co-authored-by: s0LA1337 <dreamer@neoncity.dev>
This commit is contained in:
Sora 2022-07-01 11:08:48 +02:00 committed by GitHub
parent 444bc24a26
commit edee2f4c34
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2948,7 +2948,7 @@ pub mod insert {
let line_start_pos = text.line_to_char(range.cursor_line(text));
// consider to delete by indent level if all characters before `pos` are indent units.
let fragment = Cow::from(text.slice(line_start_pos..pos));
if !fragment.is_empty() && fragment.chars().all(|ch| ch.is_whitespace()) {
if !fragment.is_empty() && fragment.chars().all(|ch| ch == ' ' || ch == '\t') {
if text.get_char(pos.saturating_sub(1)) == Some('\t') {
// fast path, delete one char
(