feat(search): find a Spring endpoint by its request path (#820)

Search Everywhere lists Spring Web endpoints matched by request path (context path tolerated) or handler method name, and Enter opens the handler. The host scans Java/Kotlin sources that name a mapping; http-client parses and indexes them and hands the entries to search through an endpoint contribution, so search does not import http-client. The index is invalidated when a Java/Kotlin file changes.

Route source path assertions compare by path component so they hold on Windows.

Co-authored-by: misswell <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Цей коміт міститься в:
authored and GitHub committed 2026-11-02 22:18:11 +08:00
1 джерело 8ea8c98a39
коміт 4e9442b499
17 files changed
+587 -6

No files matched your search

+1
Переглянути файл
@@ -182,6 +182,7 @@ pub fn builder() -> tauri_specta::Builder<tauri::Wry> {
caches::caches_schedule_invalidation,
caches::app_restart,
nav::index_status,
nav::spring_route_sources,
nav::find_files,
nav::find_symbols,
nav::mark_recent,
+10
Переглянути файл
@@ -22,6 +22,16 @@ pub fn find_files(window: Window, state: State<'_, AppState>, query: String, lim
ide_host::ops::nav::find_files(&state.host, window.label(), query, limit)
}
/// Spring Web mapping sources for the request-path index of Search Everywhere.
#[tauri::command]
#[specta::specta]
pub fn spring_route_sources(
window: Window,
state: State<'_, AppState>,
) -> IdeResult<Vec<ide_host::ops::routes::RouteSource>> {
ide_host::ops::routes::spring_route_sources(&state.host, window.label())
}
#[tauri::command]
#[specta::specta]
pub fn find_symbols(