pub struct JetBrainsHttpBackend { /* private fields */ }Implementations§
Trait Implementations§
Source§impl LspBackend for JetBrainsHttpBackend
impl LspBackend for JetBrainsHttpBackend
fn open_file( &mut self, _uri: &Uri, _language_id: &str, _text: &str, ) -> Result<(), String>
fn references( &mut self, uri: &Uri, position: Position, scope: &str, ) -> Result<Vec<Location>, String>
fn definition( &mut self, uri: &Uri, position: Position, ) -> Result<GotoDefinitionResponse, String>
fn implementations( &mut self, uri: &Uri, position: Position, scope: &str, ) -> Result<Vec<Location>, String>
fn declaration( &mut self, uri: &Uri, position: Position, ) -> Result<Vec<Location>, String>
fn type_hierarchy( &mut self, uri: &Uri, position: Position, direction: HierarchyDirection, ) -> Result<TypeHierarchyNode, String>
fn symbols_overview( &mut self, uri: &Uri, ) -> Result<Vec<SymbolOverviewItem>, String>
fn inspections(&mut self, uri: &Uri) -> Result<Vec<InspectionDiag>, String>
fn list_inspections(&mut self) -> Result<Vec<InspectionInfo>, String>
Source§fn replace_symbol_body(
&mut self,
edit: &RangeEdit,
) -> Result<EditResult, String>
fn replace_symbol_body( &mut self, edit: &RangeEdit, ) -> Result<EditResult, String>
Replace a symbol’s full declaration range with
edit.text.
DEFAULT = headless local range write; JetBrainsHttpBackend overrides.Source§fn insert_before_symbol(
&mut self,
edit: &RangeEdit,
) -> Result<EditResult, String>
fn insert_before_symbol( &mut self, edit: &RangeEdit, ) -> Result<EditResult, String>
Insert a new sibling before the anchor symbol (range is zero-width at the
anchor start line; indentation already baked into
edit.text).Source§fn insert_after_symbol(
&mut self,
edit: &RangeEdit,
) -> Result<EditResult, String>
fn insert_after_symbol( &mut self, edit: &RangeEdit, ) -> Result<EditResult, String>
Insert a new sibling after the anchor symbol (range is zero-width at the
line following the anchor; indentation already baked into
edit.text).Source§fn rename_preview(&mut self, req: &RenameQuery) -> Result<RenamePlan, String>
fn rename_preview(&mut self, req: &RenameQuery) -> Result<RenamePlan, String>
Phase 1 of the Two-Phase rename: resolve all usages + conflicts of the
target symbol. DEFAULT =
Err(BACKEND_REQUIRED) — there is NO lossless
headless usage search (spec §3); only Backing B (live IDE) overrides this.Source§fn rename_apply(&mut self, req: &RenameApply) -> Result<RenameResult, String>
fn rename_apply(&mut self, req: &RenameApply) -> Result<RenameResult, String>
Phase 2 of the Two-Phase rename: perform the Multi-File rename as ONE
transaction (one Undo entry). DEFAULT =
Err(BACKEND_REQUIRED).Source§fn move_preview(&mut self, req: &MoveQuery) -> Result<RenamePlan, String>
fn move_preview(&mut self, req: &MoveQuery) -> Result<RenamePlan, String>
Phase 1 of the Two-Phase move: resolve all usages + conflicts of the
target at the new location. DEFAULT =
Err(BACKEND_REQUIRED) (no lossless
headless move; only Backing B overrides — spec §5.5).Source§fn move_apply(&mut self, req: &MoveApply) -> Result<RenameResult, String>
fn move_apply(&mut self, req: &MoveApply) -> Result<RenameResult, String>
Phase 2 of the Two-Phase move: perform the Multi-File move as ONE Undo
transaction. DEFAULT =
Err(BACKEND_REQUIRED).Source§fn safe_delete_preview(
&mut self,
req: &SafeDeleteQuery,
) -> Result<RenamePlan, String>
fn safe_delete_preview( &mut self, req: &SafeDeleteQuery, ) -> Result<RenamePlan, String>
Phase 1 of the Two-Phase safe-delete: report the REMAINING (blocking)
references as
usages/conflicts. DEFAULT = Err(BACKEND_REQUIRED).Source§fn safe_delete_apply(
&mut self,
req: &SafeDeleteApply,
) -> Result<RenameResult, String>
fn safe_delete_apply( &mut self, req: &SafeDeleteApply, ) -> Result<RenameResult, String>
Phase 2 of the Two-Phase safe-delete: delete the symbol (force =
deleteEvenIfUsed) as ONE Undo transaction. DEFAULT =
Err(BACKEND_REQUIRED).Source§fn inline_preview(&mut self, req: &InlineQuery) -> Result<RenamePlan, String>
fn inline_preview(&mut self, req: &InlineQuery) -> Result<RenamePlan, String>
Phase 1 of the Two-Phase inline: resolve all substitution sites + conflicts.
DEFAULT =
Err(BACKEND_REQUIRED) — only Backing B (live IDE) overrides (spec §5.4).Source§fn inline_apply(&mut self, req: &InlineApply) -> Result<RenameResult, String>
fn inline_apply(&mut self, req: &InlineApply) -> Result<RenameResult, String>
Phase 2 of the Two-Phase inline: substitute at every call site as ONE Undo
transaction. Hard refusal (recursive, multiple returns, override) → UNSUPPORTED
at the backend. DEFAULT =
Err(BACKEND_REQUIRED).Source§fn reformat(&mut self, req: &ReformatQuery) -> Result<ReformatResult, String>
fn reformat(&mut self, req: &ReformatQuery) -> Result<ReformatResult, String>
Single-Phase reformat (spec §5.3): no preview, no plan_hash.
DEFAULT =
Err(BACKEND_REQUIRED).fn rename( &mut self, _uri: &Uri, _position: Position, _new_name: &str, ) -> Result<Option<WorkspaceEdit>, String>
Source§fn is_stale(&self, project_root: &str) -> bool
fn is_stale(&self, project_root: &str) -> bool
Whether a cached instance of this backend is no longer valid and must be
evicted + re-selected. Backing A (in-process LSP) is never stale → default
false.
Backing B overrides: the IDE may have closed/restarted since caching.Source§fn last_truncation(&self) -> Option<Truncation>
fn last_truncation(&self) -> Option<Truncation>
Truncation metadata of the most recent capped call, or
None (Backing A,
or no capped call yet). Lets ctx_refactor surface “(truncated …)”.fn format(&mut self, _uri: &Uri) -> Result<Vec<TextEdit>, String>
Auto Trait Implementations§
impl Freeze for JetBrainsHttpBackend
impl RefUnwindSafe for JetBrainsHttpBackend
impl Send for JetBrainsHttpBackend
impl Sync for JetBrainsHttpBackend
impl Unpin for JetBrainsHttpBackend
impl UnsafeUnpin for JetBrainsHttpBackend
impl UnwindSafe for JetBrainsHttpBackend
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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>
Converts
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>
Converts
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