[FEATURE] Remove Apache-2.0 only transitive dependency blocking use in GPL2 projects
- Dominant language
- Rust
- Stars
- 4.8k
- Forks
- 270
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 2
Description
**Is your feature request related to a problem? Please describe.**
I was planning on licensing my project using Cursive as GPL2 or later, to match other projects under the same organization, but after setting up `cargo deny`, I realized that despite being licensed under the MIT license, I can't actually use Cursive due to its dependency on `xi_unicode`.
**Describe the solution you'd like**
Drop the `xi_unicode` dependency and just use `unicode_segmentation` and `unicode_width` to implement `ChunkIterator`
**Additional context**
Totally understand if this is not something you want to do. If you're okay with this change, I may try doing it myself.
Contributor guide
Research direction
Start by locating the Cargo manifest, references to xi_unicode, and the ChunkIterator implementation. Read how unicode_segmentation and unicode_width are currently used, then run the existing test suite after removing the dependency. Done means ChunkIterator still behaves correctly while xi_unicode is no longer a transitive dependency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100