JuliaLang / JuliaLang/JuliaSyntax.jl
eliminate dependency on Base.is_id_char and julia-specific utf8proc
- Dominant language
- Julia
- Stars
- 293
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
As discussed in #372, in order to make the JuliaSyntax parsing independent of the version of Julia in which it runs, it needs to:
1. Add a dependency on [utf8proc_jll](https://github.com/JuliaBinaryWrappers/utf8proc_jll.jl), rather than using the utf8proc bundled with Julia. This is important because the supported version of Unicode (for character classification) depends on utf8proc.
2. Re-implement `Base.is_id_start_char` and `Base.is_id_char` to identify which characters can appear in identifiers (or technically, which characters can begin graphemes, now that #372 is merged … this could simplify the rules slightly since we no longer need to explicitly check for combining marks).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing #372 and the JuliaSyntax parsing code that uses Julia's bundled utf8proc and Base.is_id_start_char/Base.is_id_char. Done means adding the utf8proc_jll dependency and replacing those Base checks with identifier or grapheme-start classification independent of the Julia version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100