code-moniker 0.4.0

Standalone CLI / linter for the code-moniker symbol graph: file and directory probes, project-wide architecture rules.
Documentation
use code_moniker_core::lang::Lang;

use crate::ui::app::HeaderKindFilter;
use crate::ui::app::state::{
	ActiveFilter, ChangePanelMode, CheckState, FocusRegion, NoteEditorState, PanelNavigationState,
	PanelPolicy, View,
};
use crate::ui::async_task::{TaskId, TaskResult, WorkKind};
use crate::ui::clipboard::ClipboardResult;
use crate::ui::events::{HeaderSearchFocus, Msg};
use crate::ui::explorer::HeaderSearchResults;
use crate::ui::workspace_read::UsageFocus;
use code_moniker_workspace::live::WorkspaceLiveEvent;

#[derive(Debug)]
#[allow(clippy::large_enum_variant)]
pub(in crate::ui) enum AppAction {
	Ui(Msg),
	HeaderSearchDebounced(u64),
	UsageLensDebounced(u64),
	Shell(ShellAction),
	Store(WorkspaceLiveEvent),
	TaskStarted {
		id: TaskId,
		work: WorkKind,
		generation: u64,
	},
	TaskCompleted(TaskResult),
	Clipboard(ClipboardResult),
}

#[derive(Debug)]
#[allow(clippy::large_enum_variant)]
pub(in crate::ui) enum ShellAction {
	SetStatus(String),
	AppendStatus(String),
	SetNotesError(Option<String>),
	SetCheckState(CheckState),
	SetView {
		view: View,
		policy: PanelPolicy,
	},
	ApplyHeaderSearch {
		results: HeaderSearchResults,
		return_focus: bool,
	},
	SetHeaderSearchFilters {
		langs: Vec<Lang>,
		kind_filters: Vec<HeaderKindFilter>,
	},
	SetHeaderSearchOptions {
		langs: Vec<Lang>,
		kind_filters: Vec<HeaderKindFilter>,
		available_langs: Vec<Lang>,
		available_kind_filters: Vec<HeaderKindFilter>,
		lang_cursor: usize,
		kind_cursor: usize,
	},
	SetHeaderSearchCursor {
		focus: HeaderSearchFocus,
		cursor: usize,
	},
	ClearFilter {
		return_focus: bool,
	},
	SetUsageLens(Option<UsageFocus>),
	ReplaceUsageLens(UsageFocus),
	SetNoteEditor(Option<NoteEditorState>),
	EnterChangeMode,
	ReplaceActiveFilter(ActiveFilter),
	SetChangePanel(ChangePanelMode),
	SetFocusRegion(FocusRegion),
	ToggleViewsShowAll,
	SetPanelScroll(usize),
	SetPanelNavigation(PanelNavigationState),
}