You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: support Unicode identifiers in Java class name validation (#789) (#993)
* fix: support Unicode identifiers in Java class name validation (#789)
Change isJavaIdentifier() regex from ASCII-only /^([a-zA-Z_$][a-zA-Z\d_$]*)$/
to Unicode-aware regex using ES2018 property escapes per JLS §3.8.
This allows non-ASCII identifiers (e.g., Japanese ほげ, Chinese 中文类名,
accented Ñoño) to be accepted in the New Java File and Rename wizards.
Fixes#789
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: fix flaky simple project name assertion
The .project file defined name '1.helloworld' but JDT LS may override it
with the folder name 'simple'. Align .project name with folder name to
eliminate the inconsistency.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: use name-based lookups instead of hardcoded indices
JDT LS may return additional source roots (e.g. target/generated-sources)
that shift node indices. Replace hardcoded array indices with find()-by-name
lookups to make tests resilient to JDT LS version differences.
- Maven: find containers by name instead of [2]/[3]
- Maven: check specific nodes hidden instead of exact count
- Gradle: find nodes by name, increase timeout to 120s
- Multi-module: add assertion guard before getChildren()
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ci: upgrade GitHub Actions to v4, fix multi-module test LS readiness
- Upgrade actions/checkout@v2 -> @v4, actions/setup-java@v1 -> @v4,
actions/setup-node@v2 -> @v4 across all 3 CI workflows
- setup-java@v4 with distribution: temurin fixes macOS ARM64 JAVA_HOME
- Multi-module test: add languageServerApiManager.ready() to suiteSetup
so Maven module names are fully resolved before assertions
- Accept folder name or .project name variants for level1 submodule
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
assert.ok(!!projectChildren.find(child=>childinstanceofFileNode&&child.path?.endsWith('level1/pom.xml'),`Expected to find FileNode with level1 pom.xml in:\n${printNodes(projectChildren)}`));
0 commit comments