ghostscope_ui/ui/
strings.rs

1/// Centralized UI strings for internationalization support
2pub struct UIStrings;
3
4impl UIStrings {
5    // Panel titles
6    pub const SOURCE_PANEL_TITLE: &'static str = "Source Code";
7    pub const EBPF_PANEL_TITLE: &'static str = "eBPF Output";
8    pub const COMMAND_PANEL_TITLE: &'static str = "Interactive Command";
9
10    // Mode indicators
11    pub const INPUT_MODE: &'static str = "INPUT";
12    pub const COMMAND_MODE: &'static str = "COMMAND";
13    pub const SCRIPT_MODE: &'static str = "SCRIPT";
14
15    // Prompts
16    pub const GHOSTSCOPE_PROMPT: &'static str = "(ghostscope) ";
17    pub const SEARCH_PROMPT: &'static str = "Search: ";
18    pub const FILE_SEARCH_PROMPT: &'static str = "File: ";
19
20    // Status messages
21    pub const LOADING: &'static str = "Loading...";
22    pub const COMPILING: &'static str = "Compiling and loading script...";
23    pub const SCRIPT_CANCELLED: &'static str = "Script input cancelled";
24    pub const UNKNOWN_COMMAND: &'static str = "Unknown command";
25
26    // Help text
27    pub const HELP_TEXT: &'static str = r#"Available commands:
28  help     - Show this help message
29  trace    - Start tracing a function/line/address (enters script mode)
30  attach   - Attach to a process by PID
31  detach   - Detach from current process
32  quit     - Exit ghostscope
33  exit     - Exit ghostscope"#;
34
35    // File info headers
36    pub const SOURCE_FILES_HEADER: &'static str = "Source Files by Module";
37    pub const NO_SOURCE_FILES: &'static str = "No source files found.";
38    pub const SHARED_LIBRARIES_HEADER: &'static str = "Shared Libraries";
39    pub const NO_SHARED_LIBRARIES: &'static str = "No shared libraries found.";
40
41    // Table headers
42    pub const SHARED_LIB_TABLE_HEADER: &'static str =
43        "From                To                  Syms Read   Debug Read   Shared Object Library";
44
45    // Warnings
46    pub const NO_DEBUG_INFO_WARNING: &'static str = "has no DWARF debug information";
47
48    // Script display
49    pub const SCRIPT_TARGET_PREFIX: &'static str = "Script for target: ";
50    pub const SCRIPT_SEPARATOR: &'static str = "─";
51
52    // Trace status
53    pub const TRACE_STATUS_HEADER: &'static str = "Trace Status";
54    pub const NO_TRACES_FOUND: &'static str = "No traces found.";
55    pub const TRACE_DETAILS_HEADER: &'static str = "Trace Details:";
56
57    // Error prefixes (keeping ASCII for better compatibility)
58    pub const ERROR_PREFIX: &'static str = "✗";
59    pub const SUCCESS_PREFIX: &'static str = "✅";
60    pub const WARNING_PREFIX: &'static str = "⚠️";
61    pub const INFO_PREFIX: &'static str = "ℹ️";
62    pub const PROGRESS_PREFIX: &'static str = "⏳";
63
64    // ASCII alternatives for better compatibility
65    pub const ERROR_PREFIX_ASCII: &'static str = "[ERROR]";
66    pub const SUCCESS_PREFIX_ASCII: &'static str = "[OK]";
67    pub const WARNING_PREFIX_ASCII: &'static str = "[WARN]";
68    pub const INFO_PREFIX_ASCII: &'static str = "[INFO]";
69    pub const PROGRESS_PREFIX_ASCII: &'static str = "[...]";
70
71    // Enhanced emoji support for trace operations
72    pub const SCRIPT_SUCCESS_EMOJI: &'static str = "✅";
73    pub const SCRIPT_ERROR_EMOJI: &'static str = "❌";
74    pub const SCRIPT_PARTIAL_EMOJI: &'static str = "⚠️";
75    pub const SCRIPT_COMPILING_EMOJI: &'static str = "🔄";
76    pub const TARGET_EMOJI: &'static str = "🎯";
77    pub const BINARY_EMOJI: &'static str = "📦";
78    pub const ADDRESS_EMOJI: &'static str = "📍";
79    pub const LINE_EMOJI: &'static str = "📝";
80    pub const FILE_EMOJI: &'static str = "📄";
81    pub const FUNCTION_EMOJI: &'static str = "🔧";
82    pub const VARIABLE_EMOJI: &'static str = "💾";
83    pub const PROBE_EMOJI: &'static str = "🔗";
84    pub const DISABLED_EMOJI: &'static str = "⏸️";
85    pub const SKIPPED_EMOJI: &'static str = "⏭️";
86    pub const ACTIVE_EMOJI: &'static str = "🟢";
87    pub const FAILED_EMOJI: &'static str = "🔴";
88}