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

karellen / karellen-jdtls-kotlin / 25456954821 / 1
80%
master: 80%

Build:
DEFAULT BRANCH: master
Ran 06 May 2026 07:40PM UTC
Files 26
Run time 1s
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
25456954821.1

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 %.

5231 of 6137 relevant lines covered (85.24%)

3.01 hits per line

Source Files on job 25456954821.1
  • Tree
  • List 26
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 25456954821
  • 170fceaf on github
  • Prev Job for on master (#25456881677.1)
  • Next Job for on master (#25537495458.1)
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