pub struct EditorAnalysisSession { /* private fields */ }Expand description
Reusable editor analysis session owned by the API boundary.
Implementations§
Source§impl EditorAnalysisSession
impl EditorAnalysisSession
Sourcepub fn load(root: &Path, config_path: Option<&Path>) -> EngineResult<Self>
pub fn load(root: &Path, config_path: Option<&Path>) -> EngineResult<Self>
Load config and discover files for an editor project root.
§Errors
Returns an engine error when project config loading fails.
Sourcepub fn load_with_config(
root: &Path,
config_path: Option<&Path>,
configure: impl FnOnce(&mut ResolvedConfig),
) -> EngineResult<Self>
pub fn load_with_config( root: &Path, config_path: Option<&Path>, configure: impl FnOnce(&mut ResolvedConfig), ) -> EngineResult<Self>
Load config, apply one editor-specific adjustment, then discover files.
§Errors
Returns an engine error when project config loading fails.
Sourcepub fn load_with_config_options(
root: &Path,
config_path: Option<&Path>,
load_options: ConfigLoadOptions,
configure: impl FnOnce(&mut ResolvedConfig),
) -> EngineResult<Self>
pub fn load_with_config_options( root: &Path, config_path: Option<&Path>, load_options: ConfigLoadOptions, configure: impl FnOnce(&mut ResolvedConfig), ) -> EngineResult<Self>
Load config with an explicit inheritance trust policy, apply one editor-specific adjustment, then discover files.
§Errors
Returns an engine error when project config loading fails.
Sourcepub fn load_default(root: &Path) -> Self
pub fn load_default(root: &Path) -> Self
Build a session from built-in defaults, ignoring project config files.
Sourcepub fn config(&self) -> &ResolvedConfig
pub fn config(&self) -> &ResolvedConfig
Resolved project config.
Sourcepub fn config_path(&self) -> Option<&Path>
pub fn config_path(&self) -> Option<&Path>
Config file path when one was loaded.
Sourcepub fn refine_type_aware_dead_code(
&self,
options: &TypeAwareOptions,
filters: &DeadCodeFilters,
output: &mut EditorDeadCodeAnalysisOutput,
) -> Result<Option<TypeAwareMeta>, ProgrammaticError>
pub fn refine_type_aware_dead_code( &self, options: &TypeAwareOptions, filters: &DeadCodeFilters, output: &mut EditorDeadCodeAnalysisOutput, ) -> Result<Option<TypeAwareMeta>, ProgrammaticError>
Refine this editor session’s dead-code findings with exact TypeScript symbol evidence.
§Errors
Returns a programmatic error when the semantic companion cannot provide the requested analysis contract.
Sourcepub fn refine_type_aware_dead_code_in_session(
&self,
semantic_session: &mut TypeAwareSession,
changes: Option<&TypeAwareFileChanges>,
options: &TypeAwareOptions,
filters: &DeadCodeFilters,
output: &mut EditorDeadCodeAnalysisOutput,
) -> Result<Option<TypeAwareMeta>, ProgrammaticError>
pub fn refine_type_aware_dead_code_in_session( &self, semantic_session: &mut TypeAwareSession, changes: Option<&TypeAwareFileChanges>, options: &TypeAwareOptions, filters: &DeadCodeFilters, output: &mut EditorDeadCodeAnalysisOutput, ) -> Result<Option<TypeAwareMeta>, ProgrammaticError>
Refine editor findings through a root-bound persistent semantic session.
Sourcepub fn analyze_project_with(
&self,
duplicates_config: &DuplicatesConfig,
retain_complexity_artifacts: bool,
) -> EngineResult<EditorProjectAnalysisOutput>
pub fn analyze_project_with( &self, duplicates_config: &DuplicatesConfig, retain_complexity_artifacts: bool, ) -> EngineResult<EditorProjectAnalysisOutput>
Run dead-code and duplication analysis for this editor session.
§Errors
Returns an engine error when dead-code parsing or analysis fails.
Sourcepub fn analyze_project_with_changed_files(
&self,
duplicates_config: &DuplicatesConfig,
retain_complexity_artifacts: bool,
changed_files: Option<&FxHashSet<PathBuf>>,
) -> EngineResult<EditorProjectAnalysisOutput>
pub fn analyze_project_with_changed_files( &self, duplicates_config: &DuplicatesConfig, retain_complexity_artifacts: bool, changed_files: Option<&FxHashSet<PathBuf>>, ) -> EngineResult<EditorProjectAnalysisOutput>
Run dead-code and duplication analysis, optionally focusing duplication to files the editor already resolved as changed.
Dead-code still runs with full graph context, and the dead-code
findings keep full scope until the type-aware pass has run. That pass
reads unused_files as its set of unreachable files. After the pass,
call Self::apply_changed_files_scope to narrow the dead-code
findings of this project.
§Errors
Returns an engine error when dead-code parsing or analysis fails.
Sourcepub fn apply_changed_files_scope(
&self,
dead_code: &mut EditorDeadCodeAnalysisOutput,
changed_files: Option<&FxHashSet<PathBuf>>,
)
pub fn apply_changed_files_scope( &self, dead_code: &mut EditorDeadCodeAnalysisOutput, changed_files: Option<&FxHashSet<PathBuf>>, )
Narrow the dead-code findings of this project to the changed files,
with fallow_engine::dead_code::apply_scope and the config of this
project, as the CLI, MCP and Node API narrow them.
Call it after the type-aware pass. That pass reads unused_files as
its set of unreachable files, so a scope before it drops evidence from
unused files outside the changed set. A multi-root editor session
merges several projects, and each project has its own
ignoreFindings. So the scope runs per project, where the config is
known, and not after the merge. It does nothing when changed_files
is None.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for EditorAnalysisSession
impl RefUnwindSafe for EditorAnalysisSession
impl Send for EditorAnalysisSession
impl Sync for EditorAnalysisSession
impl Unpin for EditorAnalysisSession
impl UnsafeUnpin for EditorAnalysisSession
impl UnwindSafe for EditorAnalysisSession
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 moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more