• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

karellen / karellen-jdtls-kotlin / 25422679439
80%

Build:
DEFAULT BRANCH: master
Ran 06 May 2026 07:43AM UTC
Jobs 1
Files 26
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 May 2026 07:40AM UTC coverage: 79.664%. Remained the same
25422679439

push

github

web-flow
Support camelcase and pattern matching in locateMatches (#32)

## Summary

- `matchesTypeName()`, `matchesTypeAliasName()`, and
`locateFacadeTypeMatch()` now use `TypeDeclarationPattern.matchesName()`
instead of `equalsIgnoreCase`, supporting all JDT match rules (exact,
prefix, camelcase, wildcard)
- Adds `WorkspaceSymbolSearchTest` (8 tests) validating workspace/symbol
search for Kotlin types

## Motivation

Workspace/symbol queries (`workspace/symbol` LSP method) use
`R_CAMELCASE_MATCH` and `R_PATTERN_MATCH`. The index correctly selected
documents containing matching Kotlin types, but `locateMatches()`
rejected all declarations because the name comparison used
`equalsIgnoreCase` — only exact matches passed.

`TypeDeclarationPattern.matchesName()` is the same method JDT Core uses
in `matchesDecodedKey()` during index queries. It respects the pattern's
match rule, handling camelcase (e.g., "IPS" →
`InventoryPopulationService`), wildcards (e.g., `*Population*`), prefix,
and exact matching.

Companion fix:
[eclipse.jdt.ls#3732](https://github.com/eclipse-jdtls/eclipse.jdt.ls/pull/3732)
supplements `WorkspaceSymbolHandler.searchAllTypeNames()` with a
`search()` call through contributed participants, since
`searchAllTypeNames` only queries the default Java participant's
indexes.

## Test plan

- [x] `testSearchAllTypeNamesDoesNotFindKotlinTypes` — confirms
`searchAllTypeNames` gap
- [x] `testSearchAllTypeNamesCamelCaseDoesNotFindKotlinTypes` — confirms
camelcase gap
- [x] `testSearchWithParticipantsFindsKotlinTypeExact` — exact match via
`search()`
- [x] `testSearchWithParticipantsFindsKotlinTypeCamelCase` — "IPS" finds
`InventoryPopulationService`
- [x] `testSearchWithParticipantsFindsKotlinTypePatternMatch` —
`*Population*` finds type
- [x] `testSearchWithParticipantsFindsMultipleKotlinTypes` —
`Inventory*Service` finds 2 types
- [x] `testSearchWithParticipantsFindsKotlinInterface` — "IR" finds
interface + implementation
- [x] `testSearchWithParticipant... (continued)

2490 of 3555 branches covered (70.04%)

Branch coverage included in aggregate %.

3 of 3 new or added lines in 1 file covered. (100.0%)

5231 of 6137 relevant lines covered (85.24%)

3.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25422679439.1 06 May 2026 07:43AM UTC 26
79.66
GitHub Action Run
Source Files on build 25422679439
  • Tree
  • List 26
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25422679439
  • 170fceaf on github
  • Prev Build on master (#25406509346)
  • Next Build on master (#25456881677)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc