Downgrade unicode-segmentation

This commit is contained in:
notoria 2021-06-09 18:07:58 +02:00 committed by Blaž Hrastnik
parent e46346c907
commit 1b14e9a19a
3 changed files with 18 additions and 9 deletions

9
Cargo.lock generated
View file

@ -266,7 +266,7 @@ dependencies = [
"toml",
"tree-sitter",
"unicode-general-category",
"unicode-segmentation 1.7.1 (git+https://github.com/unicode-rs/unicode-segmentation.git)",
"unicode-segmentation",
"unicode-width",
]
@ -332,7 +332,7 @@ dependencies = [
"cassowary",
"crossterm",
"serde",
"unicode-segmentation 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-segmentation",
"unicode-width",
]
@ -991,11 +991,6 @@ version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
[[package]]
name = "unicode-segmentation"
version = "1.7.1"
source = "git+https://github.com/unicode-rs/unicode-segmentation.git#58d73acf0e92f9806619fa79c3138dd410bca216"
[[package]]
name = "unicode-width"
version = "0.1.8"

View file

@ -17,7 +17,7 @@ helix-syntax = { path = "../helix-syntax" }
ropey = "1.2"
smallvec = "1.4"
tendril = "0.4.2"
unicode-segmentation = { git = "https://github.com/unicode-rs/unicode-segmentation.git" }
unicode-segmentation = "1.7.1"
unicode-width = "0.1"
unicode-general-category = "0.4.0"
# slab = "0.4.2"

View file

@ -3,6 +3,8 @@ use ropey::{iter::Chunks, str_utils::byte_to_char_idx, RopeSlice};
use unicode_segmentation::{GraphemeCursor, GraphemeIncomplete};
use unicode_width::UnicodeWidthStr;
use std::fmt;
#[must_use]
pub fn grapheme_width(g: &str) -> usize {
if g.as_bytes()[0] <= 127 {
@ -147,7 +149,7 @@ pub fn is_grapheme_boundary(slice: RopeSlice, char_idx: usize) -> bool {
}
/// An iterator over the graphemes of a `RopeSlice`.
#[derive(Debug, Clone)]
#[derive(Clone)]
pub struct RopeGraphemes<'a> {
text: RopeSlice<'a>,
chunks: Chunks<'a>,
@ -156,6 +158,18 @@ pub struct RopeGraphemes<'a> {
cursor: GraphemeCursor,
}
impl<'a> fmt::Debug for RopeGraphemes<'a> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("RopeGraphemes")
.field("text", &self.text)
.field("chunks", &self.chunks)
.field("cur_chunk", &self.cur_chunk)
.field("cur_chunk_start", &self.cur_chunk_start)
// .field("cursor", &self.cursor)
.finish()
}
}
impl<'a> RopeGraphemes<'a> {
#[must_use]
pub fn new(slice: RopeSlice) -> RopeGraphemes {