Sort Unicode strings lexicographically
OTHER License
Bot releases are visible (Hide)
This small release adds no_std
support. There's a std
feature that is required for comparing and sorting file paths. This feature is enabled by default, so you need to disable default features to compile without the standard library:
# Cargo.toml
[dependencies]
lexical-sort = { version = "0.3.1", default-features = false }
Published by Aloso over 4 years ago
This release features three new comparison functions and a brand new public API that is more powerful and flexible. Additionally, the benchmark was rewritten and the documentation was improved.
There are now two traits, StringSort
and PathSort
, which allow sorting a slice containing strings or paths, or things that implement AsRef<str>
or AsRef<Path>
:
use lexical_sort::{StringSort, natural_lexical_cmp};
let mut strings = vec!["ß", "é", "100", "hello", "world", "50", ".", "B!"];
strings.string_sort_unstable(natural_lexical_cmp);
There are now 8 comparison functions available:
Function | lexicographical | natural | skips non-alphanumeric chars |
---|---|---|---|
cmp |
|||
only_alnum_cmp |
yes | ||
lexical_cmp |
yes | ||
lexical_only_alnum_cmp |
yes | yes | |
natural_cmp |
yes | ||
natural_only_alnum_cmp |
yes | yes | |
natural_lexical_cmp |
yes | yes | |
natural_lexical_only_alnum_cmp |
yes | yes | yes |
I plan to implement better Unicode support, although I still have to explore the design space here. I'm also open to feature requests!
Published by Aloso over 4 years ago
This is a new release of the lexical-sort crate with a bug fix to sort numbers correctly, more benchmarks, and two new functions: lexical_cmp_only_alnum
and lexical_natural_cmp_only_alnum
skip characters that aren't alphanumeric.
Published by Aloso over 4 years ago
This is a new release of the lexical-sort
crate with performance improvements, better Unicode support thanks to the any_ascii
crate, a benchmark and a new license.
Published by Aloso over 4 years ago