Skip to content

Commit

Permalink
Updated edition to 2018
Browse files Browse the repository at this point in the history
  • Loading branch information
YohDeadfall committed Mar 21, 2021
1 parent ee33287 commit 620ed8c
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 22 deletions.
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ name = "unicode-segmentation"
version = "1.7.1"
authors = ["kwantam <[email protected]>", "Manish Goregaokar <[email protected]>"]

edition = "2018"
homepage = "https://github.com/unicode-rs/unicode-segmentation"
repository = "https://github.com/unicode-rs/unicode-segmentation"
documentation = "https://unicode-rs.github.io/unicode-segmentation"
Expand Down
16 changes: 8 additions & 8 deletions src/grapheme.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

use core::cmp;

use tables::grapheme::GraphemeCat;
use crate::tables::grapheme::GraphemeCat;

/// External iterator for grapheme clusters and byte offsets.
///
Expand Down Expand Up @@ -229,7 +229,7 @@ enum PairResult {
}

fn check_pair(before: GraphemeCat, after: GraphemeCat) -> PairResult {
use tables::grapheme::GraphemeCat::*;
use crate::tables::grapheme::GraphemeCat::*;
use self::PairResult::*;
match (before, after) {
(GC_CR, GC_LF) => NotBreak, // GB3
Expand Down Expand Up @@ -295,8 +295,8 @@ impl GraphemeCursor {
}

fn grapheme_category(&mut self, ch: char) -> GraphemeCat {
use tables::grapheme as gr;
use tables::grapheme::GraphemeCat::*;
use crate::tables::grapheme as gr;
use crate::tables::grapheme::GraphemeCat::*;

if ch <= '\u{7e}' {
// Special-case optimization for ascii, except U+007F. This
Expand Down Expand Up @@ -387,7 +387,7 @@ impl GraphemeCursor {
/// assert_eq!(cursor.is_boundary(&flags[8..], 8), Ok(true));
/// ```
pub fn provide_context(&mut self, chunk: &str, chunk_start: usize) {
use tables::grapheme as gr;
use crate::tables::grapheme as gr;
assert!(chunk_start + chunk.len() == self.pre_context_offset.unwrap());
self.pre_context_offset = None;
if self.is_extended && chunk_start + chunk.len() == self.offset {
Expand Down Expand Up @@ -433,7 +433,7 @@ impl GraphemeCursor {
}

fn handle_regional(&mut self, chunk: &str, chunk_start: usize) {
use tables::grapheme as gr;
use crate::tables::grapheme as gr;
let mut ris_count = self.ris_count.unwrap_or(0);
for ch in chunk.chars().rev() {
if self.grapheme_category(ch) != gr::GC_Regional_Indicator {
Expand All @@ -453,7 +453,7 @@ impl GraphemeCursor {
}

fn handle_emoji(&mut self, chunk: &str, chunk_start: usize) {
use tables::grapheme as gr;
use crate::tables::grapheme as gr;
let mut iter = chunk.chars().rev();
if let Some(ch) = iter.next() {
if self.grapheme_category(ch) != gr::GC_ZWJ {
Expand Down Expand Up @@ -506,7 +506,7 @@ impl GraphemeCursor {
/// assert_eq!(cursor.is_boundary(flags, 0), Ok(false));
/// ```
pub fn is_boundary(&mut self, chunk: &str, chunk_start: usize) -> Result<bool, GraphemeIncomplete> {
use tables::grapheme as gr;
use crate::tables::grapheme as gr;
if self.state == GraphemeState::Break {
return Ok(true)
}
Expand Down
8 changes: 4 additions & 4 deletions src/sentence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use core::iter::Filter;

// All of the logic for forward iteration over sentences
mod fwd {
use tables::sentence::SentenceCat;
use crate::tables::sentence::SentenceCat;
use core::cmp;

// Describe a parsed part of source string as described in this table:
Expand Down Expand Up @@ -111,7 +111,7 @@ mod fwd {
if parts[idx] == StatePart::ClosePlus { idx -= 1 }

if parts[idx] == StatePart::ATerm {
use tables::sentence as se;
use crate::tables::sentence as se;

for next_char in ahead.chars() {
//( ¬(OLetter | Upper | Lower | ParaSep | SATerm) )* Lower
Expand Down Expand Up @@ -176,7 +176,7 @@ mod fwd {

#[inline]
fn next(&mut self) -> Option<usize> {
use tables::sentence as se;
use crate::tables::sentence as se;

for next_char in self.string[self.pos..].chars() {
let position_before = self.pos;
Expand Down Expand Up @@ -331,7 +331,7 @@ pub fn new_sentence_bound_indices<'a>(source: &'a str) -> USentenceBoundIndices<
#[inline]
pub fn new_unicode_sentences<'b>(s: &'b str) -> UnicodeSentences<'b> {
use super::UnicodeSegmentation;
use tables::util::is_alphanumeric;
use crate::tables::util::is_alphanumeric;

fn has_alphanumeric(s: &&str) -> bool { s.chars().any(|c| is_alphanumeric(c)) }
let has_alphanumeric: fn(&&str) -> bool = has_alphanumeric; // coerce to fn pointer
Expand Down
6 changes: 3 additions & 3 deletions src/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use std::prelude::v1::*;

#[test]
fn test_graphemes() {
use testdata::{TEST_SAME, TEST_DIFF};
use crate::testdata::{TEST_SAME, TEST_DIFF};

pub const EXTRA_DIFF: &'static [(&'static str,
&'static [&'static str],
Expand Down Expand Up @@ -88,7 +88,7 @@ fn test_graphemes() {

#[test]
fn test_words() {
use testdata::TEST_WORD;
use crate::testdata::TEST_WORD;

// Unicode's official tests don't really test longer chains of flag emoji
// TODO This could be improved with more tests like flag emoji with interspersed Extend chars and ZWJ
Expand Down Expand Up @@ -144,7 +144,7 @@ fn test_words() {

#[test]
fn test_sentences() {
use testdata::TEST_SENTENCE;
use crate::testdata::TEST_SENTENCE;

for &(s, w) in TEST_SENTENCE.iter() {
macro_rules! assert_ {
Expand Down
14 changes: 7 additions & 7 deletions src/word.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use core::cmp;
use core::iter::Filter;

use tables::word::WordCat;
use crate::tables::word::WordCat;

/// An iterator over the substrings of a string which, after splitting the string on
/// [word boundaries](http://www.unicode.org/reports/tr29/#Word_Boundaries),
Expand Down Expand Up @@ -170,7 +170,7 @@ enum RegionalState {
}

fn is_emoji(ch: char) -> bool {
use tables::emoji;
use crate::tables::emoji;
emoji::emoji_category(ch).2 == emoji::EmojiCat::EC_Extended_Pictographic
}

Expand All @@ -187,7 +187,7 @@ impl<'a> Iterator for UWordBounds<'a> {
fn next(&mut self) -> Option<&'a str> {
use self::UWordBoundsState::*;
use self::FormatExtendType::*;
use tables::word as wd;
use crate::tables::word as wd;
if self.string.len() == 0 {
return None;
}
Expand Down Expand Up @@ -414,7 +414,7 @@ impl<'a> DoubleEndedIterator for UWordBounds<'a> {
fn next_back(&mut self) -> Option<&'a str> {
use self::UWordBoundsState::*;
use self::FormatExtendType::*;
use tables::word as wd;
use crate::tables::word as wd;
if self.string.len() == 0 {
return None;
}
Expand Down Expand Up @@ -666,7 +666,7 @@ impl<'a> UWordBounds<'a> {

#[inline]
fn get_next_cat(&self, idx: usize) -> Option<WordCat> {
use tables::word as wd;
use crate::tables::word as wd;
let nidx = idx + self.string[idx..].chars().next().unwrap().len_utf8();
if nidx < self.string.len() {
let nch = self.string[nidx..].chars().next().unwrap();
Expand All @@ -678,7 +678,7 @@ impl<'a> UWordBounds<'a> {

#[inline]
fn get_prev_cat(&self, idx: usize) -> Option<WordCat> {
use tables::word as wd;
use crate::tables::word as wd;
if idx > 0 {
let nch = self.string[..idx].chars().next_back().unwrap();
Some(wd::word_category(nch).2)
Expand All @@ -700,7 +700,7 @@ pub fn new_word_bound_indices<'b>(s: &'b str) -> UWordBoundIndices<'b> {

#[inline]
fn has_alphanumeric(s: &&str) -> bool {
use tables::util::is_alphanumeric;
use crate::tables::util::is_alphanumeric;

s.chars().any(|c| is_alphanumeric(c))
}
Expand Down

0 comments on commit 620ed8c

Please sign in to comment.