pub struct JavaLanguageService<V: Vfs> { /* private fields */ }Implementations§
Source§impl<V: Vfs> JavaLanguageService<V>
impl<V: Vfs> JavaLanguageService<V>
pub fn new(vfs: V, _language: JavaLanguage) -> Self
Trait Implementations§
Source§impl<V: Vfs + Send + Sync + 'static + WritableVfs> LanguageService for JavaLanguageService<V>
impl<V: Vfs + Send + Sync + 'static + WritableVfs> LanguageService for JavaLanguageService<V>
type Lang = JavaLanguage
type Vfs = V
Source§fn workspace(&self) -> &WorkspaceManager
fn workspace(&self) -> &WorkspaceManager
Get the workspace manager.
Source§fn get_root(
&self,
_uri: &str,
) -> impl Future<Output = Option<RedNode<'_, JavaLanguage>>> + Send + '_
fn get_root( &self, _uri: &str, ) -> impl Future<Output = Option<RedNode<'_, JavaLanguage>>> + Send + '_
Helper to get the root red node of a file.
Implementations should override this to provide actual parsing/caching.
Source§fn get_source(&self, uri: &str) -> Option<Box<dyn Source + Sync + Send>>
fn get_source(&self, uri: &str) -> Option<Box<dyn Source + Sync + Send>>
Helper to get source from VFS.
Source§fn with_root<'a, R, F>(
&'a self,
uri: &'a str,
f: F,
) -> impl Future<Output = Option<R>> + Send + 'a
fn with_root<'a, R, F>( &'a self, uri: &'a str, f: F, ) -> impl Future<Output = Option<R>> + Send + 'a
Helper to run logic with the root node.
Source§fn with_roots<'a, R, F>(
&'a self,
uris: Vec<String>,
f: F,
) -> impl Future<Output = Vec<R>> + Send + 'a
fn with_roots<'a, R, F>( &'a self, uris: Vec<String>, f: F, ) -> impl Future<Output = Vec<R>> + Send + 'a
Helper to run logic with multiple root nodes in parallel.
Source§fn hover(
&self,
_uri: &str,
_range: Range<usize>,
) -> impl Future<Output = Option<Hover>> + Send
fn hover( &self, _uri: &str, _range: Range<usize>, ) -> impl Future<Output = Option<Hover>> + Send
Provide hover information. Defaults to None.
Source§fn folding_ranges(
&self,
_uri: &str,
) -> impl Future<Output = Vec<FoldingRange>> + Send
fn folding_ranges( &self, _uri: &str, ) -> impl Future<Output = Vec<FoldingRange>> + Send
Provide folding ranges. Defaults to empty.
Source§fn document_symbols(
&self,
_uri: &str,
) -> impl Future<Output = Vec<StructureItem>> + Send
fn document_symbols( &self, _uri: &str, ) -> impl Future<Output = Vec<StructureItem>> + Send
Provide document symbols. Defaults to empty.
Source§fn workspace_symbols(
&self,
_query: &str,
) -> impl Future<Output = Vec<WorkspaceSymbol>> + Send
fn workspace_symbols( &self, _query: &str, ) -> impl Future<Output = Vec<WorkspaceSymbol>> + Send
Search for symbols in the entire workspace.
Source§fn list_all_files(
&self,
root_uri: &str,
) -> impl Future<Output = Vec<String>> + Send
fn list_all_files( &self, root_uri: &str, ) -> impl Future<Output = Vec<String>> + Send
Helper to list all files recursively.
Source§fn definition<'a>(
&'a self,
_uri: &'a str,
_range: Range<usize>,
) -> impl Future<Output = Vec<LocationRange>> + Send + 'a
fn definition<'a>( &'a self, _uri: &'a str, _range: Range<usize>, ) -> impl Future<Output = Vec<LocationRange>> + Send + 'a
Find definition. Defaults to empty.
Source§fn references<'a>(
&'a self,
_uri: &'a str,
_range: Range<usize>,
) -> impl Future<Output = Vec<LocationRange>> + Send + 'a
fn references<'a>( &'a self, _uri: &'a str, _range: Range<usize>, ) -> impl Future<Output = Vec<LocationRange>> + Send + 'a
Find references. Defaults to empty.
Source§fn rename<'a>(
&'a self,
_uri: &'a str,
_range: Range<usize>,
_new_name: String,
) -> impl Future<Output = Option<WorkspaceEdit>> + Send + 'a
fn rename<'a>( &'a self, _uri: &'a str, _range: Range<usize>, _new_name: String, ) -> impl Future<Output = Option<WorkspaceEdit>> + Send + 'a
Rename a symbol.
Source§fn completion<'a>(
&'a self,
_uri: &'a str,
_position: usize,
) -> impl Future<Output = Vec<CompletionItem>> + Send + 'a
fn completion<'a>( &'a self, _uri: &'a str, _position: usize, ) -> impl Future<Output = Vec<CompletionItem>> + Send + 'a
Provide completion items. Defaults to empty.
Source§fn diagnostics<'a>(
&'a self,
_uri: &'a str,
) -> impl Future<Output = Vec<Diagnostic>> + Send + 'a
fn diagnostics<'a>( &'a self, _uri: &'a str, ) -> impl Future<Output = Vec<Diagnostic>> + Send + 'a
Provide diagnostics for a file. Defaults to empty.
Source§fn initialize<'a>(
&'a self,
_params: InitializeParams,
) -> impl Future<Output = ()> + Send + 'a
fn initialize<'a>( &'a self, _params: InitializeParams, ) -> impl Future<Output = ()> + Send + 'a
Called when the language server is initialized.
Source§fn initialized<'a>(&'a self) -> impl Future<Output = ()> + Send + 'a
fn initialized<'a>(&'a self) -> impl Future<Output = ()> + Send + 'a
Called when the language server is initialized (notification).
Source§fn shutdown<'a>(&'a self) -> impl Future<Output = ()> + Send + 'a
fn shutdown<'a>(&'a self) -> impl Future<Output = ()> + Send + 'a
Called when the language server is shut down.
Auto Trait Implementations§
impl<V> Freeze for JavaLanguageService<V>where
V: Freeze,
impl<V> !RefUnwindSafe for JavaLanguageService<V>
impl<V> Send for JavaLanguageService<V>
impl<V> Sync for JavaLanguageService<V>
impl<V> Unpin for JavaLanguageService<V>where
V: Unpin,
impl<V> UnwindSafe for JavaLanguageService<V>where
V: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LanguageServiceExt for Twhere
T: LanguageService,
impl<T> LanguageServiceExt for Twhere
T: LanguageService,
Source§fn into_axum_router(self) -> Routerwhere
Self: Sized + 'static,
fn into_axum_router(self) -> Routerwhere
Self: Sized + 'static,
Converts the language service into an Axum router.
Source§impl<S> OakMcpService for S
impl<S> OakMcpService for S
Source§fn into_mcp_server(self) -> McpServer<Self>
fn into_mcp_server(self) -> McpServer<Self>
Convert this service into an Oak MCP server.
Source§fn into_mcp_axum_router(self) -> Router
fn into_mcp_axum_router(self) -> Router
Create an Axum router for this MCP service.