pub struct IDEPlugin {
pub plugin_id: Uuid,
pub name: String,
pub version: String,
pub supported_ides: Vec<SupportedIDE>,
pub capabilities: IDECapabilities,
pub debugger: Option<InteractiveDebugger>,
pub config: DebugConfig,
}Expand description
IDE plugin interface
Fields§
§plugin_id: Uuid§name: String§version: String§supported_ides: Vec<SupportedIDE>§capabilities: IDECapabilities§debugger: Option<InteractiveDebugger>§config: DebugConfigImplementations§
Source§impl IDEPlugin
impl IDEPlugin
Sourcepub fn new(name: String, version: String, config: DebugConfig) -> Self
pub fn new(name: String, version: String, config: DebugConfig) -> Self
Create a new IDE plugin
Sourcepub async fn initialize(&mut self, debugger: InteractiveDebugger) -> Result<()>
pub async fn initialize(&mut self, debugger: InteractiveDebugger) -> Result<()>
Initialize the plugin with a debugger
Sourcepub async fn handle_message(
&mut self,
message: IDEMessage,
) -> Result<IDEResponse>
pub async fn handle_message( &mut self, message: IDEMessage, ) -> Result<IDEResponse>
Handle IDE messages
Sourcepub fn generate_manifest(&self, ide: &SupportedIDE) -> Result<String>
pub fn generate_manifest(&self, ide: &SupportedIDE) -> Result<String>
Generate plugin manifest for different IDEs
Sourcepub fn get_supported_ides(&self) -> &[SupportedIDE]
pub fn get_supported_ides(&self) -> &[SupportedIDE]
Get supported IDE types
Sourcepub fn get_capabilities(&self) -> &IDECapabilities
pub fn get_capabilities(&self) -> &IDECapabilities
Get plugin capabilities
Sourcepub fn is_initialized(&self) -> bool
pub fn is_initialized(&self) -> bool
Check if plugin is initialized
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IDEPlugin
impl !RefUnwindSafe for IDEPlugin
impl Send for IDEPlugin
impl Sync for IDEPlugin
impl Unpin for IDEPlugin
impl UnsafeUnpin for IDEPlugin
impl !UnwindSafe for IDEPlugin
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.