pub struct ShapeLanguageServer { /* private fields */ }Expand description
The main Shape Language Server
Implementations§
Trait Implementations§
Source§impl LanguageServer for ShapeLanguageServer
impl LanguageServer for ShapeLanguageServer
Source§async fn completion_resolve(
&self,
item: CompletionItem,
) -> Result<CompletionItem>
async fn completion_resolve( &self, item: CompletionItem, ) -> Result<CompletionItem>
completionItem/resolve — lazy detail expansion (LSP feature 1.10).
Today every completion item ships its full payload (label, detail,
documentation, snippet) inline from the completion handler. The
resolver therefore behaves as an identity pass-through so the round-
trip is cheap and clients that route through resolve still get the
full item back. W2.2 lays the protocol foundation; downstream waves
can swap in genuinely-deferred metadata producers without changing
the registered capability.
Source§async fn goto_type_definition(
&self,
params: GotoTypeDefinitionParams,
) -> Result<Option<GotoTypeDefinitionResponse>>
async fn goto_type_definition( &self, params: GotoTypeDefinitionParams, ) -> Result<Option<GotoTypeDefinitionResponse>>
W2.5 / feature 1.33 (textDocument/typeDefinition): jump from an
expression to the definition site of its type. Delegates to
definition::get_type_definition, which infers the type via
type_inference::infer_variable_type, strips generic wrappers, and
re-uses the existing definition lookup for the resulting type name.
Source§async fn goto_implementation(
&self,
params: GotoImplementationParams,
) -> Result<Option<GotoImplementationResponse>>
async fn goto_implementation( &self, params: GotoImplementationParams, ) -> Result<Option<GotoImplementationResponse>>
W2.5 / feature 1.34 (textDocument/implementation): enumerate
impl Trait for Type / extend Type blocks for the trait or type
at the cursor. Current-file scope only — cross-workspace impl
discovery requires the W2.6 / W2.7 workspace indexing work.
Source§async fn goto_declaration(
&self,
params: GotoDeclarationParams,
) -> Result<Option<GotoDeclarationResponse>>
async fn goto_declaration( &self, params: GotoDeclarationParams, ) -> Result<Option<GotoDeclarationResponse>>
W2.5 / feature 1.35 (textDocument/declaration): alias of
textDocument/definition — Shape has no declaration/definition split.
VS Code’s Go to Declaration command dispatches here.
Source§async fn document_highlight(
&self,
params: DocumentHighlightParams,
) -> Result<Option<Vec<DocumentHighlight>>>
async fn document_highlight( &self, params: DocumentHighlightParams, ) -> Result<Option<Vec<DocumentHighlight>>>
W2.5 / feature 1.60 (textDocument/documentHighlight): highlight
every occurrence of the symbol at the cursor within the current
file. Reuses the scope-aware ScopeTree::references_of path that
powers rename.rs, so highlights respect lexical scope and
variable shadowing.
Source§async fn inlay_hint_resolve(&self, hint: InlayHint) -> Result<InlayHint>
async fn inlay_hint_resolve(&self, hint: InlayHint) -> Result<InlayHint>
W2.4 / 1.28: resolve a previously-returned inlay hint with additional
detail. We currently fill the tooltip lazily based on the data field
(set in inlay_hints.rs), so a hint emitted without an eager tooltip
still surfaces context on hover.
Source§async fn diagnostic(
&self,
params: DocumentDiagnosticParams,
) -> Result<DocumentDiagnosticReportResult>
async fn diagnostic( &self, params: DocumentDiagnosticParams, ) -> Result<DocumentDiagnosticReportResult>
W2.3 / 1.73 — pull-based diagnostics
(textDocument/diagnostic).
Computes diagnostics for a single document on demand. Mirrors the
existing push-based analyze_document pipeline (parse + semantic
analyze + frontmatter + foreign-LSP merge) so push and pull
produce identical reports for the same source. Returns a
RelatedFullDocumentDiagnosticReport; we don’t currently support
Unchanged reports (would require diagnostic result-id caching
per document version — follow-up tier, not parity-blocking).
Source§async fn workspace_diagnostic(
&self,
_params: WorkspaceDiagnosticParams,
) -> Result<WorkspaceDiagnosticReportResult>
async fn workspace_diagnostic( &self, _params: WorkspaceDiagnosticParams, ) -> Result<WorkspaceDiagnosticReportResult>
W2.3 / 1.74 — workspace-wide pull diagnostics
(workspace/diagnostic).
Returns full diagnostic reports for every open document. Closed
workspace files are NOT walked from disk here — the LSP spec
allows servers to scope workspace pull to documents the server
already has materialized analyses for, which keeps cost bounded
and avoids re-parsing the whole workspace on every refresh
request. The W2.6/W2.7 workspace-enumeration infra
(ModuleCache::enumerate_workspace_shape_files) is reserved for
the eager-indexing follow-up.
Source§async fn did_change_watched_files(&self, params: DidChangeWatchedFilesParams)
async fn did_change_watched_files(&self, params: DidChangeWatchedFilesParams)
W2.7 / 1.69: workspace/didChangeWatchedFiles — invalidate cached
state when files change on disk outside the editor (e.g. git checkout, external build script). Drops the module-cache entry
for each affected .shape path (via the W2.6 invalidate hook at
module_cache.rs:226) and clears the corresponding
last_good_programs snapshot so the next analysis re-reads from
disk. Files in any open document are left alone — the editor owns
their text and the cache will refresh on the next did_change.
Source§async fn execute_command(
&self,
params: ExecuteCommandParams,
) -> Result<Option<LSPAny>>
async fn execute_command( &self, params: ExecuteCommandParams, ) -> Result<Option<LSPAny>>
W2.7 / 1.71: workspace/executeCommand — acknowledge code-lens
commands by name and return None.
Today, the code-lens commands (shape.findReferences,
shape.findImplementations, shape.runTests, etc.) are designed
to be invoked by the client. Registering them server-side lets
editors enable the lens click-targets in the first place (without
the executeCommand capability, many clients suppress the lens
entirely). The server replies with None so the client falls
through to its own command handler (textDocument/references for
shape.findReferences, the test runner integration for
shape.runTests, etc.). Unknown commands are rejected with the
LSP MethodNotFound error.
Source§async fn will_rename_files(
&self,
params: RenameFilesParams,
) -> Result<Option<WorkspaceEdit>>
async fn will_rename_files( &self, params: RenameFilesParams, ) -> Result<Option<WorkspaceEdit>>
W2.7 / 1.72: workspace/willRenameFiles — compute import-path
rewrite edits before files are renamed.
For each (old_uri, new_uri) pair, derives the corresponding
Shape module path via crate::module_cache::path_to_module_path
(relative to project_root) and produces text edits that rewrite
from OLD_PATH use ... to from NEW_PATH use ... in every
importing file (open documents + workspace .shape files via
the W2.6 enumerator). Files outside the workspace root, files
with non-.shape extensions, and module paths containing
non-identifier path segments produce no edits — the client just
renames the file and the user fixes any newly-broken imports by
hand.
Source§async fn initialize(&self, params: InitializeParams) -> Result<InitializeResult>
async fn initialize(&self, params: InitializeParams) -> Result<InitializeResult>
initialize request is the first request sent from the client to the server. Read moreSource§async fn initialized(&self, _params: InitializedParams)
async fn initialized(&self, _params: InitializedParams)
initialized notification is sent from the client to the server after the client
received the result of the initialize request but before the client sends anything else. Read moreSource§async fn did_change_configuration(&self, params: DidChangeConfigurationParams)
async fn did_change_configuration(&self, params: DidChangeConfigurationParams)
workspace/didChangeConfiguration notification is sent from the client to the server
to signal the change of configuration settings.Source§async fn did_open(&self, params: DidOpenTextDocumentParams)
async fn did_open(&self, params: DidOpenTextDocumentParams)
textDocument/didOpen notification is sent from the client to the server to signal
that a new text document has been opened by the client. Read moreSource§async fn did_change(&self, params: DidChangeTextDocumentParams)
async fn did_change(&self, params: DidChangeTextDocumentParams)
textDocument/didChange notification is sent from the client to the server to signal
changes to a text document. Read moreSource§async fn did_close(&self, params: DidCloseTextDocumentParams)
async fn did_close(&self, params: DidCloseTextDocumentParams)
textDocument/didClose notification is sent from the client to the server when the
document got closed in the client. Read moreSource§async fn completion(
&self,
params: CompletionParams,
) -> Result<Option<CompletionResponse>>
async fn completion( &self, params: CompletionParams, ) -> Result<Option<CompletionResponse>>
textDocument/completion request is sent from the client to the server to compute
completion items at a given cursor position. Read moreSource§async fn hover(&self, params: HoverParams) -> Result<Option<Hover>>
async fn hover(&self, params: HoverParams) -> Result<Option<Hover>>
textDocument/hover request asks the server for hover information at a given text
document position. Read moreSource§async fn signature_help(
&self,
params: SignatureHelpParams,
) -> Result<Option<SignatureHelp>>
async fn signature_help( &self, params: SignatureHelpParams, ) -> Result<Option<SignatureHelp>>
textDocument/signatureHelp request is sent from the client to the server to request
signature information at a given cursor position.Source§async fn document_symbol(
&self,
params: DocumentSymbolParams,
) -> Result<Option<DocumentSymbolResponse>>
async fn document_symbol( &self, params: DocumentSymbolParams, ) -> Result<Option<DocumentSymbolResponse>>
textDocument/documentSymbol request is sent from the client to the server to
retrieve all symbols found in a given text document. Read moreSource§async fn symbol(
&self,
params: WorkspaceSymbolParams,
) -> Result<Option<WorkspaceSymbolResponse>>
async fn symbol( &self, params: WorkspaceSymbolParams, ) -> Result<Option<WorkspaceSymbolResponse>>
workspace/symbol request is sent from the client to the server to list project-wide
symbols matching the given query string. Read moreSource§async fn goto_definition(
&self,
params: GotoDefinitionParams,
) -> Result<Option<GotoDefinitionResponse>>
async fn goto_definition( &self, params: GotoDefinitionParams, ) -> Result<Option<GotoDefinitionResponse>>
textDocument/definition request asks the server for the definition location of a
symbol at a given text document position. Read moreSource§async fn references(
&self,
params: ReferenceParams,
) -> Result<Option<Vec<Location>>>
async fn references( &self, params: ReferenceParams, ) -> Result<Option<Vec<Location>>>
textDocument/references request is sent from the client to the server to resolve
project-wide references for the symbol denoted by the given text document position.Source§async fn semantic_tokens_full(
&self,
params: SemanticTokensParams,
) -> Result<Option<SemanticTokensResult>>
async fn semantic_tokens_full( &self, params: SemanticTokensParams, ) -> Result<Option<SemanticTokensResult>>
textDocument/semanticTokens/full request is sent from the client to the server to
resolve the semantic tokens of a given file. Read moreSource§async fn semantic_tokens_range(
&self,
params: SemanticTokensRangeParams,
) -> Result<Option<SemanticTokensRangeResult>>
async fn semantic_tokens_range( &self, params: SemanticTokensRangeParams, ) -> Result<Option<SemanticTokensRangeResult>>
textDocument/semanticTokens/range request is sent from the client to the server to
resolve the semantic tokens for the visible range of a given file. Read moreSource§async fn semantic_tokens_full_delta(
&self,
params: SemanticTokensDeltaParams,
) -> Result<Option<SemanticTokensFullDeltaResult>>
async fn semantic_tokens_full_delta( &self, params: SemanticTokensDeltaParams, ) -> Result<Option<SemanticTokensFullDeltaResult>>
textDocument/semanticTokens/full/delta request is sent from the client to the server to
resolve the semantic tokens of a given file, returning only the delta. Read moreSource§async fn inlay_hint(
&self,
params: InlayHintParams,
) -> Result<Option<Vec<InlayHint>>>
async fn inlay_hint( &self, params: InlayHintParams, ) -> Result<Option<Vec<InlayHint>>>
textDocument/inlayHint request is sent from the client to the server to compute
inlay hints for a given (text document, range) tuple that may be rendered in the editor
in place with other text. Read moreSource§async fn code_action(
&self,
params: CodeActionParams,
) -> Result<Option<CodeActionResponse>>
async fn code_action( &self, params: CodeActionParams, ) -> Result<Option<CodeActionResponse>>
textDocument/codeAction request is sent from the client to the server to compute
commands for a given text document and range. These commands are typically code fixes to
either fix problems or to beautify/refactor code. Read moreSource§async fn formatting(
&self,
params: DocumentFormattingParams,
) -> Result<Option<Vec<TextEdit>>>
async fn formatting( &self, params: DocumentFormattingParams, ) -> Result<Option<Vec<TextEdit>>>
textDocument/formatting request is sent from the client to the server to format a
whole document.Source§async fn range_formatting(
&self,
params: DocumentRangeFormattingParams,
) -> Result<Option<Vec<TextEdit>>>
async fn range_formatting( &self, params: DocumentRangeFormattingParams, ) -> Result<Option<Vec<TextEdit>>>
textDocument/rangeFormatting request is sent from pub(crate) the client to the server to
format a given range in a document.Source§async fn on_type_formatting(
&self,
params: DocumentOnTypeFormattingParams,
) -> Result<Option<Vec<TextEdit>>>
async fn on_type_formatting( &self, params: DocumentOnTypeFormattingParams, ) -> Result<Option<Vec<TextEdit>>>
textDocument/onTypeFormatting request is sent from the client to the server to
format parts of the document during typing.Source§async fn prepare_rename(
&self,
params: TextDocumentPositionParams,
) -> Result<Option<PrepareRenameResponse>>
async fn prepare_rename( &self, params: TextDocumentPositionParams, ) -> Result<Option<PrepareRenameResponse>>
textDocument/prepareRename request is sent from the client to the server to setup
and test the validity of a rename operation at a given location. Read moreSource§async fn rename(&self, params: RenameParams) -> Result<Option<WorkspaceEdit>>
async fn rename(&self, params: RenameParams) -> Result<Option<WorkspaceEdit>>
textDocument/rename request is sent from the client to the server to ask the server
to compute a workspace change so that the client can perform a workspace-wide rename of a
symbol.Source§async fn code_lens(
&self,
params: CodeLensParams,
) -> Result<Option<Vec<CodeLens>>>
async fn code_lens( &self, params: CodeLensParams, ) -> Result<Option<Vec<CodeLens>>>
textDocument/codeLens request is sent from the client to the server to compute code
lenses for a given text document.Source§async fn code_lens_resolve(&self, lens: CodeLens) -> Result<CodeLens>
async fn code_lens_resolve(&self, lens: CodeLens) -> Result<CodeLens>
codeLens/resolve request is sent from the client to the server to resolve the
command for a given code lens item.Source§async fn folding_range(
&self,
params: FoldingRangeParams,
) -> Result<Option<Vec<FoldingRange>>>
async fn folding_range( &self, params: FoldingRangeParams, ) -> Result<Option<Vec<FoldingRange>>>
textDocument/foldingRange request is sent from the client to the server to return
all folding ranges found in a given text document. Read moreSource§async fn document_link(
&self,
params: DocumentLinkParams,
) -> Result<Option<Vec<DocumentLink>>>
async fn document_link( &self, params: DocumentLinkParams, ) -> Result<Option<Vec<DocumentLink>>>
textDocument/documentLink request is sent from the client to the server to request
the location of links in a document. Read moreSource§async fn prepare_call_hierarchy(
&self,
params: CallHierarchyPrepareParams,
) -> Result<Option<Vec<CallHierarchyItem>>>
async fn prepare_call_hierarchy( &self, params: CallHierarchyPrepareParams, ) -> Result<Option<Vec<CallHierarchyItem>>>
textDocument/prepareCallHierarchy request is sent from the client to the server to
return a call hierarchy for the language element of given text document positions. Read moreSource§async fn incoming_calls(
&self,
params: CallHierarchyIncomingCallsParams,
) -> Result<Option<Vec<CallHierarchyIncomingCall>>>
async fn incoming_calls( &self, params: CallHierarchyIncomingCallsParams, ) -> Result<Option<Vec<CallHierarchyIncomingCall>>>
callHierarchy/incomingCalls request is sent from the client to the server to
resolve incoming calls for a given call hierarchy item. Read moreSource§async fn outgoing_calls(
&self,
params: CallHierarchyOutgoingCallsParams,
) -> Result<Option<Vec<CallHierarchyOutgoingCall>>>
async fn outgoing_calls( &self, params: CallHierarchyOutgoingCallsParams, ) -> Result<Option<Vec<CallHierarchyOutgoingCall>>>
callHierarchy/outgoingCalls request is sent from the client to the server to
resolve outgoing calls for a given call hierarchy item. Read moreSource§fn will_save(
&self,
params: WillSaveTextDocumentParams,
) -> impl Future<Output = ()> + Send
fn will_save( &self, params: WillSaveTextDocumentParams, ) -> impl Future<Output = ()> + Send
textDocument/willSave notification is sent from the client to the server before the
document is actually saved.Source§fn will_save_wait_until(
&self,
params: WillSaveTextDocumentParams,
) -> impl Future<Output = Result<Option<Vec<TextEdit>>, Error>> + Send
fn will_save_wait_until( &self, params: WillSaveTextDocumentParams, ) -> impl Future<Output = Result<Option<Vec<TextEdit>>, Error>> + Send
textDocument/willSaveWaitUntil request is sent from the client to the server before
the document is actually saved. Read moreSource§fn did_save(
&self,
params: DidSaveTextDocumentParams,
) -> impl Future<Output = ()> + Send
fn did_save( &self, params: DidSaveTextDocumentParams, ) -> impl Future<Output = ()> + Send
textDocument/didSave notification is sent from the client to the server when the
document was saved in the client.Source§fn notebook_did_open(
&self,
params: DidOpenNotebookDocumentParams,
) -> impl Future<Output = ()> + Send
fn notebook_did_open( &self, params: DidOpenNotebookDocumentParams, ) -> impl Future<Output = ()> + Send
notebookDocument/didOpen notification is sent from the client to the server when a new notebook document is opened.
It is only sent for notebooks selected by the notebookDocumentSync server capability.Source§fn notebook_did_change(
&self,
params: DidChangeNotebookDocumentParams,
) -> impl Future<Output = ()> + Send
fn notebook_did_change( &self, params: DidChangeNotebookDocumentParams, ) -> impl Future<Output = ()> + Send
notebookDocument/didChange notification is sent from the client to the server when a notebook document changes.
It is only sent for notebooks selected by the notebookDocumentSync server capability.Source§fn notebook_did_save(
&self,
params: DidSaveNotebookDocumentParams,
) -> impl Future<Output = ()> + Send
fn notebook_did_save( &self, params: DidSaveNotebookDocumentParams, ) -> impl Future<Output = ()> + Send
notebookDocument/didSave notification is sent from the client to the server when a notebook document is saved.
It is only sent for notebooks selected by the notebookDocumentSync server capability.Source§fn notebook_did_close(
&self,
params: DidCloseNotebookDocumentParams,
) -> impl Future<Output = ()> + Send
fn notebook_did_close( &self, params: DidCloseNotebookDocumentParams, ) -> impl Future<Output = ()> + Send
notebookDocument/didClose notification is sent from the client to the server when a notebook document is closed.
It is only sent for notebooks selected by the notebookDocumentSync server capability.Source§fn prepare_type_hierarchy(
&self,
params: TypeHierarchyPrepareParams,
) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
fn prepare_type_hierarchy( &self, params: TypeHierarchyPrepareParams, ) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
textDocument/prepareTypeHierarchy request is sent from the client to the server to
return a type hierarchy for the language element of given text document positions. Read moreSource§fn supertypes(
&self,
params: TypeHierarchySupertypesParams,
) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
fn supertypes( &self, params: TypeHierarchySupertypesParams, ) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
typeHierarchy/supertypes] request is sent from the client to the server to resolve
the supertypes for a given type hierarchy item. Read moreSource§fn subtypes(
&self,
params: TypeHierarchySubtypesParams,
) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
fn subtypes( &self, params: TypeHierarchySubtypesParams, ) -> impl Future<Output = Result<Option<Vec<TypeHierarchyItem>>, Error>> + Send
typeHierarchy/subtypes] request is sent from the client to the server to resolve
the subtypes for a given type hierarchy item. Read moreSource§fn document_link_resolve(
&self,
params: DocumentLink,
) -> impl Future<Output = Result<DocumentLink, Error>> + Send
fn document_link_resolve( &self, params: DocumentLink, ) -> impl Future<Output = Result<DocumentLink, Error>> + Send
documentLink/resolve request is sent from the client to the server to resolve the
target of a given document link. Read moreSource§fn selection_range(
&self,
params: SelectionRangeParams,
) -> impl Future<Output = Result<Option<Vec<SelectionRange>>, Error>> + Send
fn selection_range( &self, params: SelectionRangeParams, ) -> impl Future<Output = Result<Option<Vec<SelectionRange>>, Error>> + Send
textDocument/selectionRange request is sent from the client to the server to return
suggested selection ranges at an array of given positions. A selection range is a range
around the cursor position which the user might be interested in selecting. Read moreSource§fn inline_value(
&self,
params: InlineValueParams,
) -> impl Future<Output = Result<Option<Vec<InlineValue>>, Error>> + Send
fn inline_value( &self, params: InlineValueParams, ) -> impl Future<Output = Result<Option<Vec<InlineValue>>, Error>> + Send
textDocument/inlineValue request is sent from the client to the server to compute
inline values for a given text document that may be rendered in the editor at the end of
lines. Read moreSource§fn moniker(
&self,
params: MonikerParams,
) -> impl Future<Output = Result<Option<Vec<Moniker>>, Error>> + Send
fn moniker( &self, params: MonikerParams, ) -> impl Future<Output = Result<Option<Vec<Moniker>>, Error>> + Send
textDocument/moniker request is sent from the client to the server to get the
symbol monikers for a given text document position. Read moreSource§fn code_action_resolve(
&self,
params: CodeAction,
) -> impl Future<Output = Result<CodeAction, Error>> + Send
fn code_action_resolve( &self, params: CodeAction, ) -> impl Future<Output = Result<CodeAction, Error>> + Send
codeAction/resolve request is sent from the client to the server to resolve
additional information for a given code action. Read moreSource§fn document_color(
&self,
params: DocumentColorParams,
) -> impl Future<Output = Result<Vec<ColorInformation>, Error>> + Send
fn document_color( &self, params: DocumentColorParams, ) -> impl Future<Output = Result<Vec<ColorInformation>, Error>> + Send
textDocument/documentColor request is sent from the client to the server to list
all color references found in a given text document. Along with the range, a color value in
RGB is returned. Read moreSource§fn color_presentation(
&self,
params: ColorPresentationParams,
) -> impl Future<Output = Result<Vec<ColorPresentation>, Error>> + Send
fn color_presentation( &self, params: ColorPresentationParams, ) -> impl Future<Output = Result<Vec<ColorPresentation>, Error>> + Send
textDocument/colorPresentation request is sent from the client to the server to
obtain a list of presentations for a color value at a given location. Read moreSource§fn linked_editing_range(
&self,
params: LinkedEditingRangeParams,
) -> impl Future<Output = Result<Option<LinkedEditingRanges>, Error>> + Send
fn linked_editing_range( &self, params: LinkedEditingRangeParams, ) -> impl Future<Output = Result<Option<LinkedEditingRanges>, Error>> + Send
textDocument/linkedEditingRange request is sent from the client to the server to
return for a given position in a document the range of the symbol at the position and all
ranges that have the same content. Read moreSource§fn symbol_resolve(
&self,
params: WorkspaceSymbol,
) -> impl Future<Output = Result<WorkspaceSymbol, Error>> + Send
fn symbol_resolve( &self, params: WorkspaceSymbol, ) -> impl Future<Output = Result<WorkspaceSymbol, Error>> + Send
workspaceSymbol/resolve request is sent from the client to the server to resolve
additional information for a given workspace symbol. Read moreSource§fn did_change_workspace_folders(
&self,
params: DidChangeWorkspaceFoldersParams,
) -> impl Future<Output = ()> + Send
fn did_change_workspace_folders( &self, params: DidChangeWorkspaceFoldersParams, ) -> impl Future<Output = ()> + Send
workspace/didChangeWorkspaceFolders notification is sent from the client to the
server to inform about workspace folder configuration changes. Read moreSource§fn will_create_files(
&self,
params: CreateFilesParams,
) -> impl Future<Output = Result<Option<WorkspaceEdit>, Error>> + Send
fn will_create_files( &self, params: CreateFilesParams, ) -> impl Future<Output = Result<Option<WorkspaceEdit>, Error>> + Send
workspace/willCreateFiles request is sent from the client to the server before
files are actually created as long as the creation is triggered from within the client. Read moreSource§fn did_create_files(
&self,
params: CreateFilesParams,
) -> impl Future<Output = ()> + Send
fn did_create_files( &self, params: CreateFilesParams, ) -> impl Future<Output = ()> + Send
workspace/didCreateFiles request is sent from the client to the server when files
were created from within the client.Source§fn did_rename_files(
&self,
params: RenameFilesParams,
) -> impl Future<Output = ()> + Send
fn did_rename_files( &self, params: RenameFilesParams, ) -> impl Future<Output = ()> + Send
workspace/didRenameFiles notification is sent from the client to the server when
files were renamed from within the client.Source§fn will_delete_files(
&self,
params: DeleteFilesParams,
) -> impl Future<Output = Result<Option<WorkspaceEdit>, Error>> + Send
fn will_delete_files( &self, params: DeleteFilesParams, ) -> impl Future<Output = Result<Option<WorkspaceEdit>, Error>> + Send
workspace/willDeleteFiles request is sent from the client to the server before
files are actually deleted as long as the deletion is triggered from within the client
either by a user action or by applying a workspace edit. Read moreSource§fn did_delete_files(
&self,
params: DeleteFilesParams,
) -> impl Future<Output = ()> + Send
fn did_delete_files( &self, params: DeleteFilesParams, ) -> impl Future<Output = ()> + Send
workspace/didDeleteFiles notification is sent from the client to the server when
files were deleted from within the client.Auto Trait Implementations§
impl !Freeze for ShapeLanguageServer
impl !RefUnwindSafe for ShapeLanguageServer
impl !UnwindSafe for ShapeLanguageServer
impl Send for ShapeLanguageServer
impl Sync for ShapeLanguageServer
impl Unpin for ShapeLanguageServer
impl UnsafeUnpin for ShapeLanguageServer
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more