SYMBOL INDEX (2028 symbols across 79 files) FILE: Formula/rtk.rb class Rtk (line 6) | class Rtk < Formula method install (line 36) | def install FILE: build.rs function main (line 5) | fn main() { FILE: openclaw/index.ts function checkRtk (line 16) | function checkRtk(): boolean { function tryRewrite (line 27) | function tryRewrite(command: string): string | null { function register (line 39) | function register(api: any) { FILE: src/aws_cmd.rs constant MAX_ITEMS (line 12) | const MAX_ITEMS: usize = 20; constant JSON_COMPRESS_DEPTH (line 13) | const JSON_COMPRESS_DEPTH: usize = 4; function run (line 16) | pub fn run(subcommand: &str, args: &[String], verbose: u8) -> Result<()> { function is_structured_operation (line 55) | fn is_structured_operation(args: &[String]) -> bool { function run_generic (line 61) | fn run_generic(subcommand: &str, args: &[String], verbose: u8, full_sub:... function run_aws_json (line 123) | fn run_aws_json( function run_sts_identity (line 166) | fn run_sts_identity(extra_args: &[String], verbose: u8) -> Result<()> { function run_s3_ls (line 195) | fn run_s3_ls(extra_args: &[String], verbose: u8) -> Result<()> { function run_ec2_describe (line 226) | fn run_ec2_describe(extra_args: &[String], verbose: u8) -> Result<()> { function run_ecs_list_services (line 255) | fn run_ecs_list_services(extra_args: &[String], verbose: u8) -> Result<(... function run_ecs_describe_services (line 284) | fn run_ecs_describe_services(extra_args: &[String], verbose: u8) -> Resu... function run_rds_describe (line 313) | fn run_rds_describe(extra_args: &[String], verbose: u8) -> Result<()> { function run_cfn_list_stacks (line 343) | fn run_cfn_list_stacks(extra_args: &[String], verbose: u8) -> Result<()> { function run_cfn_describe_stacks (line 373) | fn run_cfn_describe_stacks(extra_args: &[String], verbose: u8) -> Result... function filter_sts_identity (line 405) | fn filter_sts_identity(json_str: &str) -> Option { function filter_s3_ls (line 412) | fn filter_s3_ls(output: &str) -> String { function filter_ec2_instances (line 430) | fn filter_ec2_instances(json_str: &str) -> Option { function filter_ecs_list_services (line 469) | fn filter_ecs_list_services(json_str: &str) -> Option { function filter_ecs_describe_services (line 486) | fn filter_ecs_describe_services(json_str: &str) -> Option { function filter_rds_instances (line 508) | fn filter_rds_instances(json_str: &str) -> Option { function filter_cfn_list_stacks (line 530) | fn filter_cfn_list_stacks(json_str: &str) -> Option { function filter_cfn_describe_stacks (line 550) | fn filter_cfn_describe_stacks(json_str: &str) -> Option { function test_snapshot_sts_identity (line 584) | fn test_snapshot_sts_identity() { function test_snapshot_ec2_instances (line 598) | fn test_snapshot_ec2_instances() { function test_filter_sts_identity (line 607) | fn test_filter_sts_identity() { function test_filter_sts_identity_missing_fields (line 621) | fn test_filter_sts_identity_missing_fields() { function test_filter_sts_identity_invalid_json (line 628) | fn test_filter_sts_identity_invalid_json() { function test_filter_s3_ls_basic (line 634) | fn test_filter_s3_ls_basic() { function test_filter_s3_ls_overflow (line 642) | fn test_filter_s3_ls_overflow() { function test_filter_ec2_instances (line 653) | fn test_filter_ec2_instances() { function test_filter_ec2_no_name_tag (line 678) | fn test_filter_ec2_no_name_tag() { function test_filter_ec2_invalid_json (line 695) | fn test_filter_ec2_invalid_json() { function test_filter_ecs_list_services (line 700) | fn test_filter_ecs_list_services() { function test_filter_ecs_describe_services (line 714) | fn test_filter_ecs_describe_services() { function test_filter_rds_instances (line 729) | fn test_filter_rds_instances() { function test_filter_cfn_list_stacks (line 744) | fn test_filter_cfn_list_stacks() { function test_filter_cfn_describe_stacks_with_outputs (line 763) | fn test_filter_cfn_describe_stacks_with_outputs() { function test_filter_cfn_describe_stacks_no_outputs (line 782) | fn test_filter_cfn_describe_stacks_no_outputs() { function count_tokens (line 795) | fn count_tokens(text: &str) -> usize { function test_ec2_token_savings (line 800) | fn test_ec2_token_savings() { function test_sts_token_savings (line 849) | fn test_sts_token_savings() { function test_rds_overflow (line 867) | fn test_rds_overflow() { FILE: src/binlog.rs type BinlogIssue (line 11) | pub struct BinlogIssue { type BuildSummary (line 20) | pub struct BuildSummary { type FailedTest (line 29) | pub struct FailedTest { type TestSummary (line 35) | pub struct TestSummary { type RestoreSummary (line 46) | pub struct RestoreSummary { constant SENSITIVE_ENV_VARS (line 111) | const SENSITIVE_ENV_VARS: &[&str] = &[ constant RECORD_END_OF_FILE (line 147) | const RECORD_END_OF_FILE: i32 = 0; constant RECORD_BUILD_STARTED (line 148) | const RECORD_BUILD_STARTED: i32 = 1; constant RECORD_BUILD_FINISHED (line 149) | const RECORD_BUILD_FINISHED: i32 = 2; constant RECORD_PROJECT_STARTED (line 150) | const RECORD_PROJECT_STARTED: i32 = 3; constant RECORD_PROJECT_FINISHED (line 151) | const RECORD_PROJECT_FINISHED: i32 = 4; constant RECORD_ERROR (line 152) | const RECORD_ERROR: i32 = 9; constant RECORD_WARNING (line 153) | const RECORD_WARNING: i32 = 10; constant RECORD_MESSAGE (line 154) | const RECORD_MESSAGE: i32 = 11; constant RECORD_CRITICAL_BUILD_MESSAGE (line 155) | const RECORD_CRITICAL_BUILD_MESSAGE: i32 = 13; constant RECORD_PROJECT_IMPORT_ARCHIVE (line 156) | const RECORD_PROJECT_IMPORT_ARCHIVE: i32 = 17; constant RECORD_NAME_VALUE_LIST (line 157) | const RECORD_NAME_VALUE_LIST: i32 = 23; constant RECORD_STRING (line 158) | const RECORD_STRING: i32 = 24; constant FLAG_BUILD_EVENT_CONTEXT (line 160) | const FLAG_BUILD_EVENT_CONTEXT: i32 = 1 << 0; constant FLAG_MESSAGE (line 161) | const FLAG_MESSAGE: i32 = 1 << 2; constant FLAG_TIMESTAMP (line 162) | const FLAG_TIMESTAMP: i32 = 1 << 5; constant FLAG_ARGUMENTS (line 163) | const FLAG_ARGUMENTS: i32 = 1 << 14; constant FLAG_IMPORTANCE (line 164) | const FLAG_IMPORTANCE: i32 = 1 << 15; constant FLAG_EXTENDED (line 165) | const FLAG_EXTENDED: i32 = 1 << 16; constant STRING_RECORD_START_INDEX (line 167) | const STRING_RECORD_START_INDEX: i32 = 10; function parse_build (line 169) | pub fn parse_build(binlog_path: &Path) -> Result { function select_best_issues (line 195) | fn select_best_issues(primary: Vec, fallback: Vec usize { function issue_quality_score (line 216) | fn issue_quality_score(issue: &BinlogIssue) -> usize { function is_contextual_issue (line 236) | fn is_contextual_issue(issue: &BinlogIssue) -> bool { function is_suspicious_issue (line 240) | fn is_suspicious_issue(issue: &BinlogIssue) -> bool { function parse_test (line 244) | pub fn parse_test(binlog_path: &Path) -> Result { function parse_restore (line 256) | pub fn parse_restore(binlog_path: &Path) -> Result { type ParsedBinlog (line 269) | struct ParsedBinlog { type ParsedEventFields (line 281) | struct ParsedEventFields { function parse_events_from_binlog (line 286) | fn parse_events_from_binlog(path: &Path) -> Result { function parse_event_record (line 367) | fn parse_event_record( function read_event_fields (line 447) | fn read_event_fields( function skip_build_event_context (line 489) | fn skip_build_event_context(reader: &mut BinReader<'_>, file_format_vers... function skip_string_dictionary (line 497) | fn skip_string_dictionary(reader: &mut BinReader<'_>, file_format_versio... function read_optional_string (line 506) | fn read_optional_string( function read_deduplicated_string (line 513) | fn read_deduplicated_string( function format_ticks_duration (line 536) | fn format_ticks_duration(ticks: i64) -> String { type BinReader (line 548) | struct BinReader<'a> { function new (line 553) | fn new(bytes: &'a [u8]) -> Self { function is_eof (line 559) | fn is_eof(&self) -> bool { function read_exact (line 563) | fn read_exact(&mut self, len: usize) -> Result<&'a [u8]> { function skip (line 573) | fn skip(&mut self, len: usize) -> Result<()> { function read_u8 (line 578) | fn read_u8(&mut self) -> Result { function read_bool (line 582) | fn read_bool(&mut self) -> Result { function read_i32_le (line 586) | fn read_i32_le(&mut self) -> Result { function read_i64_le (line 591) | fn read_i64_le(&mut self) -> Result { function read_7bit_i32 (line 598) | fn read_7bit_i32(&mut self) -> Result { function read_dotnet_string (line 615) | fn read_dotnet_string(&mut self) -> Result { function scrub_sensitive_env_vars (line 625) | pub fn scrub_sensitive_env_vars(input: &str) -> String { function parse_build_from_text (line 631) | pub fn parse_build_from_text(text: &str) -> BuildSummary { function parse_test_from_text (line 839) | pub fn parse_test_from_text(text: &str) -> TestSummary { function parse_restore_from_text (line 960) | pub fn parse_restore_from_text(text: &str) -> RestoreSummary { function parse_restore_issues_from_text (line 974) | pub fn parse_restore_issues_from_text(text: &str) -> (Vec, ... function count_projects (line 1030) | fn count_projects(text: &str) -> usize { function extract_duration (line 1034) | fn extract_duration(text: &str) -> Option { function extract_printable_runs (line 1041) | fn extract_printable_runs(text: &str) -> Vec { function extract_binary_like_issues (line 1057) | fn extract_binary_like_issues(text: &str) -> Vec { function is_likely_diagnostic_code (line 1117) | fn is_likely_diagnostic_code(code: &str) -> bool { function write_7bit_i32 (line 1134) | fn write_7bit_i32(buf: &mut Vec, value: i32) { function write_dotnet_string (line 1143) | fn write_dotnet_string(buf: &mut Vec, value: &str) { function write_event_record (line 1148) | fn write_event_record(target: &mut Vec, kind: i32, payload: &[u8]) { function build_minimal_binlog (line 1154) | fn build_minimal_binlog(records: &[u8]) -> Vec { function test_scrub_sensitive_env_vars_masks_values (line 1166) | fn test_scrub_sensitive_env_vars_masks_values() { function test_scrub_sensitive_env_vars_masks_token_and_connection_values (line 1178) | fn test_scrub_sensitive_env_vars_masks_token_and_connection_values() { function test_parse_build_from_text_extracts_issues (line 1191) | fn test_parse_build_from_text_extracts_issues() { function test_parse_build_from_text_extracts_warning_without_code (line 1211) | fn test_parse_build_from_text_extracts_warning_without_code() { function test_parse_build_from_text_extracts_inline_warning_counts (line 1227) | fn test_parse_build_from_text_extracts_inline_warning_counts() { function test_parse_build_from_text_extracts_msbuild_global_error (line 1238) | fn test_parse_build_from_text_extracts_msbuild_global_error() { function test_parse_test_from_text_extracts_failure_summary (line 1254) | fn test_parse_test_from_text_extracts_failure_summary() { function test_parse_test_from_text_keeps_multiline_failure_details (line 1277) | fn test_parse_test_from_text_keeps_multiline_failure_details() { function test_parse_test_from_text_ignores_non_test_failed_prefix_lines (line 1300) | fn test_parse_test_from_text_ignores_non_test_failed_prefix_lines() { function test_parse_test_from_text_aggregates_multiple_project_summaries (line 1312) | fn test_parse_test_from_text_aggregates_multiple_project_summaries() { function test_parse_test_from_text_prefers_test_summary_duration_and_counts (line 1328) | fn test_parse_test_from_text_prefers_test_summary_duration_and_counts() { function test_parse_restore_from_text_extracts_project_count (line 1344) | fn test_parse_restore_from_text_extracts_project_count() { function test_parse_restore_from_text_extracts_nuget_error_diagnostic (line 1356) | fn test_parse_restore_from_text_extracts_nuget_error_diagnostic() { function test_parse_restore_issues_ignores_summary_warning_error_counts (line 1369) | fn test_parse_restore_issues_ignores_summary_warning_error_counts() { function test_parse_build_fails_when_binlog_is_unparseable (line 1383) | fn test_parse_build_fails_when_binlog_is_unparseable() { function test_parse_build_fails_when_binlog_missing (line 1398) | fn test_parse_build_fails_when_binlog_missing() { function test_parse_build_reads_structured_events (line 1411) | fn test_parse_build_reads_structured_events() { function test_parse_test_reads_message_events (line 1483) | fn test_parse_test_reads_message_events() { function test_parse_test_fails_when_binlog_missing (line 1511) | fn test_parse_test_fails_when_binlog_missing() { function test_parse_restore_fails_when_binlog_missing (line 1524) | fn test_parse_restore_fails_when_binlog_missing() { function test_parse_build_from_fixture_text (line 1537) | fn test_parse_build_from_fixture_text() { function test_parse_build_sets_project_count_floor (line 1547) | fn test_parse_build_sets_project_count_floor() { function test_parse_build_does_not_infer_binary_errors_on_successful_build (line 1564) | fn test_parse_build_does_not_infer_binary_errors_on_successful_build() { function test_parse_test_from_fixture_text (line 1573) | fn test_parse_test_from_fixture_text() { function test_extract_binary_like_issues_recovers_code_message_and_path (line 1587) | fn test_extract_binary_like_issues_recovers_code_message_and_path() { function test_is_likely_diagnostic_code_filters_framework_monikers (line 1599) | fn test_is_likely_diagnostic_code_filters_framework_monikers() { function test_select_best_issues_prefers_fallback_when_primary_loses_context (line 1607) | fn test_select_best_issues_prefers_fallback_when_primary_loses_context() { function test_select_best_issues_keeps_primary_when_context_is_good (line 1629) | fn test_select_best_issues_keeps_primary_when_context_is_good() { FILE: src/cargo_cmd.rs type CargoCommand (line 9) | pub enum CargoCommand { function run (line 18) | pub fn run(cmd: CargoCommand, args: &[String], verbose: u8) -> Result<()> { function restore_double_dash (line 32) | fn restore_double_dash(args: &[String]) -> Vec { function restore_double_dash_with_raw (line 38) | fn restore_double_dash_with_raw(args: &[String], raw_args: &[String]) ->... function run_cargo_filtered (line 69) | fn run_cargo_filtered(subcommand: &str, args: &[String], verbose: u8,... function run_build (line 121) | fn run_build(args: &[String], verbose: u8) -> Result<()> { function run_test (line 125) | fn run_test(args: &[String], verbose: u8) -> Result<()> { function run_clippy (line 129) | fn run_clippy(args: &[String], verbose: u8) -> Result<()> { function run_check (line 133) | fn run_check(args: &[String], verbose: u8) -> Result<()> { function run_install (line 137) | fn run_install(args: &[String], verbose: u8) -> Result<()> { function run_nextest (line 141) | fn run_nextest(args: &[String], verbose: u8) -> Result<()> { function format_crate_info (line 146) | fn format_crate_info(name: &str, version: &str, fallback: &str) -> String { function filter_cargo_install (line 157) | fn filter_cargo_install(output: &str) -> String { function flush_failure_block (line 326) | fn flush_failure_block(header: &mut String, body: &mut Vec, fail... function filter_cargo_nextest (line 341) | fn filter_cargo_nextest(output: &str) -> String { function filter_cargo_build (line 560) | fn filter_cargo_build(output: &str) -> String { type AggregatedTestResult (line 652) | struct AggregatedTestResult { method parse_line (line 666) | fn parse_line(line: &str) -> Option { method merge (line 707) | fn merge(&mut self, other: &Self) { method format_compact (line 719) | fn format_compact(&self) -> String { function filter_cargo_test (line 749) | fn filter_cargo_test(output: &str) -> String { function filter_cargo_clippy (line 867) | fn filter_cargo_clippy(output: &str) -> String { function run_passthrough (line 963) | pub fn run_passthrough(args: &[OsString], verbose: u8) -> Result<()> { function test_restore_double_dash_with_separator (line 991) | fn test_restore_double_dash_with_separator() { function test_restore_double_dash_with_test_name (line 1006) | fn test_restore_double_dash_with_test_name() { function test_restore_double_dash_without_separator (line 1022) | fn test_restore_double_dash_without_separator() { function test_restore_double_dash_empty_args (line 1036) | fn test_restore_double_dash_empty_args() { function test_restore_double_dash_clippy (line 1044) | fn test_restore_double_dash_clippy() { function test_restore_double_dash_clippy_with_package_flags (line 1060) | fn test_restore_double_dash_clippy_with_package_flags() { function test_filter_cargo_build_success (line 1096) | fn test_filter_cargo_build_success() { function test_filter_cargo_build_errors (line 1108) | fn test_filter_cargo_build_errors() { function test_filter_cargo_test_all_pass (line 1125) | fn test_filter_cargo_test_all_pass() { function test_filter_cargo_test_failures (line 1148) | fn test_filter_cargo_test_failures() { function test_filter_cargo_test_multi_suite_all_pass (line 1171) | fn test_filter_cargo_test_multi_suite_all_pass() { function test_filter_cargo_test_multi_suite_with_failures (line 1204) | fn test_filter_cargo_test_multi_suite_with_failures() { function test_filter_cargo_test_all_suites_zero_tests (line 1239) | fn test_filter_cargo_test_all_suites_zero_tests() { function test_filter_cargo_test_with_ignored_and_filtered (line 1267) | fn test_filter_cargo_test_with_ignored_and_filtered() { function test_filter_cargo_test_single_suite_compact (line 1287) | fn test_filter_cargo_test_single_suite_compact() { function test_filter_cargo_test_regex_fallback (line 1302) | fn test_filter_cargo_test_regex_fallback() { function test_filter_cargo_clippy_clean (line 1318) | fn test_filter_cargo_clippy_clean() { function test_filter_cargo_clippy_warnings (line 1327) | fn test_filter_cargo_clippy_warnings() { function test_filter_cargo_install_success (line 1351) | fn test_filter_cargo_install_success() { function test_filter_cargo_install_replace (line 1375) | fn test_filter_cargo_install_replace() { function test_filter_cargo_install_error (line 1389) | fn test_filter_cargo_install_error() { function test_filter_cargo_install_already_installed (line 1408) | fn test_filter_cargo_install_already_installed() { function test_filter_cargo_install_up_to_date (line 1417) | fn test_filter_cargo_install_up_to_date() { function test_filter_cargo_install_empty_output (line 1426) | fn test_filter_cargo_install_empty_output() { function test_filter_cargo_install_path_warning (line 1433) | fn test_filter_cargo_install_path_warning() { function test_filter_cargo_install_multiple_errors (line 1452) | fn test_filter_cargo_install_multiple_errors() { function test_filter_cargo_install_locking_and_blocking (line 1481) | fn test_filter_cargo_install_locking_and_blocking() { function test_filter_cargo_install_from_path (line 1499) | fn test_filter_cargo_install_from_path() { function test_format_crate_info (line 1511) | fn test_format_crate_info() { function test_filter_cargo_nextest_all_pass (line 1519) | fn test_filter_cargo_nextest_all_pass() { function test_filter_cargo_nextest_with_failures (line 1539) | fn test_filter_cargo_nextest_with_failures() { function test_filter_cargo_nextest_with_skipped (line 1608) | fn test_filter_cargo_nextest_with_skipped() { function test_filter_cargo_nextest_single_failure_detail (line 1624) | fn test_filter_cargo_nextest_single_failure_detail() { function test_filter_cargo_nextest_multiple_binaries (line 1660) | fn test_filter_cargo_nextest_multiple_binaries() { function test_filter_cargo_nextest_compilation_stripped (line 1675) | fn test_filter_cargo_nextest_compilation_stripped() { function test_filter_cargo_nextest_empty (line 1710) | fn test_filter_cargo_nextest_empty() { function test_filter_cargo_nextest_cancellation_notice (line 1716) | fn test_filter_cargo_nextest_cancellation_notice() { function test_filter_cargo_nextest_summary_regex_fallback (line 1751) | fn test_filter_cargo_nextest_summary_regex_fallback() { FILE: src/cc_economics.rs constant BILLION (line 18) | const BILLION: f64 = 1e9; constant WEIGHT_OUTPUT (line 22) | const WEIGHT_OUTPUT: f64 = 5.0; constant WEIGHT_CACHE_CREATE (line 23) | const WEIGHT_CACHE_CREATE: f64 = 1.25; constant WEIGHT_CACHE_READ (line 24) | const WEIGHT_CACHE_READ: f64 = 0.1; type PeriodEconomics (line 29) | pub struct PeriodEconomics { method new (line 55) | fn new(label: &str) -> Self { method set_ccusage (line 77) | fn set_ccusage(&mut self, metrics: &ccusage::CcusageMetrics) { method set_rtk_from_day (line 92) | fn set_rtk_from_day(&mut self, stats: &DayStats) { method set_rtk_from_week (line 98) | fn set_rtk_from_week(&mut self, stats: &WeekStats) { method set_rtk_from_month (line 104) | fn set_rtk_from_month(&mut self, stats: &MonthStats) { method compute_weighted_metrics (line 116) | fn compute_weighted_metrics(&mut self) { method compute_dual_metrics (line 142) | fn compute_dual_metrics(&mut self) { type Totals (line 164) | struct Totals { function run (line 185) | pub fn run( function merge_daily (line 204) | fn merge_daily(cc: Option>, rtk: Vec) -> Ve... function merge_weekly (line 234) | fn merge_weekly(cc: Option>, rtk: Vec) -> ... function merge_monthly (line 272) | fn merge_monthly(cc: Option>, rtk: Vec) -... function convert_saturday_to_monday (line 305) | fn convert_saturday_to_monday(saturday: &str) -> Option { function compute_totals (line 315) | fn compute_totals(periods: &[PeriodEconomics]) -> Totals { function display_text (line 403) | fn display_text( function display_summary (line 430) | fn display_summary(tracker: &Tracker, verbose: u8) -> Result<()> { function display_daily (line 545) | fn display_daily(tracker: &Tracker, verbose: u8) -> Result<()> { function display_weekly (line 559) | fn display_weekly(tracker: &Tracker, verbose: u8) -> Result<()> { function display_monthly (line 573) | fn display_monthly(tracker: &Tracker, verbose: u8) -> Result<()> { function print_period_table (line 587) | fn print_period_table(periods: &[PeriodEconomics], verbose: u8) { function export_json (line 666) | fn export_json( function export_csv (line 725) | fn export_csv( function print_csv_row (line 774) | fn print_csv_row(p: &PeriodEconomics) { function test_convert_saturday_to_monday (line 835) | fn test_convert_saturday_to_monday() { function test_period_economics_new (line 847) | fn test_period_economics_new() { function test_compute_dual_metrics_with_data (line 855) | fn test_compute_dual_metrics_with_data() { function test_compute_dual_metrics_zero_tokens (line 878) | fn test_compute_dual_metrics_zero_tokens() { function test_compute_dual_metrics_no_ccusage_data (line 897) | fn test_compute_dual_metrics_no_ccusage_data() { function test_merge_monthly_both_present (line 911) | fn test_merge_monthly_both_present() { function test_merge_monthly_only_ccusage (line 943) | fn test_merge_monthly_only_ccusage() { function test_merge_monthly_only_rtk (line 963) | fn test_merge_monthly_only_rtk() { function test_merge_monthly_sorted (line 982) | fn test_merge_monthly_sorted() { function test_compute_weighted_input_cpt (line 1013) | fn test_compute_weighted_input_cpt() { function test_compute_weighted_metrics_zero_tokens (line 1038) | fn test_compute_weighted_metrics_zero_tokens() { function test_compute_weighted_metrics_no_cache (line 1054) | fn test_compute_weighted_metrics_no_cache() { function test_set_ccusage_stores_per_type_tokens (line 1079) | fn test_set_ccusage_stores_per_type_tokens() { function test_compute_totals (line 1101) | fn test_compute_totals() { FILE: src/ccusage.rs type CcusageMetrics (line 16) | pub struct CcusageMetrics { type CcusagePeriod (line 33) | pub struct CcusagePeriod { type Granularity (line 40) | pub enum Granularity { type DailyResponse (line 49) | struct DailyResponse { type DailyEntry (line 54) | struct DailyEntry { type WeeklyResponse (line 61) | struct WeeklyResponse { type WeeklyEntry (line 66) | struct WeeklyEntry { type MonthlyResponse (line 73) | struct MonthlyResponse { type MonthlyEntry (line 78) | struct MonthlyEntry { function binary_exists (line 87) | fn binary_exists() -> bool { function build_command (line 92) | fn build_command() -> Option { function is_available (line 116) | pub fn is_available() -> bool { function fetch (line 125) | pub fn fetch(granularity: Granularity) -> Result Result Result { method save (line 148) | pub fn save(&self) -> Result<()> { method create_default (line 160) | pub fn create_default() -> Result { type HooksConfig (line 24) | pub struct HooksConfig { type TrackingConfig (line 32) | pub struct TrackingConfig { method default (line 40) | fn default() -> Self { type DisplayConfig (line 50) | pub struct DisplayConfig { method default (line 57) | fn default() -> Self { type FilterConfig (line 67) | pub struct FilterConfig { method default (line 73) | fn default() -> Self { type TelemetryConfig (line 89) | pub struct TelemetryConfig { method default (line 94) | fn default() -> Self { type LimitsConfig (line 100) | pub struct LimitsConfig { method default (line 114) | fn default() -> Self { function limits (line 126) | pub fn limits() -> LimitsConfig { function telemetry_enabled (line 131) | pub fn telemetry_enabled() -> Option { function get_config_path (line 167) | fn get_config_path() -> Result { function show_config (line 172) | pub fn show_config() -> Result<()> { function test_hooks_config_deserialize (line 195) | fn test_hooks_config_deserialize() { function test_hooks_config_default_empty (line 205) | fn test_hooks_config_default_empty() { function test_config_without_hooks_section_is_valid (line 211) | fn test_config_without_hooks_section_is_valid() { FILE: src/container.rs type ContainerCmd (line 7) | pub enum ContainerCmd { function run (line 16) | pub fn run(cmd: ContainerCmd, args: &[String], verbose: u8) -> Result<()> { function docker_ps (line 27) | fn docker_ps(_verbose: u8) -> Result<()> { function docker_images (line 96) | fn docker_images(_verbose: u8) -> Result<()> { function docker_logs (line 177) | fn docker_logs(args: &[String], _verbose: u8) -> Result<()> { function kubectl_pods (line 220) | fn kubectl_pods(args: &[String], _verbose: u8) -> Result<()> { function kubectl_services (line 327) | fn kubectl_services(args: &[String], _verbose: u8) -> Result<()> { function kubectl_logs (line 407) | fn kubectl_logs(args: &[String], _verbose: u8) -> Result<()> { function format_compose_ps (line 454) | pub fn format_compose_ps(raw: &str) -> String { function format_compose_logs (line 498) | pub fn format_compose_logs(raw: &str) -> String { function format_compose_build (line 510) | pub fn format_compose_build(raw: &str) -> String { function compact_ports (line 566) | fn compact_ports(ports: &str) -> String { function run_docker_passthrough (line 589) | pub fn run_docker_passthrough(args: &[OsString], verbose: u8) -> Result<... function run_compose_ps (line 613) | pub fn run_compose_ps(verbose: u8) -> Result<()> { function run_compose_logs (line 658) | pub fn run_compose_logs(service: Option<&str>, verbose: u8) -> Result<()> { function run_compose_build (line 696) | pub fn run_compose_build(service: Option<&str>, verbose: u8) -> Result<(... function run_compose_passthrough (line 734) | pub fn run_compose_passthrough(args: &[OsString], verbose: u8) -> Result... function run_kubectl_passthrough (line 759) | pub fn run_kubectl_passthrough(args: &[OsString], verbose: u8) -> Result... function test_format_compose_ps_basic (line 789) | fn test_format_compose_ps_basic() { function test_format_compose_ps_empty (line 804) | fn test_format_compose_ps_empty() { function test_format_compose_ps_whitespace_only (line 810) | fn test_format_compose_ps_whitespace_only() { function test_format_compose_ps_exited_service (line 816) | fn test_format_compose_ps_exited_service() { function test_format_compose_ps_no_ports (line 825) | fn test_format_compose_ps_no_ports() { function test_format_compose_ps_long_image_path (line 839) | fn test_format_compose_ps_long_image_path() { function test_format_compose_logs_basic (line 855) | fn test_format_compose_logs_basic() { function test_format_compose_logs_empty (line 866) | fn test_format_compose_logs_empty() { function test_format_compose_build_basic (line 874) | fn test_format_compose_build_basic() { function test_format_compose_build_empty (line 892) | fn test_format_compose_build_empty() { function test_compact_ports_empty (line 903) | fn test_compact_ports_empty() { function test_compact_ports_single (line 908) | fn test_compact_ports_single() { function test_compact_ports_many (line 914) | fn test_compact_ports_many() { FILE: src/curl_cmd.rs function run (line 6) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_curl_output (line 49) | fn filter_curl_output(output: &str) -> String { function test_filter_curl_json (line 90) | fn test_filter_curl_json() { function test_filter_curl_json_array (line 100) | fn test_filter_curl_json_array() { function test_filter_curl_non_json (line 107) | fn test_filter_curl_non_json() { function test_filter_curl_json_small_returns_original (line 115) | fn test_filter_curl_json_small_returns_original() { function test_filter_curl_long_output (line 125) | fn test_filter_curl_long_output() { FILE: src/deps.rs function run (line 8) | pub fn run(path: &Path, verbose: u8) -> Result<()> { function summarize_cargo_str (line 74) | fn summarize_cargo_str(path: &Path) -> Result { function summarize_package_json_str (line 127) | fn summarize_package_json_str(path: &Path) -> Result { function summarize_requirements_str (line 163) | fn summarize_requirements_str(path: &Path) -> Result { function summarize_pyproject_str (line 191) | fn summarize_pyproject_str(path: &Path) -> Result { function summarize_gomod_str (line 227) | fn summarize_gomod_str(path: &Path) -> Result { FILE: src/diff_cmd.rs function run (line 8) | pub fn run(file1: &Path, file2: &Path, verbose: u8) -> Result<()> { function run_stdin (line 69) | pub fn run_stdin(_verbose: u8) -> Result<()> { type DiffChange (line 86) | enum DiffChange { type DiffResult (line 92) | struct DiffResult { function compute_diff (line 99) | fn compute_diff(lines1: &[&str], lines2: &[&str]) -> DiffResult { function similarity (line 145) | fn similarity(a: &str, b: &str) -> f64 { function condense_unified_diff (line 159) | fn condense_unified_diff(diff: &str) -> String { function test_similarity_identical (line 221) | fn test_similarity_identical() { function test_similarity_completely_different (line 226) | fn test_similarity_completely_different() { function test_similarity_empty_strings (line 231) | fn test_similarity_empty_strings() { function test_similarity_partial_overlap (line 237) | fn test_similarity_partial_overlap() { function test_similarity_threshold_for_modified (line 244) | fn test_similarity_threshold_for_modified() { function test_truncate_short_string (line 252) | fn test_truncate_short_string() { function test_truncate_exact_length (line 257) | fn test_truncate_exact_length() { function test_truncate_long_string (line 262) | fn test_truncate_long_string() { function test_compute_diff_identical (line 269) | fn test_compute_diff_identical() { function test_compute_diff_added_lines (line 280) | fn test_compute_diff_added_lines() { function test_compute_diff_removed_lines (line 289) | fn test_compute_diff_removed_lines() { function test_compute_diff_modified_line (line 298) | fn test_compute_diff_modified_line() { function test_compute_diff_completely_different_line (line 309) | fn test_compute_diff_completely_different_line() { function test_compute_diff_empty_inputs (line 320) | fn test_compute_diff_empty_inputs() { function test_condense_unified_diff_single_file (line 330) | fn test_condense_unified_diff_single_file() { function test_condense_unified_diff_multiple_files (line 347) | fn test_condense_unified_diff_multiple_files() { function test_condense_unified_diff_empty (line 363) | fn test_condense_unified_diff_empty() { FILE: src/discover/mod.rs type SupportedBucket (line 17) | struct SupportedBucket { type UnsupportedBucket (line 28) | struct UnsupportedBucket { function run (line 33) | pub fn run( function extract_subcmd (line 255) | fn extract_subcmd(cmd: &str) -> &str { function truncate_command (line 265) | fn truncate_command(cmd: &str) -> String { FILE: src/discover/provider.rs type ExtractedCommand (line 11) | pub struct ExtractedCommand { type SessionProvider (line 30) | pub trait SessionProvider { method discover_sessions (line 31) | fn discover_sessions( method extract_commands (line 36) | fn extract_commands(&self, path: &Path) -> Result>; method discover_sessions (line 63) | fn discover_sessions( method extract_commands (line 124) | fn extract_commands(&self, path: &Path) -> Result Result { method encode_project_path (line 57) | pub fn encode_project_path(path: &str) -> String { function make_jsonl (line 247) | fn make_jsonl(lines: &[&str]) -> tempfile::NamedTempFile { function test_extract_assistant_bash (line 257) | fn test_extract_assistant_bash() { function test_extract_non_bash_ignored (line 275) | fn test_extract_non_bash_ignored() { function test_extract_non_message_ignored (line 286) | fn test_extract_non_message_ignored() { function test_extract_multiple_tools (line 296) | fn test_extract_multiple_tools() { function test_extract_malformed_line (line 309) | fn test_extract_malformed_line() { function test_encode_project_path (line 322) | fn test_encode_project_path() { function test_encode_project_path_trailing_slash (line 330) | fn test_encode_project_path_trailing_slash() { function test_match_project_filter (line 338) | fn test_match_project_filter() { function test_extract_output_content (line 345) | fn test_extract_output_content() { function test_extract_is_error_flag (line 364) | fn test_extract_is_error_flag() { function test_extract_sequence_ordering (line 378) | fn test_extract_sequence_ordering() { FILE: src/discover/registry.rs type Classification (line 8) | pub enum Classification { function category_avg_tokens (line 22) | pub fn category_avg_tokens(category: &str, subcmd: &str) -> usize { function classify_command (line 58) | pub fn classify_command(cmd: &str) -> Classification { function extract_base_command (line 162) | fn extract_base_command(cmd: &str) -> &str { function split_command_chain (line 193) | pub fn split_command_chain(cmd: &str) -> Vec<&str> { function strip_git_global_opts (line 278) | fn strip_git_global_opts(cmd: &str) -> String { function strip_absolute_path (line 290) | fn strip_absolute_path(cmd: &str) -> String { function has_rtk_disabled_prefix (line 312) | pub fn has_rtk_disabled_prefix(cmd: &str) -> bool { function strip_disabled_prefix (line 321) | pub fn strip_disabled_prefix(cmd: &str) -> &str { function rewrite_command (line 337) | pub fn rewrite_command(cmd: &str, excluded: &[String]) -> Option { function rewrite_compound (line 364) | fn rewrite_compound(cmd: &str, excluded: &[String]) -> Option { function rewrite_head_numeric (line 505) | fn rewrite_head_numeric(cmd: &str) -> Option { function rewrite_tail_lines (line 531) | fn rewrite_tail_lines(cmd: &str) -> Option { function rewrite_segment (line 562) | fn rewrite_segment(seg: &str, excluded: &[String]) -> Option { function strip_word_prefix (line 643) | fn strip_word_prefix<'a>(cmd: &'a str, prefix: &str) -> Option<&'a str> { function test_classify_git_status (line 662) | fn test_classify_git_status() { function test_classify_git_diff_cached (line 675) | fn test_classify_git_diff_cached() { function test_classify_cargo_test_filter (line 688) | fn test_classify_cargo_test_filter() { function test_classify_npx_tsc (line 701) | fn test_classify_npx_tsc() { function test_classify_cat_file (line 714) | fn test_classify_cat_file() { function test_classify_cat_redirect_not_supported (line 727) | fn test_classify_cat_redirect_not_supported() { function test_classify_cd_ignored (line 746) | fn test_classify_cd_ignored() { function test_classify_rtk_already (line 751) | fn test_classify_rtk_already() { function test_classify_echo_ignored (line 756) | fn test_classify_echo_ignored() { function test_classify_htop_unsupported (line 764) | fn test_classify_htop_unsupported() { function test_classify_env_prefix_stripped (line 774) | fn test_classify_env_prefix_stripped() { function test_classify_sudo_stripped (line 787) | fn test_classify_sudo_stripped() { function test_classify_cargo_check (line 800) | fn test_classify_cargo_check() { function test_classify_cargo_check_all_targets (line 813) | fn test_classify_cargo_check_all_targets() { function test_classify_cargo_fmt_passthrough (line 826) | fn test_classify_cargo_fmt_passthrough() { function test_classify_cargo_clippy_savings (line 839) | fn test_classify_cargo_clippy_savings() { function test_patterns_rules_length_match (line 852) | fn test_patterns_rules_length_match() { function test_registry_covers_all_cargo_subcommands (line 861) | fn test_registry_covers_all_cargo_subcommands() { function test_registry_covers_all_git_subcommands (line 874) | fn test_registry_covers_all_git_subcommands() { function test_classify_find_not_blocked_by_fi (line 889) | fn test_classify_find_not_blocked_by_fi() { function test_fi_still_ignored_exact (line 904) | fn test_fi_still_ignored_exact() { function test_done_still_ignored_exact (line 910) | fn test_done_still_ignored_exact() { function test_split_chain_and (line 916) | fn test_split_chain_and() { function test_split_chain_semicolon (line 921) | fn test_split_chain_semicolon() { function test_split_pipe_first_only (line 926) | fn test_split_pipe_first_only() { function test_split_single (line 931) | fn test_split_single() { function test_split_quoted_and (line 936) | fn test_split_quoted_and() { function test_split_heredoc_no_split (line 944) | fn test_split_heredoc_no_split() { function test_classify_mypy (line 950) | fn test_classify_mypy() { function test_classify_python_m_mypy (line 963) | fn test_classify_python_m_mypy() { function test_rewrite_git_status (line 978) | fn test_rewrite_git_status() { function test_rewrite_git_log (line 986) | fn test_rewrite_git_log() { function test_rewrite_git_dash_c_status (line 996) | fn test_rewrite_git_dash_c_status() { function test_rewrite_git_dash_c_log (line 1004) | fn test_rewrite_git_dash_c_log() { function test_rewrite_git_dash_c_diff (line 1012) | fn test_rewrite_git_dash_c_diff() { function test_classify_git_dash_c (line 1020) | fn test_classify_git_dash_c() { function test_rewrite_cargo_test (line 1036) | fn test_rewrite_cargo_test() { function test_rewrite_compound_and (line 1044) | fn test_rewrite_compound_and() { function test_rewrite_compound_three_segments (line 1052) | fn test_rewrite_compound_three_segments() { function test_rewrite_already_rtk (line 1063) | fn test_rewrite_already_rtk() { function test_rewrite_background_single_amp (line 1071) | fn test_rewrite_background_single_amp() { function test_rewrite_background_unsupported_right (line 1079) | fn test_rewrite_background_unsupported_right() { function test_rewrite_background_does_not_affect_double_amp (line 1087) | fn test_rewrite_background_does_not_affect_double_amp() { function test_rewrite_unsupported_returns_none (line 1096) | fn test_rewrite_unsupported_returns_none() { function test_rewrite_ignored_cd (line 1101) | fn test_rewrite_ignored_cd() { function test_rewrite_with_env_prefix (line 1106) | fn test_rewrite_with_env_prefix() { function test_rewrite_npx_tsc (line 1114) | fn test_rewrite_npx_tsc() { function test_rewrite_pnpm_tsc (line 1122) | fn test_rewrite_pnpm_tsc() { function test_rewrite_cat_file (line 1130) | fn test_rewrite_cat_file() { function test_rewrite_rg_pattern (line 1138) | fn test_rewrite_rg_pattern() { function test_rewrite_npx_playwright (line 1146) | fn test_rewrite_npx_playwright() { function test_rewrite_next_build (line 1154) | fn test_rewrite_next_build() { function test_rewrite_pipe_first_only (line 1162) | fn test_rewrite_pipe_first_only() { function test_rewrite_find_pipe_skipped (line 1171) | fn test_rewrite_find_pipe_skipped() { function test_rewrite_find_pipe_xargs_wc (line 1181) | fn test_rewrite_find_pipe_xargs_wc() { function test_rewrite_find_no_pipe_still_rewritten (line 1186) | fn test_rewrite_find_no_pipe_still_rewritten() { function test_rewrite_heredoc_returns_none (line 1195) | fn test_rewrite_heredoc_returns_none() { function test_rewrite_empty_returns_none (line 1200) | fn test_rewrite_empty_returns_none() { function test_rewrite_mixed_compound_partial (line 1206) | fn test_rewrite_mixed_compound_partial() { function test_rewrite_rtk_disabled_curl (line 1217) | fn test_rewrite_rtk_disabled_curl() { function test_rewrite_rtk_disabled_git_status (line 1225) | fn test_rewrite_rtk_disabled_git_status() { function test_rewrite_rtk_disabled_multi_env (line 1230) | fn test_rewrite_rtk_disabled_multi_env() { function test_rewrite_non_rtk_disabled_env_still_rewrites (line 1238) | fn test_rewrite_non_rtk_disabled_env_still_rewrites() { function test_rewrite_redirect_2_gt_amp_1_with_pipe (line 1248) | fn test_rewrite_redirect_2_gt_amp_1_with_pipe() { function test_rewrite_redirect_2_gt_amp_1_trailing (line 1256) | fn test_rewrite_redirect_2_gt_amp_1_trailing() { function test_rewrite_redirect_plain_2_devnull (line 1264) | fn test_rewrite_redirect_plain_2_devnull() { function test_rewrite_redirect_2_gt_amp_1_with_and (line 1273) | fn test_rewrite_redirect_2_gt_amp_1_with_and() { function test_rewrite_redirect_amp_gt_devnull (line 1281) | fn test_rewrite_redirect_amp_gt_devnull() { function test_rewrite_background_amp_non_regression (line 1289) | fn test_rewrite_background_amp_non_regression() { function test_rewrite_head_numeric_flag (line 1300) | fn test_rewrite_head_numeric_flag() { function test_rewrite_head_lines_long_flag (line 1309) | fn test_rewrite_head_lines_long_flag() { function test_rewrite_head_no_flag_still_rewrites (line 1317) | fn test_rewrite_head_no_flag_still_rewrites() { function test_rewrite_head_other_flag_skipped (line 1326) | fn test_rewrite_head_other_flag_skipped() { function test_rewrite_tail_numeric_flag (line 1332) | fn test_rewrite_tail_numeric_flag() { function test_rewrite_tail_n_space_flag (line 1340) | fn test_rewrite_tail_n_space_flag() { function test_rewrite_tail_lines_long_flag (line 1348) | fn test_rewrite_tail_lines_long_flag() { function test_rewrite_tail_lines_space_flag (line 1356) | fn test_rewrite_tail_lines_space_flag() { function test_rewrite_tail_other_flag_skipped (line 1364) | fn test_rewrite_tail_other_flag_skipped() { function test_rewrite_tail_plain_file_skipped (line 1369) | fn test_rewrite_tail_plain_file_skipped() { function test_classify_gh_release (line 1376) | fn test_classify_gh_release() { function test_classify_cargo_install (line 1387) | fn test_classify_cargo_install() { function test_classify_docker_run (line 1398) | fn test_classify_docker_run() { function test_classify_docker_exec (line 1409) | fn test_classify_docker_exec() { function test_classify_docker_build (line 1420) | fn test_classify_docker_build() { function test_classify_kubectl_describe (line 1431) | fn test_classify_kubectl_describe() { function test_classify_kubectl_apply (line 1442) | fn test_classify_kubectl_apply() { function test_classify_tree (line 1453) | fn test_classify_tree() { function test_classify_diff (line 1464) | fn test_classify_diff() { function test_rewrite_tree (line 1475) | fn test_rewrite_tree() { function test_rewrite_diff (line 1483) | fn test_rewrite_diff() { function test_rewrite_gh_release (line 1491) | fn test_rewrite_gh_release() { function test_rewrite_cargo_install (line 1499) | fn test_rewrite_cargo_install() { function test_rewrite_kubectl_describe (line 1507) | fn test_rewrite_kubectl_describe() { function test_rewrite_docker_run (line 1515) | fn test_rewrite_docker_run() { function test_rewrite_docker_compose_ps (line 1525) | fn test_rewrite_docker_compose_ps() { function test_rewrite_docker_compose_logs (line 1533) | fn test_rewrite_docker_compose_logs() { function test_rewrite_docker_compose_build (line 1541) | fn test_rewrite_docker_compose_build() { function test_rewrite_docker_compose_up_skipped (line 1549) | fn test_rewrite_docker_compose_up_skipped() { function test_rewrite_docker_compose_down_skipped (line 1554) | fn test_rewrite_docker_compose_down_skipped() { function test_rewrite_docker_compose_config_skipped (line 1559) | fn test_rewrite_docker_compose_config_skipped() { function test_classify_aws (line 1569) | fn test_classify_aws() { function test_classify_aws_ec2 (line 1580) | fn test_classify_aws_ec2() { function test_classify_psql (line 1591) | fn test_classify_psql() { function test_classify_psql_url (line 1602) | fn test_classify_psql_url() { function test_rewrite_aws (line 1613) | fn test_rewrite_aws() { function test_rewrite_aws_ec2 (line 1621) | fn test_rewrite_aws_ec2() { function test_rewrite_psql (line 1629) | fn test_rewrite_psql() { function test_classify_ruff_check (line 1639) | fn test_classify_ruff_check() { function test_classify_ruff_format (line 1650) | fn test_classify_ruff_format() { function test_classify_pytest (line 1661) | fn test_classify_pytest() { function test_classify_python_m_pytest (line 1672) | fn test_classify_python_m_pytest() { function test_classify_pip_list (line 1683) | fn test_classify_pip_list() { function test_classify_uv_pip_list (line 1694) | fn test_classify_uv_pip_list() { function test_rewrite_ruff_check (line 1705) | fn test_rewrite_ruff_check() { function test_rewrite_ruff_format (line 1713) | fn test_rewrite_ruff_format() { function test_rewrite_pytest (line 1721) | fn test_rewrite_pytest() { function test_rewrite_python_m_pytest (line 1729) | fn test_rewrite_python_m_pytest() { function test_rewrite_pip_list (line 1737) | fn test_rewrite_pip_list() { function test_rewrite_pip_outdated (line 1745) | fn test_rewrite_pip_outdated() { function test_rewrite_uv_pip_list (line 1753) | fn test_rewrite_uv_pip_list() { function test_classify_go_test (line 1763) | fn test_classify_go_test() { function test_classify_go_build (line 1774) | fn test_classify_go_build() { function test_classify_go_vet (line 1785) | fn test_classify_go_vet() { function test_classify_golangci_lint (line 1796) | fn test_classify_golangci_lint() { function test_rewrite_go_test (line 1807) | fn test_rewrite_go_test() { function test_rewrite_go_build (line 1815) | fn test_rewrite_go_build() { function test_rewrite_go_vet (line 1823) | fn test_rewrite_go_vet() { function test_rewrite_golangci_lint (line 1831) | fn test_rewrite_golangci_lint() { function test_classify_vitest (line 1841) | fn test_classify_vitest() { function test_rewrite_vitest (line 1852) | fn test_rewrite_vitest() { function test_rewrite_pnpm_vitest (line 1860) | fn test_rewrite_pnpm_vitest() { function test_classify_prisma (line 1868) | fn test_classify_prisma() { function test_rewrite_prisma (line 1879) | fn test_rewrite_prisma() { function test_rewrite_prettier (line 1887) | fn test_rewrite_prettier() { function test_rewrite_pnpm_list (line 1895) | fn test_rewrite_pnpm_list() { function test_rewrite_compound_or (line 1905) | fn test_rewrite_compound_or() { function test_rewrite_compound_semicolon (line 1914) | fn test_rewrite_compound_semicolon() { function test_rewrite_compound_pipe_raw_filter (line 1922) | fn test_rewrite_compound_pipe_raw_filter() { function test_rewrite_compound_pipe_git_grep (line 1931) | fn test_rewrite_compound_pipe_git_grep() { function test_rewrite_compound_four_segments (line 1939) | fn test_rewrite_compound_four_segments() { function test_rewrite_compound_mixed_supported_unsupported (line 1953) | fn test_rewrite_compound_mixed_supported_unsupported() { function test_rewrite_compound_all_unsupported_returns_none (line 1962) | fn test_rewrite_compound_all_unsupported_returns_none() { function test_rewrite_sudo_docker (line 1970) | fn test_rewrite_sudo_docker() { function test_rewrite_env_var_prefix (line 1978) | fn test_rewrite_env_var_prefix() { function test_rewrite_find_with_flags (line 1988) | fn test_rewrite_find_with_flags() { function test_patterns_rules_aligned_after_aws_psql (line 1998) | fn test_patterns_rules_aligned_after_aws_psql() { function test_all_rules_have_valid_rtk_cmd (line 2012) | fn test_all_rules_have_valid_rtk_cmd() { function test_rewrite_excludes_curl (line 2031) | fn test_rewrite_excludes_curl() { function test_rewrite_exclude_does_not_affect_other_commands (line 2040) | fn test_rewrite_exclude_does_not_affect_other_commands() { function test_rewrite_empty_excludes_rewrites_curl (line 2049) | fn test_rewrite_empty_excludes_rewrites_curl() { function test_rewrite_compound_partial_exclude (line 2055) | fn test_rewrite_compound_partial_exclude() { function test_all_patterns_are_valid_regex (line 2067) | fn test_all_patterns_are_valid_regex() { function test_rewrite_gh_json_skipped (line 2080) | fn test_rewrite_gh_json_skipped() { function test_rewrite_gh_jq_skipped (line 2085) | fn test_rewrite_gh_jq_skipped() { function test_rewrite_gh_template_skipped (line 2093) | fn test_rewrite_gh_template_skipped() { function test_rewrite_gh_api_json_skipped (line 2101) | fn test_rewrite_gh_api_json_skipped() { function test_rewrite_gh_without_json_still_works (line 2109) | fn test_rewrite_gh_without_json_still_works() { function test_has_rtk_disabled_prefix (line 2119) | fn test_has_rtk_disabled_prefix() { function test_strip_disabled_prefix (line 2131) | fn test_strip_disabled_prefix() { function test_classify_absolute_path_grep (line 2146) | fn test_classify_absolute_path_grep() { function test_classify_absolute_path_ls (line 2159) | fn test_classify_absolute_path_ls() { function test_classify_absolute_path_git (line 2172) | fn test_classify_absolute_path_git() { function test_classify_absolute_path_no_args (line 2185) | fn test_classify_absolute_path_no_args() { function test_strip_absolute_path_helper (line 2199) | fn test_strip_absolute_path_helper() { function test_classify_git_with_dash_c_path (line 2209) | fn test_classify_git_with_dash_c_path() { function test_classify_git_no_pager_log (line 2222) | fn test_classify_git_no_pager_log() { function test_classify_git_git_dir (line 2235) | fn test_classify_git_git_dir() { function test_rewrite_git_dash_c (line 2248) | fn test_rewrite_git_dash_c() { function test_rewrite_git_no_pager (line 2256) | fn test_rewrite_git_no_pager() { function test_strip_git_global_opts_helper (line 2264) | fn test_strip_git_global_opts_helper() { FILE: src/discover/report.rs type RtkStatus (line 5) | pub enum RtkStatus { method as_str (line 15) | pub fn as_str(&self) -> &'static str { type SupportedEntry (line 26) | pub struct SupportedEntry { type UnsupportedEntry (line 38) | pub struct UnsupportedEntry { type DiscoverReport (line 46) | pub struct DiscoverReport { method total_saveable_tokens (line 59) | pub fn total_saveable_tokens(&self) -> usize { method total_supported_count (line 66) | pub fn total_supported_count(&self) -> usize { function format_text (line 72) | pub fn format_text(report: &DiscoverReport, limit: usize, verbose: bool)... function format_json (line 184) | pub fn format_json(report: &DiscoverReport) -> String { function format_tokens (line 188) | fn format_tokens(tokens: usize) -> String { function truncate_str (line 198) | fn truncate_str(s: &str, max: usize) -> String { FILE: src/discover/rules.rs type RtkRule (line 4) | pub struct RtkRule { constant PATTERNS (line 15) | pub const PATTERNS: &[&str] = &[ constant RULES (line 86) | pub const RULES: &[RtkRule] = &[ constant IGNORED_PREFIXES (line 613) | pub const IGNORED_PREFIXES: &[&str] = &[ constant IGNORED_EXACT (line 665) | pub const IGNORED_EXACT: &[&str] = &[ FILE: src/display_helpers.rs function format_duration (line 10) | pub fn format_duration(ms: u64) -> String { type PeriodStats (line 23) | pub trait PeriodStats { method icon (line 25) | fn icon() -> &'static str; method label (line 28) | fn label() -> &'static str; method period (line 31) | fn period(&self) -> String; method commands (line 34) | fn commands(&self) -> usize; method input_tokens (line 37) | fn input_tokens(&self) -> usize; method output_tokens (line 40) | fn output_tokens(&self) -> usize; method saved_tokens (line 43) | fn saved_tokens(&self) -> usize; method savings_pct (line 46) | fn savings_pct(&self) -> f64; method total_time_ms (line 49) | fn total_time_ms(&self) -> u64; method avg_time_ms (line 52) | fn avg_time_ms(&self) -> u64; method period_width (line 55) | fn period_width() -> usize; method separator_width (line 58) | fn separator_width() -> usize; method icon (line 145) | fn icon() -> &'static str { method label (line 149) | fn label() -> &'static str { method period (line 153) | fn period(&self) -> String { method commands (line 157) | fn commands(&self) -> usize { method input_tokens (line 161) | fn input_tokens(&self) -> usize { method output_tokens (line 165) | fn output_tokens(&self) -> usize { method saved_tokens (line 169) | fn saved_tokens(&self) -> usize { method savings_pct (line 173) | fn savings_pct(&self) -> f64 { method total_time_ms (line 177) | fn total_time_ms(&self) -> u64 { method avg_time_ms (line 181) | fn avg_time_ms(&self) -> u64 { method period_width (line 185) | fn period_width() -> usize { method separator_width (line 189) | fn separator_width() -> usize { method icon (line 195) | fn icon() -> &'static str { method label (line 199) | fn label() -> &'static str { method period (line 203) | fn period(&self) -> String { method commands (line 217) | fn commands(&self) -> usize { method input_tokens (line 221) | fn input_tokens(&self) -> usize { method output_tokens (line 225) | fn output_tokens(&self) -> usize { method saved_tokens (line 229) | fn saved_tokens(&self) -> usize { method savings_pct (line 233) | fn savings_pct(&self) -> f64 { method total_time_ms (line 237) | fn total_time_ms(&self) -> u64 { method avg_time_ms (line 241) | fn avg_time_ms(&self) -> u64 { method period_width (line 245) | fn period_width() -> usize { method separator_width (line 249) | fn separator_width() -> usize { method icon (line 255) | fn icon() -> &'static str { method label (line 259) | fn label() -> &'static str { method period (line 263) | fn period(&self) -> String { method commands (line 267) | fn commands(&self) -> usize { method input_tokens (line 271) | fn input_tokens(&self) -> usize { method output_tokens (line 275) | fn output_tokens(&self) -> usize { method saved_tokens (line 279) | fn saved_tokens(&self) -> usize { method savings_pct (line 283) | fn savings_pct(&self) -> f64 { method total_time_ms (line 287) | fn total_time_ms(&self) -> u64 { method avg_time_ms (line 291) | fn avg_time_ms(&self) -> u64 { method period_width (line 295) | fn period_width() -> usize { method separator_width (line 299) | fn separator_width() -> usize { function print_period_table (line 62) | pub fn print_period_table(data: &[T]) { function test_day_stats_trait (line 309) | fn test_day_stats_trait() { function test_week_stats_trait (line 330) | fn test_week_stats_trait() { function test_month_stats_trait (line 350) | fn test_month_stats_trait() { function test_print_period_table_empty (line 369) | fn test_print_period_table_empty() { function test_print_period_table_with_data (line 376) | fn test_print_period_table_with_data() { FILE: src/dotnet_cmd.rs constant DOTNET_CLI_UI_LANGUAGE (line 12) | const DOTNET_CLI_UI_LANGUAGE: &str = "DOTNET_CLI_UI_LANGUAGE"; constant DOTNET_CLI_UI_LANGUAGE_VALUE (line 13) | const DOTNET_CLI_UI_LANGUAGE_VALUE: &str = "en-US"; function run_build (line 16) | pub fn run_build(args: &[String], verbose: u8) -> Result<()> { function run_test (line 20) | pub fn run_test(args: &[String], verbose: u8) -> Result<()> { function run_restore (line 24) | pub fn run_restore(args: &[String], verbose: u8) -> Result<()> { function run_format (line 28) | pub fn run_format(args: &[String], verbose: u8) -> Result<()> { function run_passthrough (line 74) | pub fn run_passthrough(args: &[OsString], verbose: u8) -> Result<()> { function run_dotnet_with_binlog (line 118) | fn run_dotnet_with_binlog(subcommand: &str, args: &[String], verbose: u8... function build_binlog_path (line 266) | fn build_binlog_path(subcommand: &str) -> PathBuf { function build_trx_results_dir (line 274) | fn build_trx_results_dir() -> PathBuf { function unique_temp_suffix (line 278) | fn unique_temp_suffix() -> String { function resolve_trx_results_dir (line 290) | fn resolve_trx_results_dir(subcommand: &str, args: &[String]) -> (Option... function build_format_report_path (line 302) | fn build_format_report_path() -> PathBuf { function resolve_format_report_path (line 306) | fn resolve_format_report_path(args: &[String]) -> (Option, bool) { function build_effective_dotnet_format_args (line 314) | fn build_effective_dotnet_format_args(args: &[String], report_path: Opti... function format_report_summary_or_raw (line 336) | fn format_report_summary_or_raw( function is_fresh_report (line 356) | fn is_fresh_report(path: &Path, command_started_at: SystemTime) -> bool { function format_dotnet_format_output (line 368) | fn format_dotnet_format_output( function cleanup_temp_file (line 419) | fn cleanup_temp_file(path: &Path) { function cleanup_temp_dir (line 425) | fn cleanup_temp_dir(path: &Path) { function merge_test_summary_from_trx (line 431) | fn merge_test_summary_from_trx( function build_effective_dotnet_args (line 479) | fn build_effective_dotnet_args( function has_binlog_arg (line 517) | fn has_binlog_arg(args: &[String]) -> bool { function has_verbosity_arg (line 524) | fn has_verbosity_arg(args: &[String]) -> bool { function has_nologo_arg (line 536) | fn has_nologo_arg(args: &[String]) -> bool { function has_trx_logger_arg (line 541) | fn has_trx_logger_arg(args: &[String]) -> bool { function has_results_directory_arg (line 567) | fn has_results_directory_arg(args: &[String]) -> bool { function has_report_arg (line 574) | fn has_report_arg(args: &[String]) -> bool { function extract_report_arg (line 581) | fn extract_report_arg(args: &[String]) -> Option { function has_verify_no_changes_arg (line 605) | fn has_verify_no_changes_arg(args: &[String]) -> bool { function has_write_mode_override (line 612) | fn has_write_mode_override(args: &[String]) -> bool { function extract_results_directory_arg (line 616) | fn extract_results_directory_arg(args: &[String]) -> Option { function normalize_build_summary (line 640) | fn normalize_build_summary( function merge_build_summaries (line 654) | fn merge_build_summaries( function normalize_test_summary (line 675) | fn normalize_test_summary( function merge_test_summaries (line 693) | fn merge_test_summaries( function normalize_restore_summary (line 719) | fn normalize_restore_summary( function merge_restore_summaries (line 730) | fn merge_restore_summaries( function format_issue (line 750) | fn format_issue(issue: &binlog::BinlogIssue, kind: &str) -> String { function format_build_output (line 775) | fn format_build_output(summary: &binlog::BuildSummary, _binlog_path: &Pa... function format_test_output (line 818) | fn format_test_output( function format_restore_output (line 898) | fn format_restore_output( function build_dotnet_args_for_test (line 944) | fn build_dotnet_args_for_test( function trx_with_counts (line 959) | fn trx_with_counts(total: usize, passed: usize, failed: usize) -> String { function format_fixture (line 971) | fn format_fixture(name: &str) -> PathBuf { function test_has_binlog_arg_detects_variants (line 980) | fn test_has_binlog_arg_detects_variants() { function test_format_build_output_includes_errors_and_warnings (line 992) | fn test_format_build_output_includes_errors_and_warnings() { function test_format_test_output_shows_failures (line 1020) | fn test_format_test_output_shows_failures() { function test_format_test_output_surfaces_warnings (line 1040) | fn test_format_test_output_surfaces_warnings() { function test_format_test_output_surfaces_errors (line 1066) | fn test_format_test_output_surfaces_errors() { function test_format_restore_output_success (line 1095) | fn test_format_restore_output_success() { function test_format_restore_output_failure (line 1110) | fn test_format_restore_output_failure() { function test_format_restore_output_includes_error_details (line 1124) | fn test_format_restore_output_includes_error_details() { function test_format_test_output_handles_binlog_only_without_counts (line 1148) | fn test_format_test_output_handles_binlog_only_without_counts() { function test_normalize_build_summary_sets_success_floor (line 1164) | fn test_normalize_build_summary_sets_success_floor() { function test_merge_build_summaries_keeps_structured_issues_when_present (line 1179) | fn test_merge_build_summaries_keeps_structured_issues_when_present() { function test_merge_build_summaries_keeps_binlog_when_context_is_good (line 1226) | fn test_merge_build_summaries_keeps_binlog_when_context_is_good() { function test_normalize_test_summary_sets_failure_floor (line 1260) | fn test_normalize_test_summary_sets_failure_floor() { function test_merge_test_summaries_keeps_structured_counts_and_fills_failed_tests (line 1277) | fn test_merge_test_summaries_keeps_structured_counts_and_fills_failed_te... function test_normalize_restore_summary_sets_error_floor_on_failed_command (line 1312) | fn test_normalize_restore_summary_sets_error_floor_on_failed_command() { function test_merge_restore_summaries_prefers_raw_error_count (line 1325) | fn test_merge_restore_summaries_prefers_raw_error_count() { function test_forwarding_args_with_spaces (line 1346) | fn test_forwarding_args_with_spaces() { function test_forwarding_config_and_framework (line 1362) | fn test_forwarding_config_and_framework() { function test_forwarding_project_file (line 1378) | fn test_forwarding_project_file() { function test_forwarding_no_build_and_no_restore (line 1390) | fn test_forwarding_no_build_and_no_restore() { function test_user_verbose_override (line 1399) | fn test_user_verbose_override() { function test_user_long_verbosity_override (line 1410) | fn test_user_long_verbosity_override() { function test_test_subcommand_does_not_inject_minimal_verbosity_by_default (line 1420) | fn test_test_subcommand_does_not_inject_minimal_verbosity_by_default() { function test_user_logger_override (line 1428) | fn test_user_logger_override() { function test_trx_logger_and_results_directory_injected (line 1442) | fn test_trx_logger_and_results_directory_injected() { function test_user_trx_logger_does_not_duplicate (line 1453) | fn test_user_trx_logger_does_not_duplicate() { function test_user_results_directory_prevents_extra_injection (line 1462) | fn test_user_results_directory_prevents_extra_injection() { function test_merge_test_summary_from_trx_uses_primary_and_cleans_file (line 1478) | fn test_merge_test_summary_from_trx_uses_primary_and_cleans_file() { function test_merge_test_summary_from_trx_falls_back_to_testresults (line 1496) | fn test_merge_test_summary_from_trx_falls_back_to_testresults() { function test_merge_test_summary_from_trx_returns_default_when_no_trx (line 1515) | fn test_merge_test_summary_from_trx_returns_default_when_no_trx() { function test_merge_test_summary_from_trx_ignores_stale_fallback_file (line 1529) | fn test_merge_test_summary_from_trx_ignores_stale_fallback_file() { function test_merge_test_summary_from_trx_keeps_larger_existing_counts (line 1549) | fn test_merge_test_summary_from_trx_keeps_larger_existing_counts() { function test_merge_test_summary_from_trx_overrides_smaller_existing_counts (line 1572) | fn test_merge_test_summary_from_trx_overrides_smaller_existing_counts() { function test_merge_test_summary_from_trx_uses_larger_project_count (line 1595) | fn test_merge_test_summary_from_trx_uses_larger_project_count() { function test_has_results_directory_arg_detects_variants (line 1618) | fn test_has_results_directory_arg_detects_variants() { function test_extract_results_directory_arg_detects_variants (line 1630) | fn test_extract_results_directory_arg_detects_variants() { function test_resolve_trx_results_dir_user_directory_is_not_marked_for_cleanup (line 1645) | fn test_resolve_trx_results_dir_user_directory_is_not_marked_for_cleanup... function test_resolve_trx_results_dir_generated_directory_is_marked_for_cleanup (line 1657) | fn test_resolve_trx_results_dir_generated_directory_is_marked_for_cleanu... function test_format_all_formatted (line 1666) | fn test_format_all_formatted() { function test_format_needs_formatting (line 1676) | fn test_format_needs_formatting() { function test_format_temp_file_cleanup (line 1688) | fn test_format_temp_file_cleanup() { function test_format_user_report_arg_no_cleanup (line 1700) | fn test_format_user_report_arg_no_cleanup() { function test_format_preserves_positional_project_argument_order (line 1715) | fn test_format_preserves_positional_project_argument_order() { function test_format_report_summary_ignores_stale_report_file (line 1727) | fn test_format_report_summary_ignores_stale_report_file() { function test_format_report_summary_uses_fresh_report_file (line 1742) | fn test_format_report_summary_uses_fresh_report_file() { function test_cleanup_temp_file_removes_existing_file (line 1751) | fn test_cleanup_temp_file_removes_existing_file() { function test_cleanup_temp_file_ignores_missing_file (line 1762) | fn test_cleanup_temp_file_ignores_missing_file() { FILE: src/dotnet_format_report.rs type FormatReportEntry (line 9) | struct FormatReportEntry { type FileChange (line 17) | struct FileChange { type ChangeDetail (line 25) | pub struct ChangeDetail { type FileWithChanges (line 33) | pub struct FileWithChanges { type FormatSummary (line 39) | pub struct FormatSummary { function parse_format_report (line 45) | pub fn parse_format_report(path: &Path) -> Result { function fixture (line 97) | fn fixture(name: &str) -> PathBuf { function test_parse_format_report_all_formatted (line 106) | fn test_parse_format_report_all_formatted() { function test_parse_format_report_with_changes (line 115) | fn test_parse_format_report_with_changes() { function test_parse_format_report_empty (line 126) | fn test_parse_format_report_empty() { FILE: src/dotnet_trx.rs function local_name (line 8) | fn local_name(name: &[u8]) -> &[u8] { function extract_attr_value (line 12) | fn extract_attr_value( function parse_usize_attr (line 30) | fn parse_usize_attr(reader: &Reader<&[u8]>, start: &BytesStart<'_>, key:... function parse_trx_duration (line 36) | fn parse_trx_duration(start: &str, finish: &str) -> Option { function format_duration_between (line 42) | fn format_duration_between( function parse_trx_time_bounds (line 60) | fn parse_trx_time_bounds(content: &str) -> Option<(DateTime... function parse_trx_file (line 92) | pub fn parse_trx_file(path: &Path) -> Option { function parse_trx_file_since (line 97) | pub fn parse_trx_file_since(path: &Path, since: SystemTime) -> Option Option { function parse_trx_files_in_dir_since (line 110) | pub fn parse_trx_files_in_dir_since(dir: &Path, since: Option Option { function find_recent_trx_in_dir (line 181) | fn find_recent_trx_in_dir(dir: &Path) -> Option { function parse_trx_content (line 205) | fn parse_trx_content(content: &str) -> Option { function test_parse_trx_content_extracts_passed_counts (line 397) | fn test_parse_trx_content_extracts_passed_counts() { function test_parse_trx_content_extracts_failed_tests_with_details (line 415) | fn test_parse_trx_content_extracts_failed_tests_with_details() { function test_parse_trx_content_extracts_counters_when_attribute_order_varies (line 441) | fn test_parse_trx_content_extracts_counters_when_attribute_order_varies() { function test_parse_trx_content_extracts_failed_tests_when_attribute_order_varies (line 456) | fn test_parse_trx_content_extracts_failed_tests_when_attribute_order_var... function test_parse_trx_content_returns_none_for_invalid_xml (line 482) | fn test_parse_trx_content_returns_none_for_invalid_xml() { function test_find_recent_trx_in_dir_returns_none_when_missing (line 488) | fn test_find_recent_trx_in_dir_returns_none_when_missing() { function test_find_recent_trx_in_dir_picks_newest_trx (line 497) | fn test_find_recent_trx_in_dir_picks_newest_trx() { function test_find_recent_trx_in_dir_ignores_non_trx_files (line 513) | fn test_find_recent_trx_in_dir_ignores_non_trx_files() { function test_parse_trx_files_in_dir_aggregates_counts_and_wall_clock_duration (line 526) | fn test_parse_trx_files_in_dir_aggregates_counts_and_wall_clock_duration... function test_parse_trx_files_in_dir_since_ignores_older_files (line 558) | fn test_parse_trx_files_in_dir_since_ignores_older_files() { function test_parse_trx_files_in_dir_since_handles_uppercase_extension (line 580) | fn test_parse_trx_files_in_dir_since_handles_uppercase_extension() { FILE: src/env_cmd.rs function run (line 7) | pub fn run(filter: Option<&str>, show_all: bool, verbose: u8) -> Result<... function get_sensitive_patterns (line 130) | fn get_sensitive_patterns() -> HashSet<&'static str> { function mask_value (line 146) | fn mask_value(value: &str) -> String { function is_lang_var (line 157) | fn is_lang_var(key: &str) -> bool { function is_cloud_var (line 165) | fn is_cloud_var(key: &str) -> bool { function is_tool_var (line 183) | fn is_tool_var(key: &str) -> bool { function is_interesting_var (line 201) | fn is_interesting_var(key: &str) -> bool { FILE: src/filter.rs type FilterLevel (line 6) | pub enum FilterLevel { method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Err (line 13) | type Err = String; method from_str (line 15) | fn from_str(s: &str) -> Result { type FilterStrategy (line 35) | pub trait FilterStrategy { method filter (line 36) | fn filter(&self, content: &str, lang: &Language) -> String; method name (line 38) | fn name(&self) -> &'static str; method filter (line 151) | fn filter(&self, content: &str, _lang: &Language) -> String { method name (line 155) | fn name(&self) -> &'static str { method filter (line 168) | fn filter(&self, content: &str, lang: &Language) -> String { method name (line 236) | fn name(&self) -> &'static str { method filter (line 253) | fn filter(&self, content: &str, lang: &Language) -> String { method name (line 322) | fn name(&self) -> &'static str { type Language (line 42) | pub enum Language { method from_extension (line 59) | pub fn from_extension(ext: &str) -> Self { method comment_patterns (line 79) | pub fn comment_patterns(&self) -> CommentPatterns { type CommentPatterns (line 140) | pub struct CommentPatterns { type NoFilter (line 148) | pub struct NoFilter; type MinimalFilter (line 160) | pub struct MinimalFilter; type AggressiveFilter (line 241) | pub struct AggressiveFilter; function get_filter (line 327) | pub fn get_filter(level: FilterLevel) -> Box { function smart_truncate (line 335) | pub fn smart_truncate(content: &str, max_lines: usize, _lang: &Language)... function test_filter_level_parsing (line 391) | fn test_filter_level_parsing() { function test_language_detection (line 404) | fn test_language_detection() { function test_language_detection_data_formats (line 411) | fn test_language_detection_data_formats() { function test_json_no_comment_stripping (line 423) | fn test_json_no_comment_stripping() { function test_json_aggressive_filter_preserves_structure (line 463) | fn test_json_aggressive_filter_preserves_structure() { function test_minimal_filter_removes_comments (line 482) | fn test_minimal_filter_removes_comments() { FILE: src/find_cmd.rs function glob_match (line 8) | fn glob_match(pattern: &str, name: &str) -> bool { function glob_match_inner (line 12) | fn glob_match_inner(pat: &[u8], name: &[u8]) -> bool { type FindArgs (line 28) | struct FindArgs { method default (line 38) | fn default() -> Self { function next_arg (line 52) | fn next_arg(args: &[String], i: &mut usize) -> Option { function has_native_find_flags (line 58) | fn has_native_find_flags(args: &[String]) -> bool { constant UNSUPPORTED_FIND_FLAGS (line 65) | const UNSUPPORTED_FIND_FLAGS: &[&str] = &[ function has_unsupported_find_flags (line 71) | fn has_unsupported_find_flags(args: &[String]) -> bool { function parse_find_args (line 80) | fn parse_find_args(args: &[String]) -> Result { function parse_native_find_args (line 99) | fn parse_native_find_args(args: &[String]) -> Result { function parse_rtk_find_args (line 144) | fn parse_rtk_find_args(args: &[String]) -> Result { function run_from_args (line 178) | pub fn run_from_args(args: &[String], verbose: u8) -> Result<()> { function run (line 191) | pub fn run( function args (line 386) | fn args(values: &[&str]) -> Vec { function glob_match_star_rs (line 393) | fn glob_match_star_rs() { function glob_match_star_all (line 401) | fn glob_match_star_all() { function glob_match_question_mark (line 408) | fn glob_match_question_mark() { function glob_match_exact (line 414) | fn glob_match_exact() { function glob_match_complex (line 420) | fn glob_match_complex() { function dot_becomes_star (line 429) | fn dot_becomes_star() { function parse_native_find_name (line 438) | fn parse_native_find_name() { function parse_native_find_name_and_type (line 447) | fn parse_native_find_name_and_type() { function parse_native_find_type_d (line 455) | fn parse_native_find_type_d() { function parse_native_find_maxdepth (line 462) | fn parse_native_find_maxdepth() { function parse_native_find_iname (line 470) | fn parse_native_find_iname() { function parse_native_find_name_is_case_sensitive (line 477) | fn parse_native_find_name_is_case_sensitive() { function parse_native_find_no_path (line 483) | fn parse_native_find_no_path() { function parse_native_find_rejects_not (line 493) | fn parse_native_find_rejects_not() { function parse_native_find_rejects_exec (line 501) | fn parse_native_find_rejects_exec() { function parse_rtk_syntax_pattern_only (line 509) | fn parse_rtk_syntax_pattern_only() { function parse_rtk_syntax_pattern_and_path (line 516) | fn parse_rtk_syntax_pattern_and_path() { function parse_rtk_syntax_with_flags (line 523) | fn parse_rtk_syntax_with_flags() { function parse_empty_args (line 532) | fn parse_empty_args() { function run_from_args_native_find_syntax (line 541) | fn run_from_args_native_find_syntax() { function run_from_args_rtk_syntax (line 548) | fn run_from_args_rtk_syntax() { function run_from_args_iname_case_insensitive (line 555) | fn run_from_args_iname_case_insensitive() { function find_rs_files_in_src (line 564) | fn find_rs_files_in_src() { function find_dot_pattern_works (line 571) | fn find_dot_pattern_works() { function find_no_matches (line 578) | fn find_no_matches() { function find_respects_max (line 584) | fn find_respects_max() { function find_gitignored_excluded (line 591) | fn find_gitignored_excluded() { FILE: src/format_cmd.rs function detect_formatter (line 9) | fn detect_formatter(args: &[String]) -> String { function detect_formatter_in_dir (line 14) | fn detect_formatter_in_dir(args: &[String], dir: &Path) -> String { function run (line 53) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_black_output (line 147) | fn filter_black_output(output: &str) -> String { function compact_path (line 274) | fn compact_path(path: &str) -> String { function test_detect_formatter_from_explicit_arg (line 298) | fn test_detect_formatter_from_explicit_arg() { function test_detect_formatter_from_pyproject_black (line 313) | fn test_detect_formatter_from_pyproject_black() { function test_detect_formatter_from_pyproject_ruff (line 324) | fn test_detect_formatter_from_pyproject_ruff() { function test_detect_formatter_from_package_json (line 335) | fn test_detect_formatter_from_package_json() { function test_filter_black_all_formatted (line 346) | fn test_filter_black_all_formatted() { function test_filter_black_needs_formatting (line 355) | fn test_filter_black_needs_formatting() { function test_compact_path (line 370) | fn test_compact_path() { FILE: src/gain.rs function run (line 12) | pub fn run( function styled (line 306) | fn styled(text: &str, strong: bool) -> String { function print_kpi (line 318) | fn print_kpi(label: &str, value: String) { function colorize_pct_cell (line 323) | fn colorize_pct_cell(pct: f64, padded: &str) -> String { function truncate_for_column (line 337) | fn truncate_for_column(text: &str, width: usize) -> String { function style_command_cell (line 354) | fn style_command_cell(cmd: &str) -> String { function mini_bar (line 362) | fn mini_bar(value: usize, max: usize, width: usize) -> String { function print_efficiency_meter (line 378) | fn print_efficiency_meter(pct: f64) { function resolve_project_scope (line 398) | fn resolve_project_scope(project: bool) -> Result> { function shorten_path (line 408) | fn shorten_path(path: &str) -> String { function print_ascii_graph (line 430) | fn print_ascii_graph(data: &[(String, usize)]) { function print_daily_full (line 460) | fn print_daily_full(tracker: &Tracker, project_scope: Option<&str>) -> R... function print_weekly (line 467) | fn print_weekly(tracker: &Tracker, project_scope: Option<&str>) -> Resul... function print_monthly (line 474) | fn print_monthly(tracker: &Tracker, project_scope: Option<&str>) -> Resu... type ExportData (line 482) | struct ExportData { type ExportSummary (line 493) | struct ExportSummary { function export_json (line 503) | fn export_json( function export_csv (line 548) | fn export_csv( function check_rtk_disabled_bypass (line 624) | fn check_rtk_disabled_bypass() -> Option { function show_failures (line 670) | fn show_failures(tracker: &Tracker) -> Result<()> { FILE: src/gh_cmd.rs function filter_markdown_body (line 27) | fn filter_markdown_body(body: &str) -> String { function filter_markdown_segment (line 100) | fn filter_markdown_segment(text: &str) -> String { function has_json_flag (line 110) | fn has_json_flag(args: &[String]) -> bool { function extract_identifier_and_extra_args (line 117) | fn extract_identifier_and_extra_args(args: &[String]) -> Option<(String,... function run (line 164) | pub fn run(subcommand: &str, args: &[String], verbose: u8, ultra_compact... function run_pr (line 183) | fn run_pr(args: &[String], verbose: u8, ultra_compact: bool) -> Result<(... function list_prs (line 202) | fn list_prs(args: &[String], _verbose: u8, ultra_compact: bool) -> Resul... function should_passthrough_pr_view (line 286) | fn should_passthrough_pr_view(extra_args: &[String]) -> bool { function view_pr (line 292) | fn view_pr(args: &[String], _verbose: u8, ultra_compact: bool) -> Result... function pr_checks (line 469) | fn pr_checks(args: &[String], _verbose: u8, _ultra_compact: bool) -> Res... function pr_status (line 557) | fn pr_status(_verbose: u8, _ultra_compact: bool) -> Result<()> { function run_issue (line 601) | fn run_issue(args: &[String], verbose: u8, ultra_compact: bool) -> Resul... function list_issues (line 613) | fn list_issues(args: &[String], _verbose: u8, ultra_compact: bool) -> Re... function view_issue (line 675) | fn view_issue(args: &[String], _verbose: u8) -> Result<()> { function run_workflow (line 768) | fn run_workflow(args: &[String], verbose: u8, ultra_compact: bool) -> Re... function list_runs (line 780) | fn list_runs(args: &[String], _verbose: u8, ultra_compact: bool) -> Resu... function should_passthrough_run_view (line 866) | fn should_passthrough_run_view(extra_args: &[String]) -> bool { function view_run (line 872) | fn view_run(args: &[String], _verbose: u8) -> Result<()> { function run_repo (line 947) | fn run_repo(args: &[String], _verbose: u8, _ultra_compact: bool) -> Resu... function pr_create (line 1024) | fn pr_create(args: &[String], _verbose: u8) -> Result<()> { function pr_merge (line 1062) | fn pr_merge(args: &[String], _verbose: u8) -> Result<()> { function pr_diff (line 1108) | fn pr_diff(args: &[String], _verbose: u8) -> Result<()> { function pr_action (line 1154) | fn pr_action(action: &str, args: &[String], _verbose: u8) -> Result<()> { function run_api (line 1207) | fn run_api(args: &[String], _verbose: u8) -> Result<()> { function run_passthrough_with_extra (line 1215) | fn run_passthrough_with_extra(cmd: &str, base_args: &[&str], extra_args:... function run_passthrough (line 1246) | fn run_passthrough(cmd: &str, subcommand: &str, args: &[String]) -> Resu... function test_truncate (line 1277) | fn test_truncate() { function test_truncate_multibyte_utf8 (line 1286) | fn test_truncate_multibyte_utf8() { function test_truncate_empty_and_short (line 1296) | fn test_truncate_empty_and_short() { function test_ok_confirmation_pr_create (line 1303) | fn test_ok_confirmation_pr_create() { function test_ok_confirmation_pr_merge (line 1310) | fn test_ok_confirmation_pr_merge() { function test_ok_confirmation_pr_comment (line 1316) | fn test_ok_confirmation_pr_comment() { function test_ok_confirmation_pr_edit (line 1322) | fn test_ok_confirmation_pr_edit() { function test_has_json_flag_present (line 1328) | fn test_has_json_flag_present() { function test_has_json_flag_absent (line 1337) | fn test_has_json_flag_absent() { function test_extract_identifier_simple (line 1342) | fn test_extract_identifier_simple() { function test_extract_identifier_with_repo_flag_after (line 1350) | fn test_extract_identifier_with_repo_flag_after() { function test_extract_identifier_with_repo_flag_before (line 1359) | fn test_extract_identifier_with_repo_flag_before() { function test_extract_identifier_with_long_repo_flag (line 1368) | fn test_extract_identifier_with_long_repo_flag() { function test_extract_identifier_empty (line 1376) | fn test_extract_identifier_empty() { function test_extract_identifier_only_flags (line 1382) | fn test_extract_identifier_only_flags() { function test_extract_identifier_with_web_flag (line 1389) | fn test_extract_identifier_with_web_flag() { function test_run_view_passthrough_log_failed (line 1397) | fn test_run_view_passthrough_log_failed() { function test_run_view_passthrough_log (line 1402) | fn test_run_view_passthrough_log() { function test_run_view_passthrough_json (line 1407) | fn test_run_view_passthrough_json() { function test_run_view_no_passthrough_empty (line 1415) | fn test_run_view_no_passthrough_empty() { function test_run_view_no_passthrough_other_flags (line 1420) | fn test_run_view_no_passthrough_other_flags() { function test_extract_identifier_with_job_flag_after (line 1425) | fn test_extract_identifier_with_job_flag_after() { function test_extract_identifier_with_job_flag_before (line 1434) | fn test_extract_identifier_with_job_flag_before() { function test_extract_identifier_with_job_and_log_failed (line 1443) | fn test_extract_identifier_with_job_and_log_failed() { function test_extract_identifier_with_attempt_flag (line 1457) | fn test_extract_identifier_with_attempt_flag() { function test_should_passthrough_pr_view_json (line 1468) | fn test_should_passthrough_pr_view_json() { function test_should_passthrough_pr_view_jq (line 1476) | fn test_should_passthrough_pr_view_jq() { function test_should_passthrough_pr_view_web (line 1481) | fn test_should_passthrough_pr_view_web() { function test_should_passthrough_pr_view_default (line 1486) | fn test_should_passthrough_pr_view_default() { function test_should_passthrough_pr_view_other_flags (line 1491) | fn test_should_passthrough_pr_view_other_flags() { function test_filter_markdown_body_html_comment_single_line (line 1498) | fn test_filter_markdown_body_html_comment_single_line() { function test_filter_markdown_body_html_comment_multiline (line 1507) | fn test_filter_markdown_body_html_comment_multiline() { function test_filter_markdown_body_badge_lines (line 1517) | fn test_filter_markdown_body_badge_lines() { function test_filter_markdown_body_image_only_lines (line 1526) | fn test_filter_markdown_body_image_only_lines() { function test_filter_markdown_body_horizontal_rules (line 1535) | fn test_filter_markdown_body_horizontal_rules() { function test_filter_markdown_body_blank_lines_collapse (line 1547) | fn test_filter_markdown_body_blank_lines_collapse() { function test_filter_markdown_body_code_block_preserved (line 1557) | fn test_filter_markdown_body_code_block_preserved() { function test_filter_markdown_body_empty (line 1569) | fn test_filter_markdown_body_empty() { function test_filter_markdown_body_meaningful_content_preserved (line 1574) | fn test_filter_markdown_body_meaningful_content_preserved() { function test_filter_markdown_body_token_savings (line 1585) | fn test_filter_markdown_body_token_savings() { FILE: src/git.rs type GitCommand (line 9) | pub enum GitCommand { function git_cmd (line 26) | fn git_cmd(global_args: &[String]) -> Command { function run (line 34) | pub fn run( function run_diff (line 59) | fn run_diff( function run_show (line 169) | fn run_show( function is_blob_show_arg (line 288) | fn is_blob_show_arg(arg: &str) -> bool { function compact_diff (line 293) | pub(crate) fn compact_diff(diff: &str, max_lines: usize) -> String { function run_log (line 366) | fn run_log( function parse_user_limit (line 456) | fn parse_user_limit(args: &[String]) -> Option { function filter_log_output (line 498) | fn filter_log_output( function truncate_line (line 553) | fn truncate_line(line: &str, width: usize) -> String { function format_status_output (line 563) | fn format_status_output(porcelain: &str) -> String { function filter_status_with_args (line 677) | fn filter_status_with_args(output: &str) -> String { function run_status (line 713) | fn run_status(args: &[String], verbose: u8, global_args: &[String]) -> R... function run_add (line 792) | fn run_add(args: &[String], verbose: u8, global_args: &[String]) -> Resu... function build_commit_command (line 864) | fn build_commit_command(args: &[String], global_args: &[String]) -> Comm... function run_commit (line 873) | fn run_commit(args: &[String], verbose: u8, global_args: &[String]) -> R... function run_push (line 934) | fn run_push(args: &[String], verbose: u8, global_args: &[String]) -> Res... function run_pull (line 996) | fn run_pull(args: &[String], verbose: u8, global_args: &[String]) -> Res... function run_branch (line 1082) | fn run_branch(args: &[String], verbose: u8, global_args: &[String]) -> R... function filter_branch_output (line 1243) | fn filter_branch_output(output: &str) -> String { function run_fetch (line 1297) | fn run_fetch(args: &[String], verbose: u8, global_args: &[String]) -> Re... function run_stash (line 1341) | fn run_stash( function filter_stash_list (line 1506) | fn filter_stash_list(output: &str) -> String { function run_worktree (line 1527) | fn run_worktree(args: &[String], verbose: u8, global_args: &[String]) ->... function filter_worktree_list (line 1591) | fn filter_worktree_list(output: &str) -> String { function run_passthrough (line 1619) | pub fn run_passthrough(args: &[OsString], global_args: &[String], verbos... function test_git_cmd_no_global_args (line 1647) | fn test_git_cmd_no_global_args() { function test_git_cmd_with_directory (line 1662) | fn test_git_cmd_with_directory() { function test_git_cmd_with_multiple_global_args (line 1670) | fn test_git_cmd_with_multiple_global_args() { function test_git_cmd_with_boolean_flags (line 1695) | fn test_git_cmd_with_boolean_flags() { function test_compact_diff (line 1703) | fn test_compact_diff() { function test_compact_diff_increased_hunk_limit (line 1718) | fn test_compact_diff_increased_hunk_limit() { function test_compact_diff_increased_total_limit (line 1735) | fn test_compact_diff_increased_total_limit() { function test_is_blob_show_arg (line 1752) | fn test_is_blob_show_arg() { function test_filter_branch_output (line 1761) | fn test_filter_branch_output() { function test_filter_branch_no_remotes (line 1773) | fn test_filter_branch_no_remotes() { function test_filter_stash_list (line 1782) | fn test_filter_stash_list() { function test_filter_worktree_list (line 1791) | fn test_filter_worktree_list() { function test_format_status_output_clean (line 1801) | fn test_format_status_output_clean() { function test_format_status_output_modified_files (line 1808) | fn test_format_status_output_modified_files() { function test_format_status_output_untracked_files (line 1820) | fn test_format_status_output_untracked_files() { function test_format_status_output_mixed_changes (line 1832) | fn test_format_status_output_mixed_changes() { function test_format_status_output_truncation (line 1851) | fn test_format_status_output_truncation() { function test_format_status_modified_truncation (line 1867) | fn test_format_status_modified_truncation() { function test_format_status_untracked_truncation (line 1882) | fn test_format_status_untracked_truncation() { function test_run_passthrough_accepts_args (line 1897) | fn test_run_passthrough_accepts_args() { function test_filter_log_output (line 1904) | fn test_filter_log_output() { function test_filter_log_output_with_body (line 1913) | fn test_filter_log_output_with_body() { function test_filter_log_output_skips_trailers (line 1927) | fn test_filter_log_output_skips_trailers() { function test_filter_log_output_truncate_long (line 1938) | fn test_filter_log_output_truncate_long() { function test_filter_log_output_cap_lines (line 1947) | fn test_filter_log_output_cap_lines() { function test_filter_log_output_user_limit_no_cap (line 1957) | fn test_filter_log_output_user_limit_no_cap() { function test_filter_log_output_user_limit_wider_truncation (line 1972) | fn test_filter_log_output_user_limit_wider_truncation() { function test_parse_user_limit_combined (line 1994) | fn test_parse_user_limit_combined() { function test_parse_user_limit_n_space (line 2000) | fn test_parse_user_limit_n_space() { function test_parse_user_limit_max_count_eq (line 2006) | fn test_parse_user_limit_max_count_eq() { function test_parse_user_limit_max_count_space (line 2012) | fn test_parse_user_limit_max_count_space() { function test_parse_user_limit_none (line 2018) | fn test_parse_user_limit_none() { function test_filter_log_output_token_savings (line 2024) | fn test_filter_log_output_token_savings() { function test_filter_status_with_args (line 2048) | fn test_filter_status_with_args() { function test_filter_status_with_args_clean (line 2070) | fn test_filter_status_with_args_clean() { function test_filter_log_output_multibyte (line 2077) | fn test_filter_log_output_multibyte() { function test_filter_log_output_emoji (line 2090) | fn test_filter_log_output_emoji() { function test_format_status_output_thai_filename (line 2099) | fn test_format_status_output_thai_filename() { function test_format_status_output_emoji_filename (line 2109) | fn test_format_status_output_emoji_filename() { function test_filter_log_output_user_format_oneline (line 2119) | fn test_filter_log_output_user_format_oneline() { function test_filter_log_output_user_format_with_limit (line 2134) | fn test_filter_log_output_user_format_with_limit() { function test_branch_creation_not_swallowed (line 2155) | fn test_branch_creation_not_swallowed() { function test_branch_creation_from_commit (line 2177) | fn test_branch_creation_from_commit() { function test_commit_single_message (line 2195) | fn test_commit_single_message() { function test_commit_multiple_messages (line 2206) | fn test_commit_multiple_messages() { function test_commit_am_flag (line 2232) | fn test_commit_am_flag() { function test_commit_amend (line 2243) | fn test_commit_amend() { function test_git_status_not_a_repo_exits_nonzero (line 2259) | fn test_git_status_not_a_repo_exits_nonzero() { FILE: src/go_cmd.rs type GoTestEvent (line 10) | struct GoTestEvent { type PackageResult (line 30) | struct PackageResult { function run_test (line 39) | pub fn run_test(args: &[String], verbose: u8) -> Result<()> { function run_build (line 98) | pub fn run_build(args: &[String], verbose: u8) -> Result<()> { function run_vet (line 151) | pub fn run_vet(args: &[String], verbose: u8) -> Result<()> { function run_other (line 204) | pub fn run_other(args: &[OsString], verbose: u8) -> Result<()> { function filter_go_test_json (line 250) | fn filter_go_test_json(output: &str) -> String { function filter_go_build (line 431) | fn filter_go_build(output: &str) -> String { function filter_go_vet (line 474) | fn filter_go_vet(output: &str) -> String { function compact_package_name (line 506) | fn compact_package_name(package: &str) -> String { function test_filter_go_test_all_pass (line 520) | fn test_filter_go_test_all_pass() { function test_filter_go_test_with_failures (line 533) | fn test_filter_go_test_with_failures() { function test_filter_go_build_success (line 547) | fn test_filter_go_build_success() { function test_filter_go_build_errors (line 555) | fn test_filter_go_build_errors() { function test_filter_go_vet_no_issues (line 567) | fn test_filter_go_vet_no_issues() { function test_filter_go_vet_with_issues (line 575) | fn test_filter_go_vet_with_issues() { function test_compact_package_name (line 586) | fn test_compact_package_name() { FILE: src/golangci_cmd.rs type Position (line 9) | struct Position { type Issue (line 21) | struct Issue { type GolangciOutput (line 32) | struct GolangciOutput { function run (line 37) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_golangci_json (line 103) | fn filter_golangci_json(output: &str) -> String { function compact_path (line 194) | fn compact_path(path: &str) -> String { function test_filter_golangci_no_issues (line 215) | fn test_filter_golangci_no_issues() { function test_filter_golangci_with_issues (line 223) | fn test_filter_golangci_with_issues() { function test_compact_path (line 254) | fn test_compact_path() { FILE: src/grep_cmd.rs function run (line 9) | pub fn run( function clean_line (line 156) | fn clean_line(line: &str, max_len: usize, context_re: Option<&Regex>, pa... function compact_path (line 202) | fn compact_path(path: &str) -> String { function test_clean_line (line 225) | fn test_clean_line() { function test_compact_path (line 233) | fn test_compact_path() { function test_extra_args_accepted (line 240) | fn test_extra_args_accepted() { function test_clean_line_multibyte (line 248) | fn test_clean_line_multibyte() { function test_clean_line_emoji (line 257) | fn test_clean_line_emoji() { function test_bre_alternation_translated (line 265) | fn test_bre_alternation_translated() { function test_recursive_flag_stripped (line 273) | fn test_recursive_flag_stripped() { function test_rg_always_has_line_numbers (line 286) | fn test_rg_always_has_line_numbers() { FILE: src/gt_cmd.rs function run_gt_filtered (line 20) | fn run_gt_filtered( function filter_identity (line 87) | fn filter_identity(input: &str) -> String { function run_log (line 91) | pub fn run_log(args: &[String], verbose: u8) -> Result<()> { function run_submit (line 111) | pub fn run_submit(args: &[String], verbose: u8) -> Result<()> { function run_sync (line 115) | pub fn run_sync(args: &[String], verbose: u8) -> Result<()> { function run_restack (line 119) | pub fn run_restack(args: &[String], verbose: u8) -> Result<()> { function run_create (line 123) | pub fn run_create(args: &[String], verbose: u8) -> Result<()> { function run_branch (line 127) | pub fn run_branch(args: &[String], verbose: u8) -> Result<()> { function run_other (line 131) | pub fn run_other(args: &[OsString], verbose: u8) -> Result<()> { function passthrough_gt (line 170) | fn passthrough_gt(subcommand: &str, args: &[String], verbose: u8) -> Res... constant MAX_LOG_ENTRIES (line 204) | const MAX_LOG_ENTRIES: usize = 15; function filter_gt_log_entries (line 206) | fn filter_gt_log_entries(input: &str) -> String { function filter_gt_submit (line 237) | fn filter_gt_submit(input: &str) -> String { function filter_gt_sync (line 296) | fn filter_gt_sync(input: &str) -> String { function filter_gt_restack (line 351) | fn filter_gt_restack(input: &str) -> String { function filter_gt_create (line 372) | fn filter_gt_create(input: &str) -> String { function is_graph_node (line 398) | fn is_graph_node(line: &str) -> bool { function extract_branch_name (line 412) | fn extract_branch_name(line: &str) -> String { function count_tokens (line 424) | fn count_tokens(text: &str) -> usize { function test_filter_gt_log_exact_format (line 429) | fn test_filter_gt_log_exact_format() { function test_filter_gt_submit_exact_format (line 455) | fn test_filter_gt_submit_exact_format() { function test_filter_gt_sync_exact_format (line 470) | fn test_filter_gt_sync_exact_format() { function test_filter_gt_restack_exact_format (line 483) | fn test_filter_gt_restack_exact_format() { function test_filter_gt_create_exact_format (line 493) | fn test_filter_gt_create_exact_format() { function test_filter_gt_log_truncation (line 500) | fn test_filter_gt_log_truncation() { function test_filter_gt_log_empty (line 515) | fn test_filter_gt_log_empty() { function test_filter_gt_log_token_savings (line 521) | fn test_filter_gt_log_token_savings() { function test_filter_gt_log_long (line 551) | fn test_filter_gt_log_long() { function test_filter_gt_submit_empty (line 574) | fn test_filter_gt_submit_empty() { function test_filter_gt_submit_with_urls (line 579) | fn test_filter_gt_submit_with_urls() { function test_filter_gt_submit_token_savings (line 589) | fn test_filter_gt_submit_token_savings() { function test_filter_gt_sync (line 636) | fn test_filter_gt_sync() { function test_filter_gt_sync_empty (line 649) | fn test_filter_gt_sync_empty() { function test_filter_gt_sync_no_deletes (line 654) | fn test_filter_gt_sync_no_deletes() { function test_filter_gt_restack (line 663) | fn test_filter_gt_restack() { function test_filter_gt_restack_empty (line 675) | fn test_filter_gt_restack_empty() { function test_filter_gt_create (line 680) | fn test_filter_gt_create() { function test_filter_gt_create_empty (line 687) | fn test_filter_gt_create_empty() { function test_filter_gt_create_no_branch_name (line 692) | fn test_filter_gt_create_no_branch_name() { function test_is_graph_node (line 699) | fn test_is_graph_node() { function test_extract_branch_name (line 710) | fn test_extract_branch_name() { function test_filter_gt_log_pre_stripped_input (line 728) | fn test_filter_gt_log_pre_stripped_input() { function test_filter_gt_sync_token_savings (line 736) | fn test_filter_gt_sync_token_savings() { function test_filter_gt_create_token_savings (line 764) | fn test_filter_gt_create_token_savings() { function test_filter_gt_restack_token_savings (line 787) | fn test_filter_gt_restack_token_savings() { FILE: src/hook_audit_cmd.rs function default_log_path (line 6) | fn default_log_path() -> PathBuf { type AuditEntry (line 18) | struct AuditEntry { function parse_line (line 26) | fn parse_line(line: &str) -> Option { function base_command (line 40) | fn base_command(cmd: &str) -> String { function filter_since_days (line 55) | fn filter_since_days(entries: &[AuditEntry], days: u64) -> Vec<&AuditEnt... function run (line 69) | pub fn run(since_days: u64, verbose: u8) -> Result<()> { function test_parse_line_rewrite (line 180) | fn test_parse_line_rewrite() { function test_parse_line_skip (line 189) | fn test_parse_line_skip() { function test_parse_line_invalid (line 197) | fn test_parse_line_invalid() { function test_base_command_simple (line 203) | fn test_base_command_simple() { function test_base_command_with_env (line 209) | fn test_base_command_with_env() { function test_base_command_single_word (line 215) | fn test_base_command_single_word() { function make_entry (line 220) | fn make_entry(action: &str, cmd: &str) -> AuditEntry { function test_filter_since_days_zero_returns_all (line 230) | fn test_filter_since_days_zero_returns_all() { function test_token_savings (line 240) | fn test_token_savings() { FILE: src/hook_check.rs constant CURRENT_HOOK_VERSION (line 3) | const CURRENT_HOOK_VERSION: u8 = 2; constant WARN_INTERVAL_SECS (line 4) | const WARN_INTERVAL_SECS: u64 = 24 * 3600; type HookStatus (line 8) | pub enum HookStatus { function status (line 19) | pub fn status() -> HookStatus { function maybe_warn (line 43) | pub fn maybe_warn() { function check_and_warn (line 49) | fn check_and_warn() -> Option<()> { function parse_hook_version (line 77) | pub fn parse_hook_version(content: &str) -> u8 { function hook_installed_path (line 89) | fn hook_installed_path() -> Option { function warn_marker_path (line 99) | fn warn_marker_path() -> Option { function test_parse_hook_version_present (line 109) | fn test_parse_hook_version_present() { function test_parse_hook_version_missing (line 115) | fn test_parse_hook_version_missing() { function test_parse_hook_version_future (line 121) | fn test_parse_hook_version_future() { function test_parse_hook_version_no_tag (line 127) | fn test_parse_hook_version_no_tag() { function test_hook_status_enum (line 133) | fn test_hook_status_enum() { function test_status_returns_valid_variant (line 143) | fn test_status_returns_valid_variant() { FILE: src/hook_cmd.rs type HookFormat (line 10) | enum HookFormat { function run_copilot (line 21) | pub fn run_copilot() -> Result<()> { function detect_format (line 47) | fn detect_format(v: &Value) -> HookFormat { function get_rewritten (line 87) | fn get_rewritten(cmd: &str) -> Option { function handle_vscode (line 105) | fn handle_vscode(cmd: &str) -> Result<()> { function handle_copilot_cli (line 123) | fn handle_copilot_cli(cmd: &str) -> Result<()> { function run_gemini (line 145) | pub fn run_gemini() -> Result<()> { function print_allow (line 179) | fn print_allow() { function print_rewrite (line 183) | fn print_rewrite(cmd: &str) { function vscode_input (line 201) | fn vscode_input(tool: &str, cmd: &str) -> Value { function copilot_cli_input (line 208) | fn copilot_cli_input(cmd: &str) -> Value { function test_detect_vscode_bash (line 214) | fn test_detect_vscode_bash() { function test_detect_vscode_run_terminal_command (line 222) | fn test_detect_vscode_run_terminal_command() { function test_detect_copilot_cli_bash (line 230) | fn test_detect_copilot_cli_bash() { function test_detect_non_bash_is_passthrough (line 238) | fn test_detect_non_bash_is_passthrough() { function test_detect_unknown_is_passthrough (line 244) | fn test_detect_unknown_is_passthrough() { function test_get_rewritten_supported (line 249) | fn test_get_rewritten_supported() { function test_get_rewritten_unsupported (line 254) | fn test_get_rewritten_unsupported() { function test_get_rewritten_already_rtk (line 259) | fn test_get_rewritten_already_rtk() { function test_get_rewritten_heredoc (line 264) | fn test_get_rewritten_heredoc() { function test_print_allow_format (line 271) | fn test_print_allow_format() { function test_print_rewrite_format (line 278) | fn test_print_rewrite_format() { function test_gemini_hook_uses_rewrite_command (line 296) | fn test_gemini_hook_uses_rewrite_command() { function test_gemini_hook_excluded_commands (line 316) | fn test_gemini_hook_excluded_commands() { function test_gemini_hook_env_prefix_preserved (line 327) | fn test_gemini_hook_env_prefix_preserved() { FILE: src/init.rs constant REWRITE_HOOK (line 10) | const REWRITE_HOOK: &str = include_str!("../hooks/rtk-rewrite.sh"); constant CURSOR_REWRITE_HOOK (line 13) | const CURSOR_REWRITE_HOOK: &str = include_str!("../hooks/cursor-rtk-rewr... constant OPENCODE_PLUGIN (line 16) | const OPENCODE_PLUGIN: &str = include_str!("../hooks/opencode-rtk.ts"); constant RTK_SLIM (line 19) | const RTK_SLIM: &str = include_str!("../hooks/rtk-awareness.md"); constant RTK_SLIM_CODEX (line 20) | const RTK_SLIM_CODEX: &str = include_str!("../hooks/rtk-awareness-codex.... constant FILTERS_TEMPLATE (line 23) | const FILTERS_TEMPLATE: &str = r#"# Project-local RTK filters — commit t... constant FILTERS_GLOBAL_TEMPLATE (line 39) | const FILTERS_GLOBAL_TEMPLATE: &str = r#"# User-global RTK filters — app... type PatchMode (line 55) | pub enum PatchMode { type PatchResult (line 63) | pub enum PatchResult { constant RTK_INSTRUCTIONS (line 71) | const RTK_INSTRUCTIONS: &str = r##" function run (line 208) | pub fn run( function prepare_hook_paths (line 286) | fn prepare_hook_paths() -> Result<(PathBuf, PathBuf)> { function ensure_hook_installed (line 297) | fn ensure_hook_installed(hook_path: &Path, verbose: u8) -> Result { function write_if_changed (line 342) | fn write_if_changed(path: &Path, content: &str, name: &str, verbose: u8)... function atomic_write (line 372) | fn atomic_write(path: &Path, content: &str) -> Result<()> { function prompt_user_consent (line 403) | fn prompt_user_consent(settings_path: &Path) -> Result { function print_manual_instructions (line 426) | fn print_manual_instructions(hook_path: &Path, include_opencode: bool) { function remove_hook_from_json (line 445) | fn remove_hook_from_json(root: &mut serde_json::Value) -> bool { function remove_hook_from_settings (line 476) | fn remove_hook_from_settings(verbose: u8) -> Result { function uninstall (line 519) | pub fn uninstall(global: bool, gemini: bool, codex: bool, cursor: bool, ... function uninstall_codex (line 638) | fn uninstall_codex(global: bool, verbose: u8) -> Result<()> { function uninstall_codex_at (line 660) | fn uninstall_codex_at(codex_dir: &Path, verbose: u8) -> Result String { function insert_hook_entry (line 801) | fn insert_hook_entry(root: &mut serde_json::Value, hook_command: &str) { function hook_already_present (line 837) | fn hook_already_present(root: &serde_json::Value, hook_command: &str) ->... function run_default_mode (line 861) | fn run_default_mode( function run_default_mode (line 874) | fn run_default_mode( function generate_project_filters_template (line 958) | fn generate_project_filters_template(verbose: u8) -> Result<()> { function generate_global_filters_template (line 982) | fn generate_global_filters_template(verbose: u8) -> Result<()> { function run_hook_only_mode (line 1008) | fn run_hook_only_mode( function run_hook_only_mode (line 1018) | fn run_hook_only_mode( function run_claude_md_mode (line 1083) | fn run_claude_md_mode(global: bool, verbose: u8, install_opencode: bool)... constant WINDSURF_RULES (line 1169) | const WINDSURF_RULES: &str = include_str!("../hooks/windsurf-rtk-rules.m... constant CLINE_RULES (line 1172) | const CLINE_RULES: &str = include_str!("../hooks/cline-rtk-rules.md"); function run_cline_mode (line 1176) | fn run_cline_mode(verbose: u8) -> Result<()> { function run_windsurf_mode (line 1205) | fn run_windsurf_mode(verbose: u8) -> Result<()> { function run_codex_mode (line 1235) | fn run_codex_mode(global: bool, verbose: u8) -> Result<()> { type RtkBlockUpsert (line 1282) | enum RtkBlockUpsert { function upsert_rtk_block (line 1297) | fn upsert_rtk_block(content: &str, block: &str) -> (String, RtkBlockUpse... function patch_claude_md (line 1343) | fn patch_claude_md(path: &Path, verbose: u8) -> Result { function patch_agents_md (line 1392) | fn patch_agents_md(path: &Path, verbose: u8) -> Result { function remove_rtk_reference_from_agents (line 1438) | fn remove_rtk_reference_from_agents(path: &Path, verbose: u8) -> Result<... function remove_rtk_block (line 1469) | fn remove_rtk_block(content: &str) -> (String, bool) { function resolve_claude_dir (line 1507) | fn resolve_claude_dir() -> Result { function resolve_codex_dir (line 1514) | fn resolve_codex_dir() -> Result { function resolve_opencode_dir (line 1522) | fn resolve_opencode_dir() -> Result { function opencode_plugin_path (line 1529) | fn opencode_plugin_path(opencode_dir: &Path) -> PathBuf { function prepare_opencode_plugin_path (line 1534) | fn prepare_opencode_plugin_path() -> Result { function ensure_opencode_plugin_installed (line 1549) | fn ensure_opencode_plugin_installed(path: &Path, verbose: u8) -> Result<... function remove_opencode_plugin (line 1554) | fn remove_opencode_plugin(verbose: u8) -> Result> { function resolve_cursor_dir (line 1574) | fn resolve_cursor_dir() -> Result { function install_cursor_hooks (line 1581) | fn install_cursor_hooks(verbose: u8) -> Result<()> { function patch_cursor_hooks_json (line 1633) | fn patch_cursor_hooks_json(path: &Path, verbose: u8) -> Result { function cursor_hook_already_present (line 1677) | fn cursor_hook_already_present(root: &serde_json::Value) -> bool { function insert_cursor_hook_entry (line 1696) | fn insert_cursor_hook_entry(root: &mut serde_json::Value) { function remove_cursor_hooks (line 1728) | fn remove_cursor_hooks(verbose: u8) -> Result> { function remove_cursor_hook_from_json (line 1771) | fn remove_cursor_hook_from_json(root: &mut serde_json::Value) -> bool { function show_config (line 1793) | pub fn show_config(codex: bool) -> Result<()> { function show_claude_config (line 1801) | fn show_claude_config() -> Result<()> { function show_codex_config (line 2029) | fn show_codex_config() -> Result<()> { function run_opencode_only_mode (line 2084) | fn run_opencode_only_mode(verbose: u8) -> Result<()> { constant GEMINI_HOOK_SCRIPT (line 2096) | const GEMINI_HOOK_SCRIPT: &str = r#"#!/bin/bash function resolve_gemini_dir (line 2101) | fn resolve_gemini_dir() -> Result { function run_gemini (line 2107) | pub fn run_gemini(global: bool, hook_only: bool, patch_mode: PatchMode, ... function patch_gemini_settings (line 2154) | fn patch_gemini_settings( function uninstall_gemini (line 2251) | fn uninstall_gemini(verbose: u8) -> Result> { function test_init_mentions_all_top_level_commands (line 2311) | fn test_init_mentions_all_top_level_commands() { function test_init_has_version_marker (line 2337) | fn test_init_has_version_marker() { function test_hook_has_guards (line 2345) | fn test_hook_has_guards() { function test_migration_removes_old_block (line 2359) | fn test_migration_removes_old_block() { function test_opencode_plugin_install_and_update (line 2376) | fn test_opencode_plugin_install_and_update() { function test_opencode_plugin_remove (line 2397) | fn test_opencode_plugin_remove() { function test_migration_warns_on_missing_end_marker (line 2410) | fn test_migration_warns_on_missing_end_marker() { function test_default_mode_creates_hook_and_rtk_md (line 2419) | fn test_default_mode_creates_hook_and_rtk_md() { function test_claude_md_mode_creates_full_injection (line 2438) | fn test_claude_md_mode_creates_full_injection() { function test_upsert_rtk_block_appends_when_missing (line 2449) | fn test_upsert_rtk_block_appends_when_missing() { function test_upsert_rtk_block_updates_stale_block (line 2458) | fn test_upsert_rtk_block_updates_stale_block() { function test_upsert_rtk_block_noop_when_already_current (line 2477) | fn test_upsert_rtk_block_noop_when_already_current() { function test_upsert_rtk_block_detects_malformed_block (line 2488) | fn test_upsert_rtk_block_detects_malformed_block() { function test_init_is_idempotent (line 2496) | fn test_init_is_idempotent() { function test_patch_agents_md_adds_reference_once (line 2508) | fn test_patch_agents_md_adds_reference_once() { function test_codex_mode_rejects_auto_patch (line 2524) | fn test_codex_mode_rejects_auto_patch() { function test_codex_mode_rejects_no_patch (line 2546) | fn test_codex_mode_rejects_no_patch() { function test_patch_agents_md_creates_missing_file (line 2568) | fn test_patch_agents_md_creates_missing_file() { function test_patch_agents_md_migrates_inline_block (line 2580) | fn test_patch_agents_md_migrates_inline_block() { function test_uninstall_codex_at_is_idempotent (line 2598) | fn test_uninstall_codex_at_is_idempotent() { function test_local_init_unchanged (line 2620) | fn test_local_init_unchanged() { function test_hook_already_present_exact_match (line 2633) | fn test_hook_already_present_exact_match() { function test_hook_already_present_different_path (line 2651) | fn test_hook_already_present_different_path() { function test_hook_not_present_empty (line 2670) | fn test_hook_not_present_empty() { function test_hook_not_present_other_hooks (line 2677) | fn test_hook_not_present_other_hooks() { function test_insert_hook_entry_empty_root (line 2696) | fn test_insert_hook_entry_empty_root() { function test_insert_hook_entry_preserves_existing (line 2718) | fn test_insert_hook_entry_preserves_existing() { function test_insert_hook_preserves_other_keys (line 2747) | fn test_insert_hook_preserves_other_keys() { function test_atomic_write (line 2768) | fn test_atomic_write() { function test_preserve_order_round_trip (line 2782) | fn test_preserve_order_round_trip() { function test_clean_double_blanks (line 2800) | fn test_clean_double_blanks() { function test_clean_double_blanks_preserves_single (line 2812) | fn test_clean_double_blanks_preserves_single() { function test_remove_hook_from_json (line 2819) | fn test_remove_hook_from_json() { function test_remove_hook_when_not_present (line 2854) | fn test_remove_hook_when_not_present() { function test_cursor_hook_already_present_true (line 2874) | fn test_cursor_hook_already_present_true() { function test_cursor_hook_already_present_false_empty (line 2888) | fn test_cursor_hook_already_present_false_empty() { function test_cursor_hook_already_present_false_other_hooks (line 2894) | fn test_cursor_hook_already_present_false_other_hooks() { function test_insert_cursor_hook_entry_empty (line 2908) | fn test_insert_cursor_hook_entry_empty() { function test_insert_cursor_hook_preserves_existing (line 2920) | fn test_insert_cursor_hook_preserves_existing() { function test_remove_cursor_hook_from_json (line 2946) | fn test_remove_cursor_hook_from_json() { function test_remove_cursor_hook_not_present (line 2966) | fn test_remove_cursor_hook_not_present() { function test_cursor_hook_script_has_guards (line 2981) | fn test_cursor_hook_script_has_guards() { function test_cursor_hook_outputs_cursor_format (line 2993) | fn test_cursor_hook_outputs_cursor_format() { FILE: src/integrity.rs constant HASH_FILENAME (line 21) | const HASH_FILENAME: &str = ".rtk-hook.sha256"; type IntegrityStatus (line 25) | pub enum IntegrityStatus { function compute_hash (line 39) | pub fn compute_hash(path: &Path) -> Result { function hash_path (line 48) | fn hash_path(hook_path: &Path) -> PathBuf { function store_hash (line 66) | pub fn store_hash(hook_path: &Path) -> Result<()> { function remove_hash (line 98) | pub fn remove_hash(hook_path: &Path) -> Result { function verify_hook (line 122) | pub fn verify_hook() -> Result { function verify_hook_at (line 128) | pub fn verify_hook_at(hook_path: &Path) -> Result { function read_stored_hash (line 155) | fn read_stored_hash(path: &Path) -> Result { function resolve_hook_path (line 182) | pub fn resolve_hook_path() -> Result { function run_verify (line 189) | pub fn run_verify(verbose: u8) -> Result<()> { function runtime_check (line 245) | pub fn runtime_check() -> Result<()> { function test_compute_hash_deterministic (line 288) | fn test_compute_hash_deterministic() { function test_compute_hash_changes_on_modification (line 302) | fn test_compute_hash_changes_on_modification() { function test_store_and_verify_ok (line 316) | fn test_store_and_verify_ok() { function test_verify_detects_tampering (line 328) | fn test_verify_detects_tampering() { function test_verify_no_baseline (line 350) | fn test_verify_no_baseline() { function test_verify_not_installed (line 361) | fn test_verify_not_installed() { function test_verify_orphaned_hash (line 371) | fn test_verify_orphaned_hash() { function test_store_hash_creates_sha256sum_format (line 388) | fn test_store_hash_creates_sha256sum_format() { function test_store_hash_overwrites_existing (line 408) | fn test_store_hash_overwrites_existing() { function test_hash_file_permissions (line 429) | fn test_hash_file_permissions() { function test_remove_hash (line 444) | fn test_remove_hash() { function test_remove_hash_not_found (line 459) | fn test_remove_hash_not_found() { function test_invalid_hash_file_rejected (line 468) | fn test_invalid_hash_file_rejected() { function test_hash_only_no_filename_rejected (line 481) | fn test_hash_only_no_filename_rejected() { function test_wrong_separator_rejected (line 502) | fn test_wrong_separator_rejected() { function test_hash_format_compatible_with_sha256sum (line 520) | fn test_hash_format_compatible_with_sha256sum() { FILE: src/json_cmd.rs function validate_json_extension (line 9) | fn validate_json_extension(file: &Path) -> Result<()> { function run (line 37) | pub fn run(file: &Path, max_depth: usize, verbose: u8) -> Result<()> { function run_stdin (line 60) | pub fn run_stdin(max_depth: usize, verbose: u8) -> Result<()> { function filter_json_string (line 81) | pub fn filter_json_string(json_str: &str, max_depth: usize) -> Result Stri... function test_toml_file_rejected (line 182) | fn test_toml_file_rejected() { function test_cargo_toml_suggests_deps (line 189) | fn test_cargo_toml_suggests_deps() { function test_yaml_file_rejected (line 195) | fn test_yaml_file_rejected() { function test_json_file_accepted (line 201) | fn test_json_file_accepted() { function test_unknown_extension_accepted (line 206) | fn test_unknown_extension_accepted() { function test_no_extension_accepted (line 211) | fn test_no_extension_accepted() { function test_extract_schema_simple (line 216) | fn test_extract_schema_simple() { function test_extract_schema_array (line 225) | fn test_extract_schema_array() { FILE: src/learn/detector.rs type ErrorType (line 5) | pub enum ErrorType { method as_str (line 17) | pub fn as_str(&self) -> &str { type CorrectionPair (line 31) | pub struct CorrectionPair { type CorrectionRule (line 40) | pub struct CorrectionRule { function is_command_error (line 77) | pub fn is_command_error(is_error: bool, output: &str) -> bool { function classify_error (line 98) | pub fn classify_error(output: &str) -> ErrorType { type CommandExecution (line 115) | pub struct CommandExecution { constant CORRECTION_WINDOW (line 121) | const CORRECTION_WINDOW: usize = 3; constant MIN_CONFIDENCE (line 122) | const MIN_CONFIDENCE: f64 = 0.6; function extract_base_command (line 125) | pub fn extract_base_command(cmd: &str) -> String { function command_similarity (line 146) | pub fn command_similarity(a: &str, b: &str) -> f64 { function is_tdd_cycle_error (line 183) | fn is_tdd_cycle_error(error_type: &ErrorType, output: &str) -> bool { function differs_only_by_path (line 200) | fn differs_only_by_path(a: &str, b: &str) -> bool { function find_corrections (line 214) | pub fn find_corrections(commands: &[CommandExecution]) -> Vec String { function deduplicate_corrections (line 304) | pub fn deduplicate_corrections(pairs: Vec) -> Vec Result<... function capitalize_first (line 110) | fn capitalize_first(s: &str) -> String { function test_format_console_report_empty (line 124) | fn test_format_console_report_empty() { function test_format_console_report_with_rules (line 132) | fn test_format_console_report_with_rules() { function test_write_rules_file_markdown (line 162) | fn test_write_rules_file_markdown() { FILE: src/lint_cmd.rs type EslintMessage (line 11) | struct EslintMessage { type EslintResult (line 21) | struct EslintResult { type PylintDiagnostic (line 32) | struct PylintDiagnostic { function is_python_linter (line 52) | fn is_python_linter(linter: &str) -> bool { function strip_pm_prefix (line 58) | fn strip_pm_prefix(args: &[String]) -> usize { function detect_linter (line 73) | fn detect_linter(args: &[String]) -> (&str, bool) { function run (line 86) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_eslint_json (line 230) | fn filter_eslint_json(output: &str) -> String { function filter_pylint_json (line 322) | fn filter_pylint_json(output: &str) -> String { function filter_generic_lint (line 439) | fn filter_generic_lint(output: &str) -> String { function compact_path (line 476) | fn compact_path(path: &str) -> String { function test_filter_eslint_json (line 496) | fn test_filter_eslint_json() { function test_compact_path (line 543) | fn test_compact_path() { function test_filter_pylint_json_no_issues (line 556) | fn test_filter_pylint_json_no_issues() { function test_filter_pylint_json_with_issues (line 564) | fn test_filter_pylint_json_with_issues() { function test_strip_pm_prefix_npx (line 612) | fn test_strip_pm_prefix_npx() { function test_strip_pm_prefix_bunx (line 618) | fn test_strip_pm_prefix_bunx() { function test_strip_pm_prefix_pnpm_exec (line 624) | fn test_strip_pm_prefix_pnpm_exec() { function test_strip_pm_prefix_none (line 630) | fn test_strip_pm_prefix_none() { function test_strip_pm_prefix_empty (line 636) | fn test_strip_pm_prefix_empty() { function test_detect_linter_eslint (line 642) | fn test_detect_linter_eslint() { function test_detect_linter_default_on_path (line 650) | fn test_detect_linter_default_on_path() { function test_detect_linter_default_on_flag (line 658) | fn test_detect_linter_default_on_flag() { function test_detect_linter_after_npx_strip (line 666) | fn test_detect_linter_after_npx_strip() { function test_detect_linter_after_pnpm_exec_strip (line 676) | fn test_detect_linter_after_pnpm_exec_strip() { function test_is_python_linter (line 686) | fn test_is_python_linter() { FILE: src/local_llm.rs function run (line 9) | pub fn run(file: &Path, _model: &str, _force_download: bool, verbose: u8... type CodeSummary (line 31) | struct CodeSummary { function analyze_code (line 36) | fn analyze_code(content: &str, lang: &Language) -> CodeSummary { function lang_display_name (line 112) | fn lang_display_name(lang: &Language) -> &'static str { function extract_imports (line 129) | fn extract_imports(content: &str, lang: &Language) -> Vec { function is_std_import (line 160) | fn is_std_import(name: &str, lang: &Language) -> bool { function extract_functions (line 168) | fn extract_functions(content: &str, lang: &Language) -> Vec { function extract_structs (line 196) | fn extract_structs(content: &str, lang: &Language) -> Vec { function extract_traits (line 213) | fn extract_traits(content: &str, lang: &Language) -> Vec { function detect_patterns (line 227) | fn detect_patterns(content: &str, lang: &Language) -> Vec { function test_rust_analysis (line 280) | fn test_rust_analysis() { function test_python_analysis (line 301) | fn test_python_analysis() { FILE: src/log_cmd.rs function run_file (line 22) | pub fn run_file(file: &Path, verbose: u8) -> Result<()> { function run_stdin (line 42) | pub fn run_stdin(_verbose: u8) -> Result<()> { function run_stdin_str (line 61) | pub fn run_stdin_str(content: &str) -> String { function analyze_logs (line 65) | fn analyze_logs(content: &str) -> String { function normalize_log_line (line 206) | fn normalize_log_line( function test_analyze_logs (line 227) | fn test_analyze_logs() { function test_analyze_logs_multibyte (line 241) | fn test_analyze_logs_multibyte() { FILE: src/ls.rs constant NOISE_DIRS (line 6) | const NOISE_DIRS: &[&str] = &[ function run (line 33) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function human_size (line 124) | fn human_size(bytes: u64) -> String { function compact_ls (line 137) | fn compact_ls(raw: &str, show_all: bool) -> String { function test_compact_basic (line 233) | fn test_compact_basic() { function test_compact_filters_noise (line 254) | fn test_compact_filters_noise() { function test_compact_show_all (line 270) | fn test_compact_show_all() { function test_compact_empty (line 280) | fn test_compact_empty() { function test_compact_summary (line 287) | fn test_compact_summary() { function test_human_size (line 300) | fn test_human_size() { function test_compact_handles_filenames_with_spaces (line 310) | fn test_compact_handles_filenames_with_spaces() { function test_compact_symlinks (line 318) | fn test_compact_symlinks() { FILE: src/main.rs type AgentTarget (line 76) | pub enum AgentTarget { type Cli (line 94) | struct Cli { type Commands (line 112) | enum Commands { type HookCommands (line 701) | enum HookCommands { type GitCommands (line 709) | enum GitCommands { type PnpmCommands (line 790) | enum PnpmCommands { type DockerCommands (line 832) | enum DockerCommands { type ComposeCommands (line 850) | enum ComposeCommands { type KubectlCommands (line 869) | enum KubectlCommands { type VitestCommands (line 898) | enum VitestCommands { type PrismaCommands (line 908) | enum PrismaCommands { type PrismaMigrateCommands (line 929) | enum PrismaMigrateCommands { type CargoCommands (line 954) | enum CargoCommands { type DotnetCommands (line 997) | enum DotnetCommands { type GoCommands (line 1024) | enum GoCommands { constant RTK_META_COMMANDS (line 1050) | const RTK_META_COMMANDS: &[&str] = &[ function run_fallback (line 1066) | fn run_fallback(parse_error: clap::Error) -> Result<()> { type GtCommands (line 1181) | enum GtCommands { function shell_split (line 1219) | fn shell_split(input: &str) -> Vec { function main (line 1244) | fn main() -> Result<()> { function is_operational_command (line 2211) | fn is_operational_command(cmd: &Commands) -> bool { function test_git_commit_single_message (line 2261) | fn test_git_commit_single_message() { function test_git_commit_multiple_messages (line 2275) | fn test_git_commit_multiple_messages() { function test_git_commit_am_flag (line 2302) | fn test_git_commit_am_flag() { function test_git_commit_amend (line 2316) | fn test_git_commit_amend() { function test_git_global_options_parsing (line 2331) | fn test_git_global_options_parsing() { function test_git_commit_long_flag_multiple (line 2353) | fn test_git_commit_long_flag_multiple() { function test_try_parse_valid_git_status (line 2388) | fn test_try_parse_valid_git_status() { function test_try_parse_help_is_display_help (line 2394) | fn test_try_parse_help_is_display_help() { function test_try_parse_version_is_display_version (line 2402) | fn test_try_parse_version_is_display_version() { function test_try_parse_unknown_subcommand_is_error (line 2410) | fn test_try_parse_unknown_subcommand_is_error() { function test_try_parse_git_with_dash_c_succeeds (line 2421) | fn test_try_parse_git_with_dash_c_succeeds() { function test_gain_failures_flag_parses (line 2438) | fn test_gain_failures_flag_parses() { function test_gain_failures_short_flag_parses (line 2450) | fn test_gain_failures_short_flag_parses() { function test_meta_commands_reject_bad_flags (line 2462) | fn test_meta_commands_reject_bad_flags() { function test_meta_command_list_is_complete (line 2479) | fn test_meta_command_list_is_complete() { function test_shell_split_simple (line 2502) | fn test_shell_split_simple() { function test_shell_split_double_quotes (line 2510) | fn test_shell_split_double_quotes() { function test_shell_split_single_quotes (line 2518) | fn test_shell_split_single_quotes() { function test_shell_split_single_word (line 2526) | fn test_shell_split_single_word() { function test_shell_split_empty (line 2531) | fn test_shell_split_empty() { function test_rewrite_clap_multi_args (line 2537) | fn test_rewrite_clap_multi_args() { function test_rewrite_clap_quoted_single_arg (line 2568) | fn test_rewrite_clap_quoted_single_arg() { FILE: src/mypy_cmd.rs function run (line 7) | pub fn run(args: &[String], verbose: u8) -> Result<()> { type MypyError (line 52) | struct MypyError { function filter_mypy_output (line 60) | pub fn filter_mypy_output(output: &str) -> String { function test_filter_mypy_errors_grouped_by_file (line 237) | fn test_filter_mypy_errors_grouped_by_file() { function test_filter_mypy_with_column_numbers (line 260) | fn test_filter_mypy_with_column_numbers() { function test_filter_mypy_top_codes_summary (line 271) | fn test_filter_mypy_top_codes_summary() { function test_filter_mypy_single_code_no_summary (line 288) | fn test_filter_mypy_single_code_no_summary() { function test_filter_mypy_every_error_shown (line 303) | fn test_filter_mypy_every_error_shown() { function test_filter_mypy_note_continuation (line 319) | fn test_filter_mypy_note_continuation() { function test_filter_mypy_fileless_errors (line 335) | fn test_filter_mypy_fileless_errors() { function test_filter_mypy_no_errors (line 354) | fn test_filter_mypy_no_errors() { function test_filter_mypy_no_file_limit (line 361) | fn test_filter_mypy_no_file_limit() { FILE: src/next_cmd.rs function run (line 6) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_next_build (line 53) | fn filter_next_build(output: &str) -> String { function extract_time (line 183) | fn extract_time(line: &str) -> Option { function test_filter_next_build (line 198) | fn test_filter_next_build() { function test_extract_time (line 228) | fn test_extract_time() { FILE: src/npm_cmd.rs constant NPM_SUBCOMMANDS (line 7) | const NPM_SUBCOMMANDS: &[&str] = &[ function run (line 74) | pub fn run(args: &[String], verbose: u8, skip_env: bool) -> Result<()> { function filter_npm_output (line 135) | fn filter_npm_output(output: &str) -> String { function test_filter_npm_output (line 174) | fn test_filter_npm_output() { function test_npm_subcommand_routing (line 193) | fn test_npm_subcommand_routing() { function test_filter_npm_output_empty (line 231) | fn test_filter_npm_output_empty() { FILE: src/parser/error.rs type ParseError (line 6) | pub enum ParseError { method from (line 40) | fn from(err: serde_json::Error) -> Self { FILE: src/parser/formatter.rs type FormatMode (line 6) | pub enum FormatMode { method from_verbosity (line 16) | pub fn from_verbosity(verbosity: u8) -> Self { type TokenFormatter (line 26) | pub trait TokenFormatter { method format_compact (line 28) | fn format_compact(&self) -> String; method format_verbose (line 31) | fn format_verbose(&self) -> String; method format_ultra (line 34) | fn format_ultra(&self) -> String; method format (line 37) | fn format(&self, mode: FormatMode) -> String { method format_compact (line 47) | fn format_compact(&self) -> String { method format_verbose (line 75) | fn format_verbose(&self) -> String { method format_ultra (line 106) | fn format_ultra(&self) -> String { method format_compact (line 118) | fn format_compact(&self) -> String { method format_verbose (line 154) | fn format_verbose(&self) -> String { method format_ultra (line 187) | fn format_ultra(&self) -> String { method format_compact (line 196) | fn format_compact(&self) -> String { method format_verbose (line 224) | fn format_verbose(&self) -> String { method format_ultra (line 253) | fn format_ultra(&self) -> String { method format_compact (line 259) | fn format_compact(&self) -> String { method format_verbose (line 286) | fn format_verbose(&self) -> String { method format_ultra (line 326) | fn format_ultra(&self) -> String { FILE: src/parser/mod.rs type ParseResult (line 19) | pub enum ParseResult { function unwrap (line 33) | pub fn unwrap(self) -> T { function tier (line 43) | pub fn tier(&self) -> u8 { function is_ok (line 53) | pub fn is_ok(&self) -> bool { function map (line 59) | pub fn map(self, f: F) -> ParseResult function warnings (line 72) | pub fn warnings(&self) -> Vec { type OutputParser (line 81) | pub trait OutputParser: Sized { method parse (line 90) | fn parse(input: &str) -> ParseResult; method parse_with_tier (line 94) | fn parse_with_tier(input: &str, max_tier: u8) -> ParseResult String { function truncate_output (line 111) | pub fn truncate_output(output: &str, max_chars: usize) -> String { function emit_degradation_warning (line 127) | pub fn emit_degradation_warning(tool: &str, reason: &str) { function emit_passthrough_warning (line 132) | pub fn emit_passthrough_warning(tool: &str, reason: &str) { function extract_json_object (line 146) | pub fn extract_json_object(input: &str) -> Option<&str> { function test_parse_result_tier (line 207) | fn test_parse_result_tier() { function test_parse_result_map (line 223) | fn test_parse_result_map() { function test_truncate_output (line 237) | fn test_truncate_output() { function test_truncate_output_multibyte (line 248) | fn test_truncate_output_multibyte() { function test_truncate_output_emoji (line 259) | fn test_truncate_output_emoji() { function test_extract_json_object_clean (line 266) | fn test_extract_json_object_clean() { function test_extract_json_object_with_pnpm_prefix (line 273) | fn test_extract_json_object_with_pnpm_prefix() { function test_extract_json_object_with_dotenv_prefix (line 287) | fn test_extract_json_object_with_dotenv_prefix() { function test_extract_json_object_nested_braces (line 299) | fn test_extract_json_object_nested_braces() { function test_extract_json_object_no_json (line 310) | fn test_extract_json_object_no_json() { function test_extract_json_object_string_with_braces (line 317) | fn test_extract_json_object_string_with_braces() { FILE: src/parser/types.rs type TestResult (line 7) | pub struct TestResult { type TestFailure (line 17) | pub struct TestFailure { type LintResult (line 27) | pub struct LintResult { type LintIssue (line 38) | pub struct LintIssue { type LintSeverity (line 49) | pub enum LintSeverity { type DependencyState (line 57) | pub struct DependencyState { type Dependency (line 64) | pub struct Dependency { type BuildOutput (line 75) | pub struct BuildOutput { type BundleInfo (line 86) | pub struct BundleInfo { type RouteInfo (line 94) | pub struct RouteInfo { type GitResult (line 103) | pub struct GitResult { type GitCommit (line 113) | pub struct GitCommit { type GenericOutput (line 123) | pub struct GenericOutput { FILE: src/pip_cmd.rs type Package (line 7) | struct Package { function run (line 14) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function run_list (line 51) | fn run_list(base_cmd: &str, args: &[String], verbose: u8) -> Result<(Str... function run_outdated (line 86) | fn run_outdated(base_cmd: &str, args: &[String], verbose: u8) -> Result<... function run_passthrough (line 121) | fn run_passthrough(base_cmd: &str, args: &[String], verbose: u8) -> Resu... function filter_pip_list (line 155) | fn filter_pip_list(output: &str) -> String { function filter_pip_outdated (line 200) | fn filter_pip_outdated(output: &str) -> String { function test_filter_pip_list (line 241) | fn test_filter_pip_list() { function test_filter_pip_list_empty (line 256) | fn test_filter_pip_list_empty() { function test_filter_pip_outdated_none (line 263) | fn test_filter_pip_outdated_none() { function test_filter_pip_outdated_some (line 270) | fn test_filter_pip_outdated_some() { FILE: src/playwright_cmd.rs type PlaywrightJsonOutput (line 14) | struct PlaywrightJsonOutput { type PlaywrightStats (line 21) | struct PlaywrightStats { type PlaywrightSuite (line 32) | struct PlaywrightSuite { type PlaywrightSpec (line 46) | struct PlaywrightSpec { type PlaywrightExecution (line 57) | struct PlaywrightExecution { type PlaywrightAttempt (line 66) | struct PlaywrightAttempt { type PlaywrightError (line 75) | struct PlaywrightError { type PlaywrightParser (line 81) | pub struct PlaywrightParser; type Output (line 84) | type Output = TestResult; method parse (line 86) | fn parse(input: &str) -> ParseResult { function collect_test_results (line 121) | fn collect_test_results( function extract_playwright_regex (line 162) | fn extract_playwright_regex(output: &str) -> Option { function extract_failures_regex (line 218) | fn extract_failures_regex(output: &str) -> Vec { function run (line 241) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function test_playwright_parser_json (line 339) | fn test_playwright_parser_json() { function test_playwright_parser_json_float_duration (line 389) | fn test_playwright_parser_json_float_duration() { function test_playwright_parser_json_with_failure (line 414) | fn test_playwright_parser_json_with_failure() { function test_playwright_parser_regex_fallback (line 461) | fn test_playwright_parser_regex_fallback() { function test_playwright_parser_passthrough (line 473) | fn test_playwright_parser_passthrough() { FILE: src/pnpm_cmd.rs type PnpmListOutput (line 15) | struct PnpmListOutput { type PnpmPackage (line 21) | struct PnpmPackage { type PnpmOutdatedOutput (line 31) | struct PnpmOutdatedOutput { type PnpmOutdatedPackage (line 37) | struct PnpmOutdatedPackage { type PnpmListParser (line 46) | pub struct PnpmListParser; type Output (line 49) | type Output = DependencyState; method parse (line 51) | fn parse(input: &str) -> ParseResult { function collect_dependencies (line 87) | fn collect_dependencies( function extract_list_text (line 115) | fn extract_list_text(output: &str) -> Option { type PnpmOutdatedParser (line 163) | pub struct PnpmOutdatedParser; type Output (line 166) | type Output = DependencyState; method parse (line 168) | fn parse(input: &str) -> ParseResult { function extract_outdated_text (line 214) | fn extract_outdated_text(output: &str) -> Option { function is_valid_package_name (line 264) | fn is_valid_package_name(name: &str) -> bool { type PnpmCommand (line 280) | pub enum PnpmCommand { function run (line 286) | pub fn run(cmd: PnpmCommand, args: &[String], verbose: u8) -> Result<()> { function run_list (line 294) | fn run_list(depth: usize, args: &[String], verbose: u8) -> Result<()> { function run_outdated (line 351) | fn run_outdated(args: &[String], verbose: u8) -> Result<()> { function run_install (line 402) | fn run_install(packages: &[String], args: &[String], verbose: u8) -> Res... function filter_pnpm_install (line 455) | fn filter_pnpm_install(output: &str) -> String { function run_passthrough (line 494) | pub fn run_passthrough(args: &[OsString], verbose: u8) -> Result<()> { function test_pnpm_list_parser_json (line 522) | fn test_pnpm_list_parser_json() { function test_pnpm_outdated_parser_json (line 543) | fn test_pnpm_outdated_parser_json() { function test_package_name_validation (line 562) | fn test_package_name_validation() { function test_run_passthrough_accepts_args (line 570) | fn test_run_passthrough_accepts_args() { FILE: src/prettier_cmd.rs function run (line 5) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_prettier_output (line 66) | pub fn filter_prettier_output(output: &str) -> String { function test_filter_all_formatted (line 170) | fn test_filter_all_formatted() { function test_filter_files_need_formatting (line 181) | fn test_filter_files_need_formatting() { function test_filter_many_files (line 196) | fn test_filter_many_files() { function test_filter_empty_output (line 209) | fn test_filter_empty_output() { function test_filter_whitespace_only_output (line 216) | fn test_filter_whitespace_only_output() { FILE: src/prisma_cmd.rs type PrismaCommand (line 7) | pub enum PrismaCommand { type MigrateSubcommand (line 14) | pub enum MigrateSubcommand { function run (line 20) | pub fn run(cmd: PrismaCommand, args: &[String], verbose: u8) -> Result<(... function create_prisma_command (line 29) | fn create_prisma_command() -> Command { function run_generate (line 39) | fn run_generate(args: &[String], verbose: u8) -> Result<()> { function run_migrate (line 80) | fn run_migrate(subcommand: MigrateSubcommand, args: &[String], verbose: ... function run_db_push (line 142) | fn run_db_push(args: &[String], verbose: u8) -> Result<()> { function filter_prisma_generate (line 182) | fn filter_prisma_generate(output: &str) -> String { function filter_migrate_dev (line 241) | fn filter_migrate_dev(output: &str) -> String { function filter_migrate_status (line 313) | fn filter_migrate_status(output: &str) -> String { function filter_migrate_deploy (line 347) | fn filter_migrate_deploy(output: &str) -> String { function filter_db_push (line 375) | fn filter_db_push(output: &str) -> String { function extract_number (line 406) | fn extract_number(line: &str) -> Option { function extract_table_name (line 412) | fn extract_table_name(line: &str) -> Option { function extract_index_name (line 429) | fn extract_index_name(line: &str) -> Option { function test_filter_generate (line 450) | fn test_filter_generate() { function test_filter_migrate_dev (line 470) | fn test_filter_migrate_dev() { function test_extract_number (line 491) | fn test_extract_number() { FILE: src/psql_cmd.rs constant MAX_TABLE_ROWS (line 12) | const MAX_TABLE_ROWS: usize = 30; constant MAX_EXPANDED_RECORDS (line 13) | const MAX_EXPANDED_RECORDS: usize = 20; function run (line 22) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_psql_output (line 68) | fn filter_psql_output(output: &str) -> String { function is_table_format (line 83) | fn is_table_format(output: &str) -> bool { function is_expanded_format (line 90) | fn is_expanded_format(output: &str) -> bool { function filter_table (line 99) | fn filter_table(output: &str) -> String { function filter_expanded (line 149) | fn filter_expanded(output: &str) -> String { function test_snapshot_table_format (line 210) | fn test_snapshot_table_format() { function test_snapshot_expanded_format (line 220) | fn test_snapshot_expanded_format() { function test_is_table_format_detects_separator (line 230) | fn test_is_table_format_detects_separator() { function test_is_table_format_rejects_plain (line 236) | fn test_is_table_format_rejects_plain() { function test_is_expanded_format_detects_records (line 242) | fn test_is_expanded_format_detects_records() { function test_is_expanded_format_rejects_table (line 248) | fn test_is_expanded_format_rejects_table() { function test_filter_table_basic (line 254) | fn test_filter_table_basic() { function test_filter_table_overflow (line 265) | fn test_filter_table_overflow() { function test_filter_table_empty (line 281) | fn test_filter_table_empty() { function test_filter_expanded_basic (line 287) | fn test_filter_expanded_basic() { function test_filter_expanded_overflow (line 302) | fn test_filter_expanded_overflow() { function test_filter_psql_passthrough (line 316) | fn test_filter_psql_passthrough() { function test_filter_psql_routes_to_table (line 323) | fn test_filter_psql_routes_to_table() { function test_filter_psql_routes_to_expanded (line 331) | fn test_filter_psql_routes_to_expanded() { function test_filter_table_strips_row_count (line 339) | fn test_filter_table_strips_row_count() { function test_filter_expanded_strips_row_count (line 346) | fn test_filter_expanded_strips_row_count() { function count_tokens (line 352) | fn count_tokens(text: &str) -> usize { function test_table_token_savings (line 357) | fn test_table_token_savings() { function test_expanded_token_savings (line 371) | fn test_expanded_token_savings() { FILE: src/pytest_cmd.rs type ParseState (line 6) | enum ParseState { function run (line 13) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_pytest_output (line 86) | fn filter_pytest_output(output: &str) -> String { function build_pytest_summary (line 165) | fn build_pytest_summary(summary: &str, _test_files: &[String], failures:... function parse_summary_line (line 244) | fn parse_summary_line(summary: &str) -> (usize, usize, usize) { function test_filter_pytest_all_pass (line 281) | fn test_filter_pytest_all_pass() { function test_filter_pytest_with_failures (line 296) | fn test_filter_pytest_with_failures() { function test_filter_pytest_multiple_failures (line 322) | fn test_filter_pytest_multiple_failures() { function test_filter_pytest_no_tests (line 349) | fn test_filter_pytest_no_tests() { function test_parse_summary_line (line 360) | fn test_parse_summary_line() { FILE: src/read.rs function run (line 7) | pub fn run( function run_stdin (line 71) | pub fn run_stdin( function format_with_line_numbers (line 131) | fn format_with_line_numbers(content: &str) -> String { function apply_line_window (line 141) | fn apply_line_window( function test_read_rust_file (line 174) | fn test_read_rust_file() -> Result<()> { function test_stdin_support_signature (line 190) | fn test_stdin_support_signature() { function test_apply_line_window_tail_lines (line 197) | fn test_apply_line_window_tail_lines() { function test_apply_line_window_tail_lines_no_trailing_newline (line 204) | fn test_apply_line_window_tail_lines_no_trailing_newline() { function test_apply_line_window_max_lines_still_works (line 211) | fn test_apply_line_window_max_lines_still_works() { FILE: src/rewrite_cmd.rs function run (line 13) | pub fn run(cmd: &str) -> anyhow::Result<()> { function test_run_supported_command_succeeds (line 34) | fn test_run_supported_command_succeeds() { function test_run_unsupported_returns_none (line 39) | fn test_run_unsupported_returns_none() { function test_run_already_rtk_returns_some (line 44) | fn test_run_already_rtk_returns_some() { FILE: src/ruff_cmd.rs type RuffLocation (line 9) | struct RuffLocation { type RuffFix (line 17) | struct RuffFix { type RuffDiagnostic (line 23) | struct RuffDiagnostic { function run (line 35) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_ruff_check_json (line 119) | pub fn filter_ruff_check_json(output: &str) -> String { function filter_ruff_format (line 221) | pub fn filter_ruff_format(output: &str) -> String { function compact_path (line 307) | fn compact_path(path: &str) -> String { function test_filter_ruff_check_no_issues (line 328) | fn test_filter_ruff_check_no_issues() { function test_filter_ruff_check_with_issues (line 336) | fn test_filter_ruff_check_with_issues() { function test_filter_ruff_format_all_formatted (line 374) | fn test_filter_ruff_format_all_formatted() { function test_filter_ruff_format_needs_formatting (line 382) | fn test_filter_ruff_format_needs_formatting() { function test_compact_path (line 394) | fn test_compact_path() { FILE: src/runner.rs function run_err (line 7) | pub fn run_err(command: &str, verbose: u8) -> Result<()> { function run_test (line 66) | pub fn run_test(command: &str, verbose: u8) -> Result<()> { function filter_errors (line 106) | fn filter_errors(output: &str) -> String { function extract_test_summary (line 163) | fn extract_test_summary(output: &str, command: &str) -> String { function test_filter_errors (line 265) | fn test_filter_errors() { FILE: src/session_cmd.rs type SessionSummary (line 9) | struct SessionSummary { method adoption_pct (line 18) | fn adoption_pct(&self) -> f64 { function count_rtk_commands (line 33) | fn count_rtk_commands(cmds: &[ExtractedCommand]) -> (usize, usize, usize) { function progress_bar (line 51) | fn progress_bar(pct: f64, width: usize) -> String { function run (line 57) | pub fn run(_verbose: u8) -> Result<()> { function make_cmd (line 196) | fn make_cmd(command: &str, output_len: Option) -> ExtractedCommand { function test_progress_bar_boundaries (line 210) | fn test_progress_bar_boundaries() { function test_count_all_rtk (line 219) | fn test_count_all_rtk() { function test_count_hook_rewritten_commands (line 232) | fn test_count_hook_rewritten_commands() { function test_count_mixed_explicit_and_hook (line 248) | fn test_count_mixed_explicit_and_hook() { function test_count_unsupported_commands_not_counted (line 262) | fn test_count_unsupported_commands_not_counted() { function test_count_empty_commands (line 274) | fn test_count_empty_commands() { function test_count_chained_commands_split (line 285) | fn test_count_chained_commands_split() { function test_count_chained_all_supported (line 295) | fn test_count_chained_all_supported() { function test_count_chained_with_semicolon (line 304) | fn test_count_chained_with_semicolon() { function test_count_chained_no_false_inflation (line 312) | fn test_count_chained_no_false_inflation() { function test_adoption_pct_zero_division (line 323) | fn test_adoption_pct_zero_division() { function test_adoption_pct_75_percent (line 335) | fn test_adoption_pct_75_percent() { function test_parse_jsonl_session_and_count (line 349) | fn test_parse_jsonl_session_and_count() { function test_parse_jsonl_ignores_non_bash_tools (line 375) | fn test_parse_jsonl_ignores_non_bash_tools() { function test_parse_empty_session (line 398) | fn test_parse_empty_session() { function test_parse_jsonl_chained_command (line 417) | fn test_parse_jsonl_chained_command() { FILE: src/summary.rs function run (line 8) | pub fn run(command: &str, verbose: u8) -> Result<()> { function summarize_output (line 40) | fn summarize_output(output: &str, command: &str, success: bool) -> String { type OutputType (line 70) | enum OutputType { function detect_output_type (line 79) | fn detect_output_type(output: &str, command: &str) -> OutputType { function summarize_tests (line 111) | fn summarize_tests(output: &str, result: &mut Vec) { function summarize_build (line 162) | fn summarize_build(output: &str, result: &mut Vec) { function summarize_logs_quick (line 208) | fn summarize_logs_quick(output: &str, result: &mut Vec) { function summarize_list (line 231) | fn summarize_list(output: &str, result: &mut Vec) { function summarize_json (line 243) | fn summarize_json(output: &str, result: &mut Vec) { function summarize_generic (line 270) | fn summarize_generic(output: &str, result: &mut Vec) { function extract_number (line 293) | fn extract_number(text: &str, after: &str) -> Option { FILE: src/tee.rs constant MIN_TEE_SIZE (line 5) | const MIN_TEE_SIZE: usize = 500; constant DEFAULT_MAX_FILES (line 8) | const DEFAULT_MAX_FILES: usize = 20; constant DEFAULT_MAX_FILE_SIZE (line 11) | const DEFAULT_MAX_FILE_SIZE: usize = 1_048_576; function sanitize_slug (line 16) | fn sanitize_slug(slug: &str) -> String { function get_tee_dir (line 35) | fn get_tee_dir(config: &Config) -> Option { function cleanup_old_files (line 51) | fn cleanup_old_files(dir: &std::path::Path, max_files: usize) { function should_tee (line 75) | fn should_tee( function write_tee_file (line 104) | fn write_tee_file( function tee_raw (line 142) | pub fn tee_raw(raw: &str, command_slug: &str, exit_code: i32) -> Option<... function format_hint (line 163) | fn format_hint(path: &std::path::Path) -> String { function tee_and_hint (line 179) | pub fn tee_and_hint(raw: &str, command_slug: &str, exit_code: i32) -> Op... type TeeMode (line 187) | pub enum TeeMode { type TeeConfig (line 196) | pub struct TeeConfig { method default (line 206) | fn default() -> Self { function test_sanitize_slug (line 223) | fn test_sanitize_slug() { function test_should_tee_disabled (line 234) | fn test_should_tee_disabled() { function test_should_tee_never_mode (line 244) | fn test_should_tee_never_mode() { function test_should_tee_skip_small_output (line 254) | fn test_should_tee_skip_small_output() { function test_should_tee_skip_success_in_failures_mode (line 262) | fn test_should_tee_skip_success_in_failures_mode() { function test_should_tee_proceed_on_failure (line 269) | fn test_should_tee_proceed_on_failure() { function test_should_tee_always_mode_success (line 276) | fn test_should_tee_always_mode_success() { function test_write_tee_file_creates_file (line 286) | fn test_write_tee_file_creates_file() { function test_write_tee_file_truncation (line 305) | fn test_write_tee_file_truncation() { function test_cleanup_old_files (line 319) | fn test_cleanup_old_files() { function test_format_hint (line 347) | fn test_format_hint() { function test_tee_config_default (line 356) | fn test_tee_config_default() { function test_tee_config_deserialize (line 366) | fn test_tee_config_deserialize() { function test_tee_mode_serde (line 389) | fn test_tee_mode_serde() { FILE: src/telemetry.rs constant TELEMETRY_URL (line 6) | const TELEMETRY_URL: Option<&str> = option_env!("RTK_TELEMETRY_URL"); constant TELEMETRY_TOKEN (line 7) | const TELEMETRY_TOKEN: Option<&str> = option_env!("RTK_TELEMETRY_TOKEN"); constant PING_INTERVAL_SECS (line 8) | const PING_INTERVAL_SECS: u64 = 23 * 3600; function maybe_ping (line 12) | pub fn maybe_ping() { function send_ping (line 49) | fn send_ping() -> Result<(), Box> { function generate_device_hash (line 87) | fn generate_device_hash() -> String { function get_stats (line 102) | fn get_stats() -> (i64, Vec, Option, i64, i64) { function detect_install_method (line 130) | fn detect_install_method() -> &'static str { function install_method_from_path (line 142) | fn install_method_from_path(path: &str) -> &'static str { function telemetry_marker_path (line 156) | fn telemetry_marker_path() -> PathBuf { function touch_marker (line 164) | fn touch_marker(path: &PathBuf) { function test_device_hash_is_stable (line 173) | fn test_device_hash_is_stable() { function test_marker_path_exists (line 181) | fn test_marker_path_exists() { function test_install_method_unix_paths (line 187) | fn test_install_method_unix_paths() { function test_install_method_windows_paths (line 212) | fn test_install_method_windows_paths() { function test_detect_install_method_returns_known_value (line 228) | fn test_detect_install_method_returns_known_value() { function test_get_stats_returns_tuple (line 238) | fn test_get_stats_returns_tuple() { FILE: src/toml_filter.rs constant BUILTIN_TOML (line 31) | const BUILTIN_TOML: &str = include_str!(concat!(env!("OUT_DIR"), "/built... type MatchOutputRule (line 44) | struct MatchOutputRule { type ReplaceRule (line 56) | struct ReplaceRule { type TomlFilterTestDef (line 65) | pub struct TomlFilterTestDef { type TomlFilterFile (line 72) | struct TomlFilterFile { type TomlFilterDef (line 84) | struct TomlFilterDef { type CompiledMatchOutputRule (line 111) | struct CompiledMatchOutputRule { type CompiledReplaceRule (line 119) | struct CompiledReplaceRule { type LineFilter (line 125) | enum LineFilter { type CompiledFilter (line 133) | pub struct CompiledFilter { type TestOutcome (line 154) | pub struct TestOutcome { type VerifyResults (line 163) | pub struct VerifyResults { type TomlFilterRegistry (line 174) | pub struct TomlFilterRegistry { method load (line 181) | fn load() -> Self { method parse_and_compile (line 231) | fn parse_and_compile(content: &str, source: &str) -> Result Result( function apply_filter (line 427) | pub fn apply_filter(filter: &CompiledFilter, stdout: &str) -> String { function run_filter_tests (line 535) | pub fn run_filter_tests(filter_name_opt: Option<&str>) -> VerifyResults { function collect_test_outcomes (line 588) | fn collect_test_outcomes( function find_matching_filter (line 658) | pub fn find_matching_filter(command: &str) -> Option<&'static CompiledFi... function make_filters (line 686) | fn make_filters(toml: &str) -> Vec { function first_filter (line 690) | fn first_filter(toml: &str) -> CompiledFilter { function test_strip_ansi_removes_codes (line 700) | fn test_strip_ansi_removes_codes() { function test_strip_lines_matching_basic (line 714) | fn test_strip_lines_matching_basic() { function test_keep_lines_matching_basic (line 729) | fn test_keep_lines_matching_basic() { function test_truncate_lines_at_unicode_safe (line 744) | fn test_truncate_lines_at_unicode_safe() { function test_head_lines (line 761) | fn test_head_lines() { function test_tail_lines (line 777) | fn test_tail_lines() { function test_head_and_tail_combined (line 793) | fn test_head_and_tail_combined() { function test_max_lines_counts_omit_message (line 811) | fn test_max_lines_counts_omit_message() { function test_on_empty_when_all_filtered (line 830) | fn test_on_empty_when_all_filtered() { function test_on_empty_not_triggered_when_output_remains (line 845) | fn test_on_empty_not_triggered_when_output_remains() { function test_full_pipeline_order (line 860) | fn test_full_pipeline_order() { function test_mutual_exclusion_strip_keep_errors (line 887) | fn test_mutual_exclusion_strip_keep_errors() { function test_invalid_regex_returns_err (line 902) | fn test_invalid_regex_returns_err() { function test_schema_version_mismatch_errors (line 914) | fn test_schema_version_mismatch_errors() { function test_unknown_field_typo_errors (line 926) | fn test_unknown_field_typo_errors() { function test_empty_filter_passthrough (line 940) | fn test_empty_filter_passthrough() { function test_builtin_filters_compile (line 956) | fn test_builtin_filters_compile() { function test_find_filter_matches_terraform (line 969) | fn test_find_filter_matches_terraform() { function test_find_filter_no_match_returns_none (line 984) | fn test_find_filter_no_match_returns_none() { function test_project_filters_priority_over_builtin (line 997) | fn test_project_filters_priority_over_builtin() { function test_terraform_savings_above_60pct (line 1022) | fn test_terraform_savings_above_60pct() { function test_make_savings_above_60pct (line 1086) | fn test_make_savings_above_60pct() { function test_empty_input (line 1134) | fn test_empty_input() { function test_unicode_preserved (line 1148) | fn test_unicode_preserved() { function test_match_output_basic_short_circuit (line 1164) | fn test_match_output_basic_short_circuit() { function test_match_output_second_rule_matches (line 1180) | fn test_match_output_second_rule_matches() { function test_match_output_no_match_pipeline_continues (line 1197) | fn test_match_output_no_match_pipeline_continues() { function test_match_output_strip_ansi_before_match (line 1215) | fn test_match_output_strip_ansi_before_match() { function test_match_output_no_match_then_on_empty (line 1233) | fn test_match_output_no_match_then_on_empty() { function test_match_output_invalid_regex_rejected (line 1252) | fn test_match_output_invalid_regex_rejected() { function test_match_output_unless_blocks_short_circuit_when_errors_present (line 1269) | fn test_match_output_unless_blocks_short_circuit_when_errors_present() { function test_match_output_unless_allows_short_circuit_when_no_errors (line 1294) | fn test_match_output_unless_allows_short_circuit_when_no_errors() { function test_match_output_unless_falls_through_to_next_rule (line 1312) | fn test_match_output_unless_falls_through_to_next_rule() { function test_match_output_unless_no_field_behaves_like_before (line 1332) | fn test_match_output_unless_no_field_behaves_like_before() { function test_match_output_unless_invalid_regex_rejected (line 1349) | fn test_match_output_unless_invalid_regex_rejected() { function test_replace_basic_all_occurrences (line 1366) | fn test_replace_basic_all_occurrences() { function test_replace_chaining_sequential (line 1382) | fn test_replace_chaining_sequential() { function test_replace_backreferences (line 1400) | fn test_replace_backreferences() { function test_replace_then_strip_interaction (line 1416) | fn test_replace_then_strip_interaction() { function test_replace_empty_input_noop (line 1434) | fn test_replace_empty_input_noop() { function test_replace_invalid_regex_rejected (line 1450) | fn test_replace_invalid_regex_rejected() { function test_run_filter_tests_passes_on_correct_expected (line 1467) | fn test_run_filter_tests_passes_on_correct_expected() { function test_run_filter_tests_fails_on_wrong_expected (line 1499) | fn test_run_filter_tests_fails_on_wrong_expected() { function test_filters_without_tests_detected (line 1521) | fn test_filters_without_tests_detected() { function test_builtin_toml_has_schema_version (line 1543) | fn test_builtin_toml_has_schema_version() { function test_builtin_all_expected_filters_present (line 1553) | fn test_builtin_all_expected_filters_present() { function test_builtin_filter_count (line 1609) | fn test_builtin_filter_count() { function test_builtin_all_filters_have_inline_tests (line 1623) | fn test_builtin_all_filters_have_inline_tests() { function test_new_filter_discoverable_after_concat (line 1653) | fn test_new_filter_discoverable_after_concat() { FILE: src/tracking.rs function current_project_path_string (line 43) | fn current_project_path_string() -> String { function project_filter_params (line 54) | fn project_filter_params(project_path: Option<&str>) -> (Option,... constant HISTORY_DAYS (line 65) | const HISTORY_DAYS: i64 = 90; type Tracker (line 92) | pub struct Tracker { method new (line 250) | pub fn new() -> Result { method record (line 352) | pub fn record( method cleanup_old (line 389) | fn cleanup_old(&self) -> Result<()> { method record_parse_failure (line 403) | pub fn record_parse_failure( method get_parse_failure_summary (line 424) | pub fn get_parse_failure_summary(&self) -> Result { method get_summary (line 501) | pub fn get_summary(&self) -> Result { method get_summary_filtered (line 509) | pub fn get_summary_filtered(&self, project_path: Option<&str>) -> Resu... method get_by_command (line 570) | fn get_by_command( method get_by_day (line 598) | fn get_by_day( method get_all_days (line 640) | pub fn get_all_days(&self) -> Result> { method get_all_days_filtered (line 645) | pub fn get_all_days_filtered(&self, project_path: Option<&str>) -> Res... method get_by_week (line 713) | pub fn get_by_week(&self) -> Result> { method get_by_week_filtered (line 718) | pub fn get_by_week_filtered(&self, project_path: Option<&str>) -> Resu... method get_by_month (line 788) | pub fn get_by_month(&self) -> Result> { method get_by_month_filtered (line 793) | pub fn get_by_month_filtered(&self, project_path: Option<&str>) -> Res... method get_recent (line 865) | pub fn get_recent(&self, limit: usize) -> Result> { method get_recent_filtered (line 870) | pub fn get_recent_filtered( method count_commands_since (line 902) | pub fn count_commands_since(&self, since: chrono::DateTime Result> { method overall_savings_pct (line 927) | pub fn overall_savings_pct(&self) -> Result { method total_tokens_saved (line 941) | pub fn total_tokens_saved(&self) -> Result { method tokens_saved_24h (line 951) | pub fn tokens_saved_24h(&self, since: chrono::DateTime) -... type CommandRecord (line 100) | pub struct CommandRecord { type GainSummary (line 116) | pub struct GainSummary { type DayStats (line 156) | pub struct DayStats { type WeekStats (line 180) | pub struct WeekStats { type MonthStats (line 205) | pub struct MonthStats { type CommandStats (line 225) | type CommandStats = (String, usize, usize, f64, u64); function get_db_path (line 962) | fn get_db_path() -> Result { type ParseFailureRecord (line 982) | pub struct ParseFailureRecord { type ParseFailureSummary (line 992) | pub struct ParseFailureSummary { function record_parse_failure_silent (line 1001) | pub fn record_parse_failure_silent(raw_command: &str, error_message: &st... function estimate_tokens (line 1026) | pub fn estimate_tokens(text: &str) -> usize { type TimedExecution (line 1048) | pub struct TimedExecution { method start (line 1068) | pub fn start() -> Self { method track (line 1098) | pub fn track(&self, original_cmd: &str, rtk_cmd: &str, input: &str, ou... method track_passthrough (line 1134) | pub fn track_passthrough(&self, original_cmd: &str, rtk_cmd: &str) { function args_display (line 1157) | pub fn args_display(args: &[OsString]) -> String { function track (line 1191) | pub fn track(original_cmd: &str, rtk_cmd: &str, input: &str, output: &st... function test_estimate_tokens (line 1206) | fn test_estimate_tokens() { function test_args_display (line 1216) | fn test_args_display() { function test_tracker_record_and_recent (line 1227) | fn test_tracker_record_and_recent() { function test_track_passthrough_no_dilution (line 1251) | fn test_track_passthrough_no_dilution() { function test_timed_execution_records_time (line 1295) | fn test_timed_execution_records_time() { function test_timed_execution_passthrough (line 1308) | fn test_timed_execution_passthrough() { function test_custom_db_path_env (line 1327) | fn test_custom_db_path_env() { function test_default_db_path (line 1341) | fn test_default_db_path() { function test_project_filter_params_glob_pattern (line 1353) | fn test_project_filter_params_glob_pattern() { function test_project_filter_params_none (line 1368) | fn test_project_filter_params_none() { function test_project_filter_params_underscore_safe (line 1376) | fn test_project_filter_params_underscore_safe() { function test_parse_failure_roundtrip (line 1391) | fn test_parse_failure_roundtrip() { function test_parse_failure_recovery_rate (line 1409) | fn test_parse_failure_recovery_rate() { FILE: src/tree.rs constant NOISE_DIRS (line 14) | const NOISE_DIRS: &[&str] = &[ function run (line 43) | pub fn run(args: &[String], verbose: u8) -> Result<()> { function filter_tree_output (line 104) | fn filter_tree_output(raw: &str) -> String { function test_filter_removes_summary (line 140) | fn test_filter_removes_summary() { function test_filter_preserves_structure (line 150) | fn test_filter_preserves_structure() { function test_filter_handles_empty (line 161) | fn test_filter_handles_empty() { function test_filter_removes_trailing_empty_lines (line 168) | fn test_filter_removes_trailing_empty_lines() { function test_filter_summary_variations (line 175) | fn test_filter_summary_variations() { function test_noise_dirs_constant (line 198) | fn test_noise_dirs_constant() { FILE: src/trust.rs type TrustStore (line 25) | struct TrustStore { type TrustEntry (line 31) | pub struct TrustEntry { type TrustStatus (line 37) | pub enum TrustStatus { function store_path (line 48) | fn store_path() -> Result { function read_store (line 53) | fn read_store() -> Result { function write_store (line 64) | fn write_store(store: &TrustStore) -> Result<()> { function canonical_key (line 79) | fn canonical_key(filter_path: &Path) -> Result { function check_trust (line 95) | pub fn check_trust(filter_path: &Path) -> Result { function trust_filter (line 144) | pub fn trust_filter(filter_path: &Path) -> Result<()> { function trust_filter_with_hash (line 151) | pub fn trust_filter_with_hash(filter_path: &Path, hash: &str) -> Result<... function untrust_filter (line 167) | pub fn untrust_filter(filter_path: &Path) -> Result { function list_trusted (line 178) | pub fn list_trusted() -> Result> { function run_trust (line 188) | pub fn run_trust(list: bool) -> Result<()> { function run_untrust (line 243) | pub fn run_untrust() -> Result<()> { function print_risk_summary (line 261) | fn print_risk_summary(content: &str) { function setup_test_env (line 296) | fn setup_test_env(temp: &TempDir) -> PathBuf { function check_trust_with_store (line 301) | fn check_trust_with_store(filter_path: &Path, store_file: &Path) -> Resu... function trust_with_store (line 330) | fn trust_with_store(filter_path: &Path, store_file: &Path) -> Result<()> { function untrust_with_store (line 358) | fn untrust_with_store(filter_path: &Path, store_file: &Path) -> Result Result<()> { function filter_tsc_output (line 58) | fn filter_tsc_output(output: &str) -> String { function test_filter_tsc_output (line 180) | fn test_filter_tsc_output() { function test_every_error_message_shown (line 198) | fn test_every_error_message_shown() { function test_continuation_lines_preserved (line 215) | fn test_continuation_lines_preserved() { function test_no_file_limit (line 228) | fn test_no_file_limit() { function test_filter_no_errors (line 249) | fn test_filter_no_errors() { FILE: src/utils.rs function truncate (line 25) | pub fn truncate(s: &str, max_len: usize) -> String { function strip_ansi (line 48) | pub fn strip_ansi(text: &str) -> String { function execute_command (line 71) | pub fn execute_command(cmd: &str, args: &[&str]) -> Result<(String, Stri... function format_tokens (line 99) | pub fn format_tokens(n: usize) -> String { function format_usd (line 125) | pub fn format_usd(amount: f64) -> String { function format_cpt (line 151) | pub fn format_cpt(cpt: f64) -> String { function join_with_overflow (line 168) | pub fn join_with_overflow(items: &[String], total: usize, max: usize, la... function truncate_iso_date (line 185) | pub fn truncate_iso_date(date: &str) -> &str { function ok_confirmation (line 202) | pub fn ok_confirmation(action: &str, detail: &str) -> String { function detect_package_manager (line 220) | pub fn detect_package_manager() -> &'static str { function package_manager_exec (line 232) | pub fn package_manager_exec(tool: &str) -> Command { function resolve_binary (line 270) | pub fn resolve_binary(name: &str) -> Result { function resolved_command (line 287) | pub fn resolved_command(name: &str) -> Command { function tool_exists (line 315) | pub fn tool_exists(name: &str) -> bool { function test_truncate_short_string (line 324) | fn test_truncate_short_string() { function test_truncate_long_string (line 329) | fn test_truncate_long_string() { function test_truncate_exact_length (line 335) | fn test_truncate_exact_length() { function test_truncate_edge_case (line 340) | fn test_truncate_edge_case() { function test_strip_ansi_simple (line 350) | fn test_strip_ansi_simple() { function test_strip_ansi_multiple (line 356) | fn test_strip_ansi_multiple() { function test_strip_ansi_no_codes (line 362) | fn test_strip_ansi_no_codes() { function test_strip_ansi_complex (line 367) | fn test_strip_ansi_complex() { function test_execute_command_success (line 373) | fn test_execute_command_success() { function test_execute_command_failure (line 382) | fn test_execute_command_failure() { function test_format_tokens_millions (line 388) | fn test_format_tokens_millions() { function test_format_tokens_thousands (line 394) | fn test_format_tokens_thousands() { function test_format_tokens_small (line 400) | fn test_format_tokens_small() { function test_format_usd_large (line 406) | fn test_format_usd_large() { function test_format_usd_medium (line 412) | fn test_format_usd_medium() { function test_format_usd_small (line 418) | fn test_format_usd_small() { function test_format_usd_edge (line 424) | fn test_format_usd_edge() { function test_ok_confirmation_with_detail (line 430) | fn test_ok_confirmation_with_detail() { function test_ok_confirmation_no_detail (line 439) | fn test_ok_confirmation_no_detail() { function test_format_cpt_normal (line 444) | fn test_format_cpt_normal() { function test_format_cpt_edge_cases (line 451) | fn test_format_cpt_edge_cases() { function test_detect_package_manager_default (line 459) | fn test_detect_package_manager_default() { function test_truncate_multibyte_thai (line 467) | fn test_truncate_multibyte_thai() { function test_truncate_multibyte_emoji (line 477) | fn test_truncate_multibyte_emoji() { function test_truncate_multibyte_cjk (line 484) | fn test_truncate_multibyte_cjk() { function test_resolve_binary_finds_known_command (line 493) | fn test_resolve_binary_finds_known_command() { function test_resolve_binary_returns_absolute_path (line 504) | fn test_resolve_binary_returns_absolute_path() { function test_resolve_binary_fails_for_unknown (line 514) | fn test_resolve_binary_fails_for_unknown() { function test_resolve_binary_path_contains_binary_name (line 523) | fn test_resolve_binary_path_contains_binary_name() { function test_resolved_command_executes_known_command (line 540) | fn test_resolved_command_executes_known_command() { function test_tool_exists_finds_cargo (line 554) | fn test_tool_exists_finds_cargo() { function test_tool_exists_rejects_unknown (line 562) | fn test_tool_exists_rejects_unknown() { function test_tool_exists_finds_git (line 570) | fn test_tool_exists_finds_git() { function create_temp_cmd_wrapper (line 582) | fn create_temp_cmd_wrapper(dir: &std::path::Path, name: &str) -> std::pa... function path_with_dir (line 590) | fn path_with_dir(dir: &std::path::Path) -> std::ffi::OsString { function test_resolve_binary_finds_cmd_wrapper (line 599) | fn test_resolve_binary_finds_cmd_wrapper() { function test_resolve_binary_finds_bat_wrapper (line 631) | fn test_resolve_binary_finds_bat_wrapper() { function test_resolved_command_executes_cmd_wrapper (line 652) | fn test_resolved_command_executes_cmd_wrapper() { function test_resolved_command_fallback_on_unknown_binary (line 681) | fn test_resolved_command_fallback_on_unknown_binary() { function test_tool_exists_finds_cmd_wrapper (line 697) | fn test_tool_exists_finds_cmd_wrapper() { FILE: src/verify_cmd.rs function run (line 9) | pub fn run(filter: Option, require_all: bool) -> Result<()> { FILE: src/vitest_cmd.rs type VitestJsonOutput (line 14) | struct VitestJsonOutput { type VitestTestFile (line 32) | struct VitestTestFile { type VitestTest (line 39) | struct VitestTest { type VitestParser (line 48) | pub struct VitestParser; type Output (line 51) | type Output = TestResult; method parse (line 53) | fn parse(input: &str) -> ParseResult { function extract_failures_from_json (line 100) | fn extract_failures_from_json(json: &VitestJsonOutput) -> Vec Option { function extract_failures_regex (line 178) | fn extract_failures_regex(output: &str) -> Vec { type VitestCommand (line 212) | pub enum VitestCommand { function run (line 216) | pub fn run(cmd: VitestCommand, args: &[String], verbose: u8) -> Result<(... function run_vitest (line 222) | fn run_vitest(args: &[String], verbose: u8) -> Result<()> { function test_vitest_parser_json (line 281) | fn test_vitest_parser_json() { function test_vitest_parser_regex_fallback (line 304) | fn test_vitest_parser_regex_fallback() { function test_vitest_parser_passthrough (line 321) | fn test_vitest_parser_passthrough() { function test_strip_ansi (line 329) | fn test_strip_ansi() { function test_vitest_parser_with_pnpm_prefix (line 337) | fn test_vitest_parser_with_pnpm_prefix() { function test_vitest_parser_with_dotenv_prefix (line 355) | fn test_vitest_parser_with_dotenv_prefix() { function test_vitest_parser_with_nested_json (line 373) | fn test_vitest_parser_with_nested_json() { FILE: src/wc_cmd.rs function run (line 13) | pub fn run(args: &[String], verbose: u8) -> Result<()> { type WcMode (line 58) | enum WcMode { function detect_mode (line 73) | fn detect_mode(args: &[String]) -> WcMode { function filter_wc_output (line 135) | fn filter_wc_output(raw: &str, mode: &WcMode) -> String { function format_single_line (line 152) | fn format_single_line(line: &str, mode: &WcMode) -> String { function format_multi_line (line 184) | fn format_multi_line(lines: &[&str], mode: &WcMode) -> String { function find_common_prefix (line 258) | fn find_common_prefix(paths: &[&str]) -> String { function strip_prefix (line 290) | fn strip_prefix<'a>(path: &'a str, prefix: &str) -> &'a str { function test_single_file_full (line 302) | fn test_single_file_full() { function test_single_file_lines_only (line 309) | fn test_single_file_lines_only() { function test_single_file_words_only (line 316) | fn test_single_file_words_only() { function test_stdin_full (line 323) | fn test_stdin_full() { function test_stdin_lines (line 330) | fn test_stdin_lines() { function test_multi_file_lines (line 337) | fn test_multi_file_lines() { function test_multi_file_full (line 344) | fn test_multi_file_full() { function test_detect_mode_full (line 354) | fn test_detect_mode_full() { function test_detect_mode_lines (line 360) | fn test_detect_mode_lines() { function test_detect_mode_mixed (line 366) | fn test_detect_mode_mixed() { function test_detect_mode_separate_flags (line 372) | fn test_detect_mode_separate_flags() { function test_common_prefix (line 378) | fn test_common_prefix() { function test_no_common_prefix (line 384) | fn test_no_common_prefix() { function test_deep_common_prefix (line 390) | fn test_deep_common_prefix() { function test_empty (line 396) | fn test_empty() { FILE: src/wget_cmd.rs function run (line 6) | pub fn run(url: &str, args: &[String], verbose: u8) -> Result<()> { function run_stdout (line 55) | pub fn run_stdout(url: &str, args: &[String], verbose: u8) -> Result<()> { function extract_filename_from_output (line 117) | fn extract_filename_from_output(stderr: &str, url: &str, args: &[String]... function get_file_size (line 174) | fn get_file_size(filename: &str) -> u64 { function format_size (line 178) | fn format_size(bytes: u64) -> String { function compact_url (line 193) | fn compact_url(url: &str) -> String { function parse_error (line 212) | fn parse_error(stderr: &str, stdout: &str) -> String { function truncate_line (line 256) | fn truncate_line(line: &str, max: usize) -> String {