pub mod assistant_input_history;
pub mod assistant_prompts;
pub mod automation;
pub mod cell;
pub mod config;
pub mod defaults;
pub mod error;
pub mod layout_constants;
pub mod profile;
pub mod profile_types;
pub mod scripting;
pub mod scrollback_mark;
pub mod shader_bundle;
pub mod shader_config;
pub mod shader_controls;
pub mod shader_metadata;
pub mod shell_detection;
pub mod snapshot_types;
pub mod snippets;
pub mod status_bar;
pub mod themes;
mod types;
#[cfg(feature = "watcher")]
pub mod watcher;
pub mod prelude {
pub mod core {
pub use crate::cell::Cell;
pub use crate::config::{
ALLOWED_ENV_VARS, AiInspectorConfig, AssistantInputHistoryMode, Config, CursorConfig,
CustomAcpAgentActionConfig, CustomAcpAgentConfig, FontRenderingConfig,
GlobalShaderConfig, MouseConfig, StatusBarConfig, WindowConfig, is_env_var_allowed,
substitute_variables, substitute_variables_with_allowlist,
};
pub use crate::error::ConfigError;
pub use crate::scrollback_mark::ScrollbackMark;
pub use crate::snapshot_types::TabSnapshot;
pub use crate::themes::{Color, Theme};
}
pub mod types {
pub use crate::types::alert::{AlertEvent, AlertSoundConfig};
pub use crate::types::font::{
DownloadSaveLocation, DroppedFileQuoteStyle, FontRange, ThinStrokesMode,
};
pub use crate::types::integration::{
InstallPromptState, IntegrationVersions, ProgressBarPosition, ProgressBarStyle,
ShaderInstallPrompt, UpdateCheckFrequency,
};
pub use crate::types::keybinding::KeyBinding;
#[allow(unused_imports)]
pub use crate::types::keybinding::KeyModifier;
pub use crate::types::rendering::{
BackgroundImageMode, BackgroundMode, DividerRect, DividerStyle, ImageScalingMode,
PaneBackground, PaneBackgroundConfig, PaneId, PaneTitlePosition, PowerPreference,
SeparatorMark, TabId, VsyncMode,
};
pub use crate::types::selection::{
SmartSelectionPrecision, SmartSelectionRule, default_smart_selection_rules,
};
pub use crate::types::shader::{
CursorShaderConfig, CursorShaderMetadata, ResolvedCursorShaderConfig,
ResolvedShaderConfig, ShaderBackgroundBlendMode, ShaderConfig, ShaderMetadata,
ShaderSafetyBadge,
};
#[allow(unused_imports)]
pub use crate::types::shader::{ShaderColorValue, ShaderUniformValue};
pub use crate::types::shell::{ShellExitAction, ShellType, StartupDirectoryMode};
pub use crate::types::tab_bar::{
NewTabPosition, RemoteTabTitleFormat, StatusBarPosition, TabBarMode, TabBarPosition,
TabStyle, TabTitleMode, WindowType,
};
pub use crate::types::terminal::{
CursorStyle, LinkUnderlineStyle, LogLevel, ModifierRemapping, ModifierTarget,
OptionKeyMode, SemanticHistoryEditorMode, SessionLogFormat, UnfocusedCursorStyle,
};
}
pub mod automation {
pub use crate::automation::{
CoprocessDefConfig, RestartPolicy, SplitPaneCommand, TriggerActionConfig,
TriggerConfig, TriggerRateLimiter, TriggerSplitDirection, TriggerSplitTarget,
check_command_allowlist, check_command_denylist, warn_prompt_before_run_false,
};
pub use crate::scripting::ScriptConfig;
}
pub mod shader {
pub use crate::shader_bundle::ShaderBundleManifest;
pub use crate::shader_config::{resolve_cursor_shader_config, resolve_shader_config};
pub use crate::shader_controls::{
AngleUnit, ShaderControl, ShaderControlKind, ShaderControlParseResult,
ShaderControlWarning, SliderScale, fallback_value_for_control, parse_shader_controls,
};
pub use crate::shader_metadata::{
CursorShaderMetadataCache, ShaderMetadataCache, parse_cursor_shader_metadata,
parse_shader_metadata, update_cursor_shader_metadata_file, update_shader_metadata_file,
};
}
pub mod assistant {
pub use crate::assistant_input_history::{
MAX_ASSISTANT_INPUT_HISTORY_ENTRIES, assistant_input_history_path,
load_assistant_input_history, merge_assistant_input_history,
normalize_assistant_input_history, save_assistant_input_history,
};
pub use crate::assistant_prompts::{
AssistantPrompt, AssistantPromptDraft, assistant_prompts_dir, delete_prompt,
list_prompts, list_prompts_in_dir, parse_prompt_markdown, safe_prompt_filename,
save_prompt, save_prompt_in_dir, serialize_prompt_markdown,
};
}
pub mod snippets {
pub use crate::snippets::{
BuiltInVariable, CustomActionConfig, SnippetConfig, SnippetLibrary,
};
}
pub mod status_bar {
pub use crate::status_bar::{
StatusBarSection, StatusBarWidgetConfig, WidgetId, default_widgets,
};
}
pub mod profile {
pub use crate::profile::{ConflictResolution, DynamicProfileSource};
pub use crate::profile_types::{
Profile, ProfileId, ProfileManager, ProfileSource, TmuxConnectionMode,
};
}
pub mod unicode {
pub use crate::types::unicode::{AmbiguousWidth, NormalizationForm, UnicodeVersion};
}
pub mod color {
pub use crate::types::color::{
color_tuple_to_f32_a, color_u8_to_f32, color_u8_to_f32_a, color_u8x4_rgb_to_f32,
color_u8x4_rgb_to_f32_a, color_u8x4_to_f32,
};
}
}
pub use assistant_input_history::{
MAX_ASSISTANT_INPUT_HISTORY_ENTRIES, assistant_input_history_path,
load_assistant_input_history, merge_assistant_input_history, normalize_assistant_input_history,
save_assistant_input_history,
};
pub use assistant_prompts::{
AssistantPrompt, AssistantPromptDraft, assistant_prompts_dir, delete_prompt, list_prompts,
list_prompts_in_dir, parse_prompt_markdown, safe_prompt_filename, save_prompt,
save_prompt_in_dir, serialize_prompt_markdown,
};
pub use error::ConfigError;
pub use cell::Cell;
pub use config::{
ALLOWED_ENV_VARS, AiInspectorConfig, AssistantInputHistoryMode, Config, CursorConfig,
CustomAcpAgentActionConfig, CustomAcpAgentConfig, FontRenderingConfig, GlobalShaderConfig,
MouseConfig, StatusBarConfig, WindowConfig, is_env_var_allowed, substitute_variables,
substitute_variables_with_allowlist,
};
pub use scrollback_mark::ScrollbackMark;
pub use themes::{Color, Theme};
pub use types::{
color_tuple_to_f32_a, color_u8_to_f32, color_u8_to_f32_a, color_u8x4_rgb_to_f32,
color_u8x4_rgb_to_f32_a, color_u8x4_to_f32,
};
pub use automation::{
CoprocessDefConfig, RestartPolicy, SplitPaneCommand, TriggerActionConfig, TriggerConfig,
TriggerRateLimiter, TriggerSplitDirection, TriggerSplitTarget, check_command_allowlist,
check_command_denylist, warn_prompt_before_run_false,
};
pub use types::{
AlertEvent, AlertSoundConfig, BackgroundImageMode, BackgroundMode, CursorShaderConfig,
CursorShaderMetadata, CursorStyle, DividerRect, DividerStyle, DownloadSaveLocation,
DroppedFileQuoteStyle, FontRange, ImageScalingMode, InstallPromptState, IntegrationVersions,
KeyBinding, LinkUnderlineStyle, LogLevel, ModifierRemapping, ModifierTarget, NewTabPosition,
OptionKeyMode, PaneBackground, PaneBackgroundConfig, PaneId, PaneTitlePosition,
PowerPreference, ProgressBarPosition, ProgressBarStyle, RemoteTabTitleFormat,
SemanticHistoryEditorMode, SeparatorMark, SessionLogFormat, ShaderBackgroundBlendMode,
ShaderConfig, ShaderInstallPrompt, ShaderMetadata, ShaderSafetyBadge, ShellExitAction,
ShellType, SmartSelectionPrecision, SmartSelectionRule, StartupDirectoryMode,
StatusBarPosition, TabBarMode, TabBarPosition, TabId, TabStyle, TabTitleMode, ThinStrokesMode,
UnfocusedCursorStyle, UpdateCheckFrequency, VsyncMode, WindowType,
default_smart_selection_rules,
};
pub use scripting::ScriptConfig;
pub use snippets::{BuiltInVariable, CustomActionConfig, SnippetConfig, SnippetLibrary};
pub use status_bar::{StatusBarSection, StatusBarWidgetConfig, WidgetId, default_widgets};
pub use profile::{ConflictResolution, DynamicProfileSource};
pub use profile_types::{Profile, ProfileId, ProfileManager, ProfileSource, TmuxConnectionMode};
pub use shader_bundle::ShaderBundleManifest;
pub use shader_config::{resolve_cursor_shader_config, resolve_shader_config};
pub use shader_controls::{
AngleUnit, ShaderControl, ShaderControlKind, ShaderControlParseResult, ShaderControlWarning,
SliderScale, fallback_value_for_control, parse_shader_controls,
};
pub use shader_metadata::{CursorShaderMetadataCache, ShaderMetadataCache};
pub use shader_metadata::{
parse_cursor_shader_metadata, parse_shader_metadata, update_cursor_shader_metadata_file,
update_shader_metadata_file,
};
pub use snapshot_types::TabSnapshot;
pub use types::{AmbiguousWidth, NormalizationForm, UnicodeVersion};
#[allow(unused_imports)]
pub use types::KeyModifier;
#[allow(unused_imports)]
pub use types::shader::{ShaderColorValue, ShaderUniformValue};
pub use types::{ResolvedCursorShaderConfig, ResolvedShaderConfig};