pub struct SystemInfoProvider { /* private fields */ }Expand description
System information provider with caching
Implementations§
Source§impl SystemInfoProvider
impl SystemInfoProvider
Sourcepub fn with_project_root(self, root: impl AsRef<Path>) -> Self
pub fn with_project_root(self, root: impl AsRef<Path>) -> Self
Set the project root for project-specific detection
Sourcepub fn get(&mut self) -> Result<SystemInfo>
pub fn get(&mut self) -> Result<SystemInfo>
Get system information (cached if within TTL)
Sourcepub fn refresh(&mut self) -> Result<SystemInfo>
pub fn refresh(&mut self) -> Result<SystemInfo>
Force refresh of system information
Sourcepub fn invalidate(&mut self)
pub fn invalidate(&mut self)
Invalidate the cache
Sourcepub fn is_cache_valid(&self) -> bool
pub fn is_cache_valid(&self) -> bool
Check if cache is valid
Sourcepub fn detect_shell(&self) -> Result<ShellInfo>
pub fn detect_shell(&self) -> Result<ShellInfo>
Detect shell environment
Sourcepub fn detect_languages(&self) -> Vec<LanguageInfo>
pub fn detect_languages(&self) -> Vec<LanguageInfo>
Detect installed programming languages
Sourcepub fn detect_package_managers(&self) -> Vec<PackageManagerInfo>
pub fn detect_package_managers(&self) -> Vec<PackageManagerInfo>
Detect available package managers
Sourcepub fn detect_project(&self) -> Option<ProjectInfo>
pub fn detect_project(&self) -> Option<ProjectInfo>
Detect project structure and type
Sourcepub fn detect_git(&self) -> Option<GitInfo>
pub fn detect_git(&self) -> Option<GitInfo>
Detect git repository status
Sourcepub fn detect_build_tools(&self) -> Vec<BuildToolInfo>
pub fn detect_build_tools(&self) -> Vec<BuildToolInfo>
Detect available build tools
Sourcepub fn detect_test_frameworks(&self) -> Vec<TestFrameworkInfo>
pub fn detect_test_frameworks(&self) -> Vec<TestFrameworkInfo>
Detect available test frameworks
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SystemInfoProvider
impl RefUnwindSafe for SystemInfoProvider
impl Send for SystemInfoProvider
impl Sync for SystemInfoProvider
impl Unpin for SystemInfoProvider
impl UnsafeUnpin for SystemInfoProvider
impl UnwindSafe for SystemInfoProvider
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.