iTerm2 is a terminal emulator for Mac OS X that does amazing things.
This report summarizes scanner evidence for gnachman/iTerm2, a Swift project with 18,238 GitHub stars. SynthScan examined 1,417,807 lines of code across 6364 source files, recording 6573 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 5331 finding(s).
Are imports declared and package/API names verified? 319 finding(s).
Are wrappers, guards, and repeated structures necessary? 1776 finding(s).
Which changes need focused human review? 6573 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 6573 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ClaudeCodeHookEvent.swift | 1 | // ClaudeCodeHookEvent.swift | COMMENT |
| LOW | tools/run_shell_integration_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/copy_shell_integration.sh | 41 | cp $SUBMODULE/shell_integration/xonsh Resources/shell_integration/iterm2_shell_integration.xonsh | COMMENT |
| LOW | tools/sign_sparkle_helpers.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/eastasian.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/sign_and_copy_uv.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run_tests_vm.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run_tests_vm.sh | 21 | # ITERM2_ONSCREEN_TESTS=1 tools/run_tests_vm.sh --host vm1 -- tools/run_ssh_integration_live.sh | COMMENT |
| LOW | tools/run_tests_vm.sh | 41 | # to run on this machine itself. | COMMENT |
| LOW | tools/copy_models.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/copy_models.sh | 21 | # | COMMENT |
| LOW | tools/test_shell_integration_encoders.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_sign_update.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_proto.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run_ssh_integration_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/codesign_keychain_test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/update_uv_manifest.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/generate_nscharacterset.py | 461 | # within an L(+)V(+T) sequence, and CFStringGetRangeOfComposedCharactersAtIndex | COMMENT |
| LOW | tools/run.sh | 1 | #!/usr/bin/env zsh | COMMENT |
| LOW | tools/release_beta_noninteractive.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/add_file_to_xcodeproj.rb | 1 | #!/usr/bin/env ruby | COMMENT |
| LOW | tools/run_ai_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run_ai_live.sh | 21 | # | COMMENT |
| LOW | tools/run_ai_live.sh | 41 | SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" | COMMENT |
| LOW | tools/run_ai_live.sh | 101 | emit OPENAI_INTERVAL "${ITERM2_AI_LIVE_OPENAI_INTERVAL:-}" | COMMENT |
| LOW | tools/run_ai_live.sh | 161 | cd "$PROJECT_DIR" | COMMENT |
| LOW | tools/release_stable_noninteractive.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/release_stable_noninteractive.sh | 21 | # Usage: tools/release_stable_noninteractive.sh [--no-publish] <version> [notes-file] | COMMENT |
| LOW | tools/run_tmux_workgroup_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/extract_strings.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/extract_strings.sh | 21 | # | COMMENT |
| LOW | tools/extract_strings.sh | 61 | OBJC_SD="$BUILD_DIR/loc-stringsdata-objc-$CONFIG" | COMMENT |
| LOW | tools/build_uv.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_uv.sh | 21 | # - macOS deployment target is raised to 13.0 (uv's supported floor and the | COMMENT |
| LOW | tools/build_uv.sh | 41 | # | COMMENT |
| LOW | tools/run_python_runtime_e2e.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/dropbox_uploader.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 41 | # LR parser itself is defined in terms of an object (which allows multiple | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 161 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 261 | return self.parsedebug(input,lexer,debug,tracking,tokenfunc) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 761 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1121 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1241 | if self.func: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1361 | # 'left','right', or 'nonassoc'. level is a numeric level. | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1661 | if x_produces_empty: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1761 | COMMENT | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1881 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2061 | C.append(g) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2181 | # | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2261 | lookb.append((j,r)) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2281 | def compute_read_sets(self,C, ntrans, nullable): | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2301 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2681 | outp.append((p.str,p.name, p.len, p.func,p.file,p.line)) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 101 | # === Lexing Engine === | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 281 | # ------------------------------------------------------------ | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| 3974 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/generate_nscharacterset.py | 127 | # ============================================================================ | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 129 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 180 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 182 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 323 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 325 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 372 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 374 | # ============================================================================ | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 145 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 197 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 216 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_beta_noninteractive.sh | 273 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 106 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 144 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 180 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 232 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 265 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 309 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/release_stable_noninteractive.sh | 326 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 60 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 65 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 69 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 161 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 167 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1116 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1121 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1128 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1291 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1295 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1304 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1310 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1357 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1363 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1373 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1593 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1598 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1607 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1612 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1622 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1629 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1639 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1646 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1874 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1879 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1881 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1932 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1937 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2084 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2086 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2091 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2109 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2118 | # ----------------------------------------------------------------------------- | COMMENT |
| 391 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze_restorable_state.py | 52 | def decode_keyed_archive_objects(objects, top): | CODE |
| LOW | tools/analyze_restorable_state.py | 272 | def extract_sessions_from_view(view_node, sessions, debug=False): | CODE |
| LOW | tools/emoji.py | 81 | def output_default_emoji_presentation(): | CODE |
| LOW | tools/emoji.py | 137 | def output_default_text_presentation(): | CODE |
| LOW | tools/generate_nscharacterset.py | 111 | def format_ranges_with_comments(nums_with_names: dict, variable: str, indent: str = " ") -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 175 | def format_bidi_mirroring_pairs(pairs, indent=" "): | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 333 | def generate_emoji_default_text_presentation(emoji_data_content: str) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 341 | def generate_emoji_default_emoji_presentation(emoji_data_content: str) -> tuple[list[str], int]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 351 | def generate_strong_rtl_codes(unicode_data: dict) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 362 | def generate_strong_ltr_codes(unicode_data: dict) -> list[str]: | CODE |
| LOW | tools/sanitize_iterm2_plist.py | 172 | def is_profile_boolean_parameter(value): | CODE |
| LOW | tools/parse_ai_wire_log.py | 261 | def assemble_anthropic_stream(events: list[SSEEvent]) -> AssembledResponse: | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2093 | def compute_nullable_nonterminals(self): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2120 | def find_nonterminal_transitions(self,C): | CODE |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2207 | def compute_lookback_includes(self,C,trans,nullable): | CODE |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 98 | def p_storage_class_specifier(t): | CODE |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 834 | def p_argument_expression_list(t): | CODE |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 168 | def p_command_for_bad_initial(p): | CODE |
| LOW | …nsFramework/test-extensions/storage-ui-demo/content.js | 468 | function setupStorageChangeListener() { | CODE |
| LOW | …/Sources/BrowserExtensionListenerResponseHandler.swift | 13 | class BrowserExtensionListenerResponseHandler: NSObject, WKScriptMessageHandler { | CODE |
| LOW | OtherResources/framer.py | 1203 | async def mark_foreground_jobs_off_the_terminal(rows): | CODE |
| LOW | OtherResources/framer.py | 1929 | async def really_find_completions_with_prefix(prefix, directory, max_count, executable): | CODE |
| LOW | OtherResources/framer.py | 2749 | def install_terminating_signal_handlers(): | CODE |
| LOW | OtherResources/framer.py | 3112 | def _silence_shutdown_unraisable(unraisable): | CODE |
| LOW | OtherResources/it2.py | 241 | def parse_tmux_client_records(output): | CODE |
| LOW | OtherResources/it2.py | 340 | def tmux_advertised_client_records(): | CODE |
| LOW | OtherResources/it2.py | 680 | def _silence_std_stream_flush(): | CODE |
| LOW⚡ | tests/injected_shell_it2_path_order_test.py | 161 | def test_zprofile_prepend_after_path_helper(self): | CODE |
| LOW⚡ | tests/injected_shell_it2_path_order_test.py | 171 | def test_zshrc_and_zlogin_prepends(self): | CODE |
| LOW⚡ | tests/injected_shell_it2_path_order_test.py | 181 | def test_already_on_path_is_moved_not_duplicated(self): | CODE |
| LOW⚡ | tests/injected_shell_it2_path_order_test.py | 189 | def test_no_directory_leaves_path_alone(self): | CODE |
| LOW | tests/injected_shell_it2_path_order_test.py | 224 | def test_ksh_arrays_keeps_other_hooks(self): | CODE |
| LOW | tests/injected_shell_it2_path_order_test.py | 401 | def test_bash_profile_prepend_after_path_helper(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 102 | def test_too_few_arguments_fail(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 105 | def test_unknown_subcommand_fails(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 110 | def test_malformed_arguments_still_get_a_reply(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 113 | def test_tilde_expands_to_home(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 121 | def test_lists_files_folders_and_symlinks_by_name(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 162 | def test_a_file_is_not_a_directory(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 169 | def test_symlink_to_a_directory_lists_its_target(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 177 | def test_unreadable_directory_fails(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 308 | def test_relative_prefix_in_an_absolute_directory(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 311 | def test_relative_directory_uses_the_working_directory(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 315 | def test_relative_directory_without_a_working_directory_is_skipped(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 322 | def test_prefix_naming_a_directory_offers_its_slash(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 325 | def test_prefix_ending_in_a_slash_lists_the_directory(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 370 | def test_non_empty_directory_needs_r(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 378 | def test_unknown_flags_are_ignored(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 383 | def test_flags_without_a_path_fail(self): | CODE |
| LOW⚡ | tests/framer_file_test.py | 389 | def test_symlink_to_a_file_removes_only_the_link(self): | CODE |
| LOW | tests/framer_file_test.py | 150 | def test_each_entry_is_its_own_line(self): | CODE |
| LOW | tests/framer_file_test.py | 210 | def test_make_path_round_trips_raw_bytes(self): | CODE |
| LOW | tests/framer_file_test.py | 214 | def test_ascii_paths_with_spaces_and_newlines(self): | CODE |
| LOW | tests/framer_file_test.py | 237 | def test_a_chunk_past_the_end(self): | CODE |
| LOW | tests/framer_file_test.py | 274 | def test_symlink_is_not_followed(self): | CODE |
| LOW | tests/framer_file_test.py | 286 | def test_a_path_that_is_not_a_path(self): | CODE |
| LOW | tests/framer_file_test.py | 290 | def test_special_file_is_null(self): | CODE |
| LOW | tests/framer_file_test.py | 337 | def test_never_returns_more_than_the_limit(self): | CODE |
| LOW | tests/framer_file_test.py | 348 | def test_relative_working_directory(self): | CODE |
| LOW | tests/framer_file_test.py | 352 | def test_missing_directory_has_no_suggestions(self): | CODE |
| 786 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/basechars.py | 94 | except ValueError: | CODE |
| HIGH | tools/ignorable.py | 43 | except: | CODE |
| HIGH | tools/emoji.py | 91 | except: | CODE |
| HIGH | tools/emoji.py | 124 | except: | CODE |
| HIGH | tools/emoji.py | 148 | except: | CODE |
| HIGH | tools/emoji.py | 184 | except: | CODE |
| HIGH | tools/emoji.py | 228 | except: | CODE |
| HIGH | tools/updateVersion.py | 16 | except KeyError: | CODE |
| HIGH | tools/generate_nscharacterset.py | 63 | except ImportError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 3086 | except Exception: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 2812 | except (TypeError,ValueError): | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 1410 | except SyntaxError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 3025 | except Exception: | CODE |
| HIGH | tools/ply/ply-3.4/ply/lex.py | 904 | except ImportError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/cpp.py | 847 | except LookupError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/cpp.py | 762 | except IOError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 296 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 325 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 329 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 333 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 366 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 370 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 374 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 380 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 384 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 388 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 417 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 421 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 425 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 431 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 465 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 471 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 475 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 479 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 508 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 512 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 516 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 522 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 526 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 530 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 563 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 567 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 571 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testyacc.py | 68 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basinterp.py | 439 | except KeyError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basic.py | 25 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basic.py | 55 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basiclog.py | 33 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basiclog.py | 63 | except RuntimeError: | CODE |
| HIGH | tools/perf/stress_load.py | 484 | except KeyboardInterrupt: | CODE |
| HIGH | OtherResources/framer.py | 1153 | except OSError: | CODE |
| HIGH | OtherResources/framer.py | 2053 | except OSError: | CODE |
| HIGH | OtherResources/framer.py | 2099 | except ValueError: | CODE |
| HIGH | OtherResources/framer.py | 2915 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 200 | except (AttributeError, ValueError, OSError): | CODE |
| HIGH | OtherResources/it2.py | 449 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 669 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 132 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 622 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 659 | except OSError: | CODE |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/eastasian.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/emoji.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/bidi.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/idn.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badrule.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_missing1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badargs.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badtok.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_uprec2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_term1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_nop.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error4.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_notok.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badid.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_nodoc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec3.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_noerror.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_inf.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_sr.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_rr.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error3.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_uprec.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_simple.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_unused_rule.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_unused.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_dup.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_prec1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_notfunc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/optcalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/unicalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/doc/ply.html | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_misplaced.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/newclasscalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/classcalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_literal.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/calc/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/calcdebug/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/closurecalc/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | …/library/python/iterm2/write_only_profile_prologue.txt | 0 | sets which components are visible in the session's title, or selects a custom component. if it is set to `custom` then t | STRING |
| HIGH | api/library/python/iterm2/prologue.txt | 0 | sets which components are visible in the session's title, or selects a custom component. if it is set to `custom` then t | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | sets which components are visible in the session's title, or selects a custom component. if it is set to `custom` then t | STRING |
| HIGH | …/library/python/iterm2/write_only_profile_prologue.txt | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/prologue.txt | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/partial_profile.txt | 0 | makes this profile the default profile. raises badguidexception if the guid is not set. | STRING |
| HIGH | api/library/python/iterm2/profile_prologue.txt | 0 | makes this profile the default profile. raises badguidexception if the guid is not set. | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | makes this profile the default profile. raises badguidexception if the guid is not set. | STRING |
| HIGH | api/library/python/iterm2/iterm2/window.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/app.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/tab.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/window.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| HIGH | api/library/python/iterm2/iterm2/app.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| HIGH | api/library/python/iterm2/iterm2/tab.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/basechars.py | 5 | CODE | |
| LOW | tools/analyze_restorable_state.py | 19 | CODE | |
| LOW | tools/updateVersion.py | 10 | CODE | |
| LOW | tools/generate_nscharacterset.py | 26 | CODE | |
| LOW | tools/generate_nscharacterset.py | 28 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 45 | CODE | |
| LOW | tools/utf16_to_utf8_bin.py | 2 | CODE | |
| LOW | tools/find_ui_strings.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badrule.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_missing1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badargs.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_literal.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_term1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nop.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error4.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badid.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nodoc.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_misplaced.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec3.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_noerror.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_inf.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_sr.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_rr.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error3.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_simple.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_unused_rule.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_unused.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_dup.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_prec1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_notfunc.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 7 | CODE | |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 854 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 4 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basic.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basiclex.py | 3 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basiclog.py | 18 | CODE | |
| LOW | tools/perf/stress_load.py | 40 | CODE | |
| LOW | tools/perf/profile_stress_test.py | 21 | CODE | |
| LOW | tests/modern-key-reporting-test.py | 11 | CODE | |
| LOW | tests/flow_throughput_test.py | 22 | CODE | |
| LOW | tests/flow_throughput_test.py | 29 | CODE | |
| LOW | tests/move_session_test.py | 4 | CODE | |
| LOW | tests/it2_git_state_old_git_test.py | 13 | CODE | |
| LOW | tests/framer_commands_test.py | 17 | CODE | |
| LOW | tests/framer_flow_test.py | 20 | CODE | |
| LOW | tests/colors.py | 2 | CODE | |
| LOW | sources/template_basic_daemon.py | 3 | CODE | |
| LOW | api/library/python/iterm2/test.py | 1 | CODE | |
| LOW | api/library/python/iterm2/gen_binding.py | 3 | CODE | |
| LOW | api/library/python/iterm2/docs/generate_menu_ids.py | 2 | CODE | |
| LOW | api/library/python/iterm2/iterm2/arrangement.py | 3 | CODE | |
| LOW | api/library/python/iterm2/iterm2/registration.py | 3 | CODE | |
| LOW | api/library/python/iterm2/iterm2/screen.py | 3 | CODE | |
| 200 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ply/ply-3.4/ply/__init__.py | 4 | __all__ = ['lex','yacc'] | CODE |
| LOW | api/library/python/iterm2/iterm2/window.py | 233 | def update_from(self, other: Window) -> None: | CODE |
| LOW | api/library/python/iterm2/iterm2/window.py | 238 | def update_tab(self, tab: Tab) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 231 | def set_foreground_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 240 | def set_foreground_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 249 | def set_foreground_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 258 | def set_background_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 267 | def set_background_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 276 | def set_background_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 285 | def set_bold_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 294 | def set_bold_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 303 | def set_bold_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 312 | def set_use_bright_bold(self, value: bool) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 462 | def set_link_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 471 | def set_link_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 480 | def set_link_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 489 | def set_selection_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 498 | def set_selection_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 507 | def set_selection_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 516 | def set_selected_text_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 525 | def set_selected_text_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 534 | def set_selected_text_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 543 | def set_cursor_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 552 | def set_cursor_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 561 | def set_cursor_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 570 | def set_cursor_text_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 579 | def set_cursor_text_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 588 | def set_cursor_text_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 597 | def set_ansi_0_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 606 | def set_ansi_0_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 615 | def set_ansi_0_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 624 | def set_ansi_1_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 633 | def set_ansi_1_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 642 | def set_ansi_1_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 651 | def set_ansi_2_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 660 | def set_ansi_2_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 669 | def set_ansi_2_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 678 | def set_ansi_3_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 687 | def set_ansi_3_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 696 | def set_ansi_3_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 705 | def set_ansi_4_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 714 | def set_ansi_4_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 723 | def set_ansi_4_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 732 | def set_ansi_5_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 741 | def set_ansi_5_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 750 | def set_ansi_5_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 759 | def set_ansi_6_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 768 | def set_ansi_6_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 777 | def set_ansi_6_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 786 | def set_ansi_7_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 795 | def set_ansi_7_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 804 | def set_ansi_7_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 813 | def set_ansi_8_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 822 | def set_ansi_8_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 831 | def set_ansi_8_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 840 | def set_ansi_9_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 849 | def set_ansi_9_color_light(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 858 | def set_ansi_9_color_dark(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 867 | def set_ansi_10_color(self, value: Color) -> None: | CODE |
| LOW⚡ | api/library/python/iterm2/iterm2/profile.py | 876 | def set_ansi_10_color_light(self, value: Color) -> None: | CODE |
| 158 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 2 | # Live shell-integration test harness runner. Drives | COMMENT |
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 12 | # Shells that aren't installed are skipped automatically by the harness. | COMMENT |
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 16 | # harness reads from there. The file is mode 0600, lives under | COMMENT |
| MEDIUM | tools/run_tests_vm.sh | 18 | # Run any command from the checkout on the VM, e.g. a live harness: | COMMENT |
| MEDIUM | tools/build_sign_update.sh | 143 | sed -i '' -e "s#KEYFILE#$B/key.bin#; s#MSGFILE#$B/msg.bin#; s#SIGFILE#$B/sig_c.bin#" "$B/harness.c" | CODE |
| MEDIUM | tools/run_ssh_integration_live.sh | 2 | # Live it2-over-ssh-integration harness. Runs SSHIntegrationLiveHarness in the ModernTests bundle | COMMENT |
| MEDIUM | tools/run_ssh_integration_live.sh | 43 | # these into the test process, where the harness reads ITERM2_SSH_LIVE to opt in. | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 48 | """Fetch URL content with robust TLS handling.""" | STRING |
| MEDIUM⚡ | tools/run_ai_live.sh | 2 | # Live AI test harness runner. Drives AILiveHarness in the ModernTests | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 6 | # tools/run_ai_live.sh # every harness method | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 14 | # Vendors with no key set are skipped automatically by the harness. | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 16 | # By default the harness exercises every model in AIMetadata.swift for | COMMENT |
| MEDIUM | tools/run_ai_live.sh | 36 | # harness reads from there. The file is mode 0600, lives under | COMMENT |
| MEDIUM | tools/run_ai_live.sh | 44 | # THIS worktree, so a leftover here can't drive the live harness in another | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 60 | # "Live AI harness is opt-in". A leftover at the repo root is gitignored (never | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 61 | # committable), shows under `git status --ignored`, makes the harness log "Live | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 62 | # AI harness ACTIVE" loudly, and run_tests.expect deletes it defensively on the | COMMENT |
| MEDIUM | tools/run_tmux_workgroup_live.sh | 2 | # Live harness for tmux workgroup concurrency. Runs TmuxWorkgroupLiveHarness in the ModernTests | COMMENT |
| MEDIUM | tools/run_python_runtime_e2e.sh | 2 | # Live uv Python-runtime end-to-end harness. Runs the ITERM2_UV_LIVE-gated tests | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 333 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 644 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 916 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 35 | #### we simply return nothing | COMMENT |
| MEDIUM | tools/perf/run_stress_test.sh | 242 | # not the test harness itself. | COMMENT |
| MEDIUM | OtherResources/it2.py | 498 | # script, a test harness, a program that keeps its end open), and read() would block forever. | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 978 | # Save the value we just set PS1/PS2 to so if the user changes them later | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 117 | # a modifier-remapping (Super/Hyper/Meta) that the harness can't make on | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 265 | # Run the test harness | COMMENT |
| MEDIUM | tests/apply_layout_integration_test.py | 1532 | # Refresh before each test so the harness sees the current set of | COMMENT |
| MEDIUM | tests/framer_harness.py | 391 | ## In-process harness | COMMENT |
| MEDIUM | tests/tmux_key_inspector.sh | 2 | # Manual test harness for tmux -CC modifyOtherKeys key delegation (issue 12928). | COMMENT |
| MEDIUM | tests/framer_e2e_test.py | 154 | # hit it with ordinary paths. The harness's encoder is a copy of Conductor.encode's; this | COMMENT |
| MEDIUM | ModernTests/TerminalHardRulesTests.swift | 129 | /// Obscure zsh dangerous builtins the classifier may not recognize, robust | COMMENT |
| MEDIUM | ModernTests/SSHIntegrationLiveHarness.swift | 369 | let event = #"{"hook_event_name": "UserPromptSubmit", "session_id": "harness", "cwd": "/tmp", "prompt": "hi"}"# | CODE |
| MEDIUM | …20f6b721e5e4ef802212e588894eb026f69c3fc765d42b154.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"I cannot write a phishing email\"}],\"role | CODE |
| MEDIUM | …20f6b721e5e4ef802212e588894eb026f69c3fc765d42b154.json | 26 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" to mitigate the risk of phishing delivery and impa | CODE |
| MEDIUM | …Fixtures/gemini_gemini-3.6-flash_refusal_noStream.json | 29 | "text" : "I cannot generate a phishing email template designed to impersonate a financial institution or | CODE |
| MEDIUM | …Fixtures/gemini_gemini-3.5-flash_refusal_noStream.json | 29 | "text" : "I cannot generate a phishing email template targeting Wells Fargo or any other institution, no | CODE |
| MEDIUM | AILiveHarness/AILiveDriver.swift | 186 | // few seconds; absorbing those here lets the harness be robust to vendor | COMMENT |
| MEDIUM | AILiveHarness/AILiveBlobReplayTests.swift | 36 | // is larger, so Sonnet/Opus (1024) make the cache assertion robust. | COMMENT |
| MEDIUM | AILiveHarness/AILiveHarness.swift | 1137 | // produces this 400. Make the conversation layer robust. | STRING |
| MEDIUM | cc-status/Sources/cc-status/main.swift | 10 | // directory. Resolving it2 relative to our own realpath is robust against $PATH not containing | COMMENT |
| MEDIUM | .github/workflows/test.yml | 71 | # mode so the harness runs entirely from the committed cassettes | COMMENT |
| MEDIUM | .github/workflows/test.yml | 77 | # lets the harness find the cassettes and the on-disk fixtures. | COMMENT |
| MEDIUM | sources/Drawing/iTermTextDrawingHelper.m | 1709 | // Absolutely positioned button | COMMENT |
| MEDIUM | sources/LineBuffer/iTermLineBlockArray.m | 620 | // Definitely not in this block; advance. | COMMENT |
| MEDIUM | sources/Workgroups/iTermWorkgroupInstance.swift | 73 | // (rotates) makes toolbar/lookup robust to those rotations. | COMMENT |
| MEDIUM | sources/TerminalView/iTermRightGutterController.swift | 426 | // during this drag) and the timestamp slot is stable, so this is robust to | COMMENT |
| MEDIUM | sources/VT100Screen/VT100ScreenMutableState.m | 4271 | // One of this machine's names. Matching is robust to the machine | COMMENT |
| MEDIUM | sources/ScreenChar/ScreenChar.m | 274 | // Definitely no combining mark here. | COMMENT |
| MEDIUM | sources/AITerm/ChatTitleStyling.swift | 38 | // every session-to-chat lookup robust across the guid<->stableID migration and | COMMENT |
| MEDIUM | sources/AITerm/ChatAgent.swift | 1286 | // negative, leaving that wedge unfixed. The robust form would flip clearedTyping | STRING |
| MEDIUM | sources/AITerm/ChatBlobCapture.swift | 130 | // Row count (not decoded-blob count): O(1)-ish and robust to rows this | COMMENT |
| MEDIUM | sources/AITerm/ChatDatabase.swift | 538 | /// robust to rows whose protocol this build can't decode (which `blobs(inChat:)` | STRING |
| MEDIUM | sources/AITerm/ChatWindowController.swift | 94 | // DESIGN NOTE: The robust fix is to persist the base title and fork | COMMENT |
| MEDIUM | sources/AITerm/ChatWindowController.swift | 384 | // Remove the separator line for seamless blending | COMMENT |
| MEDIUM | sources/Companion/CompanionPairingController.swift | 867 | /// (the robust, timing-independent path). Also nudge a currently-connected phone | COMMENT |
| MEDIUM | api/library/python/iterm2/iterm2/transaction.py | 1 | """Provides a class to facilitate atomic transactions.""" | STRING |
| MEDIUM | …lightr.framework/Versions/A/Resources/highlight.min.js | 15 | literal:"blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak locationNull n | CODE |
| MEDIUM | …anion/iTerm2Companion/App/VoiceCaptureController.swift | 8 | // approach is deliberately simple and robust: every pass yields the complete | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/release_stable.sh | 58 | # Create the zip file | COMMENT |
| MEDIUM | tools/release_beta.sh | 64 | # Create the zip file | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 630 | #Create the chunk | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 847 | #Creating the empty file, that for two reasons: | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 1072 | #Create a new directory | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 164 | # The following classes are used for the LR parser itself. These are not | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 169 | # This class is used to hold non-terminal grammar symbols during parsing. | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1119 | # The following functions, classes, and variables are used to represent and | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1307 | # The following class represents the contents of the specified grammar along | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1877 | # The following classes and functions are used to generate LR parsing tables on | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1935 | # This class implements the LR table generation algorithm. There are no | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2553 | # This file is automatically generated. Do not edit. | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 182 | # This class is a wrapper around the objects actually passed to each | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1168 | # Create a list of unique production symbols used in the production | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1178 | # Create a string representation | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1248 | # This class represents a specific stage of parsing a production rule. For | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1454 | # Create a production and add it to the list of productions | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2690 | # The following functions and classes are used to implement the PLY | STRING |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2758 | # This class represents information extracted for building a parser including | STRING |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 3107 | # Create a grammar object | STRING |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/lex.py | 541 | # This class represents information needed to build a lexer as extracted from a | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/lex.py | 322 | # Create a token for return | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/cpp.py | 8 | # This module implements an ANSI-C style lexical preprocessor for PLY. | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/cpp.py | 770 | # Define a new macro | COMMENT |
| MEDIUM | tools/ply/ply-3.4/example/BASIC/basinterp.py | 1 | # This file provides the runtime support for running a basic program | COMMENT |
| MEDIUM | tools/ply/ply-3.4/example/BASIC/basinterp.py | 360 | # Create a program listing | COMMENT |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 275 | # Define a rule so we can track line numbers | COMMENT |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 541 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 823 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 890 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 967 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 1120 | a = lex.lex(object=m) # Create a lexer | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 2942 | # Create a new scope for local variables | COMMENT |
| MEDIUM | images/icons/copy_1x_to_2x.sh | 1 | # Create the following icons: | COMMENT |
| MEDIUM | OtherResources/framer.py | 1990 | # Create a temporary file in the user's home directory | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 295 | # This function is installed as part of the PROMPT_COMMAND; | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 311 | # This function is installed as part of the PROMPT_COMMAND. | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 413 | # This function is installed as the DEBUG trap. It is invoked before each | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 15 | # Create a pipe for signal handling | COMMENT |
| MEDIUM | tests/load_url_test.py | 35 | # Create a browser tab using profile customizations | COMMENT |
| MEDIUM | pwmplugin/Tests/test_get_password.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_get_password.sh | 15 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/bitwarden_test_integration.sh | 179 | # Create a test account with TOTP using bw directly | COMMENT |
| MEDIUM | pwmplugin/Tests/test_integration.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_integration.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_delete_account.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_delete_account.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_login.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_login.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_list_accounts.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_list_accounts.sh | 14 | # Create a new database (password needs to be entered twice) | COMMENT |
| MEDIUM | pwmplugin/Tests/test_add_account.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_add_account.sh | 15 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_set_password.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_set_password.sh | 16 | # Create a new database | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/eastasian.py | 117 | CODE | |
| LOW | tools/eastasian.py | 149 | CODE | |
| LOW | tools/analyze_restorable_state.py | 52 | CODE | |
| LOW | tools/analyze_restorable_state.py | 109 | CODE | |
| LOW | tools/analyze_restorable_state.py | 272 | CODE | |
| LOW | tools/analyze_restorable_state.py | 383 | CODE | |
| LOW | tools/analyze_restorable_state.py | 471 | CODE | |
| LOW | tools/analyze_restorable_state.py | 57 | CODE | |
| LOW | tools/emoji.py | 200 | CODE | |
| LOW | tools/generate_nscharacterset.py | 276 | CODE | |
| LOW | tools/sanitize_iterm2_plist.py | 457 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 125 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 261 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 399 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 453 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2722 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 282 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 597 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 869 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1390 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1518 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1647 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1681 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1718 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1777 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1977 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2093 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2120 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2140 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2207 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2321 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2362 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2545 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2827 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2927 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2974 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 482 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 865 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 141 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 304 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 621 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 652 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 723 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 323 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 376 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 419 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 469 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 535 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 594 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 724 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 773 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badrule.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_missing1.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badargs.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badtok.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec2.py | 26 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_literal.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_term1.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nop.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec2.py | 31 | CODE | |
| 97 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/sfsymbol2png.swift | 6 | print("Error: Symbol '\(symbolName)' not found.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 21 | print("Error: Failed to create bitmap representation.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 26 | print("Error: Failed to generate PNG data.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 34 | print("Error: Failed to write PNG file: \(error.localizedDescription)") | CODE |
| MEDIUM | tools/build_mimetypes.swift | 12 | print("Error fetching data: \(error)") | CODE |
| LOW | tools/basechars.py | 39 | except Exception: | CODE |
| LOW | tools/basechars.py | 52 | except Exception as e: | CODE |
| LOW | tools/analyze_restorable_state.py | 47 | except Exception as e: | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 138 | print(f"Error: No 'Node' table found in {db_path}") | CODE |
| LOW | tools/analyze_restorable_state.py | 147 | except Exception as e2: | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 160 | print(f"Error: No 'Node' table found in {db_path}") | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 605 | print(f"Error: Database not found at {db_path}") | CODE |
| LOW | tools/sanitize_iterm2_plist.py | 577 | except Exception as e: # noqa: BLE001 - report and continue | CODE |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1845 | def read_pickle(self,filename): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2750 | except Exception: | STRING |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 3025 | except Exception: | STRING |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3080 | except Exception: | STRING |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3086 | except Exception: | STRING |
| MEDIUM | tools/ply/ply-3.4/ply/lex.py | 427 | def get_caller_module_dict(levels): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/lex.py | 505 | except Exception: | CODE |
| MEDIUM | tools/perf/profile_stress_test.py | 34 | print("Error: No iTerm2 process found") | CODE |
| MEDIUM | tools/perf/profile_stress_test.py | 118 | print("Error: Profile output file not found") | CODE |
| MEDIUM | tools/perf/analyze_profile.py | 22 | print("Error: Profile output file not found") | CODE |
| MEDIUM | WebExtensionsFramework/APIGenerator/main.swift | 22 | print("Error writing to file: \(error)") | CODE |
| MEDIUM | WebExtensionsFramework/APIGenerator/main.swift | 33 | print("Error writing to file: \(error)") | CODE |
| LOW | OtherResources/it2_git_state.py | 429 | except Exception as e: | CODE |
| MEDIUM | OtherResources/it2_git_state.py | 421 | def main(): | CODE |
| MEDIUM | OtherResources/framer.py | 498 | def _read(source, size): | CODE |
| MEDIUM | OtherResources/framer.py | 946 | def autopoll(delay): | CODE |
| MEDIUM | OtherResources/framer.py | 987 | def get_echo_icanon(tty): | CODE |
| MEDIUM | OtherResources/framer.py | 995 | def watch_tty(proc, delay): | CODE |
| MEDIUM | OtherResources/framer.py | 2106 | def scan(): | CODE |
| LOW⚡ | OtherResources/framer.py | 2031 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2034 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2043 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2215 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2224 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2233 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2241 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2251 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2261 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 2270 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 653 | except Exception: | CODE |
| LOW | OtherResources/framer.py | 665 | except Exception: | CODE |
| LOW | OtherResources/framer.py | 808 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 972 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 991 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1004 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1019 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1197 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1413 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1442 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1501 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1520 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1547 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1567 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1595 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1647 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1838 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1871 | except Exception as e: | CODE |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ModernTests/EditSessionNameTitleComponentsTests.m | 5 | // QA finding F-492: with a profile whose Title is “AI-generated name” and no AI title, a session | COMMENT |
| HIGH | ModernTests/AITitleComponentLocalizationTests.swift | 5 | // The “AI-generated name” item in Settings > Profiles > General > Title and the | COMMENT |
| HIGH | ModernTests/AITitleComponentLocalizationTests.swift | 43 | // “AI-generated name” title component, so each translation of the menu item | COMMENT |
| HIGH | ModernTests/BrowserSessionTitleTests.swift | 86 | // Browser sessions are never AI-titled, so the AI-generated name item is | COMMENT |
| HIGH | …es/Settings/ProfilesGeneralPreferencesViewController.h | 39 | // Whether the "AI-generated name" title component should be offered in the popup. | COMMENT |
| HIGH | …es/Settings/ProfilesGeneralPreferencesViewController.m | 730 | // The AI-generated name option is gated behind the off-by-default | COMMENT |
| HIGH | …ser/WebViewAdditions/iTermBrowserWebView+Actions.swift | 380 | // Skip mark case as requested | COMMENT |
| HIGH | sources/PTYSession/PTYSession.swift | 3111 | // MARK: - AI-generated tab titles | COMMENT |
| HIGH | sources/AITerm/ChatCellView.swift | 180 | // Chats without an icon (no AI-generated title yet, or icon | COMMENT |
| HIGH | sources/AITerm/ChatListModel.swift | 159 | // Persists an AI-generated icon (delivered by ChatAgent after it | COMMENT |
| HIGH | sources/AITerm/Chat.swift | 76 | // AI-generated title arrives or when generation fails; the list | COMMENT |
| HIGH | sources/AITerm/ChatSessionMentionAttachment.swift | 13 | // draws AI-generated mentions. When the message is sent, | COMMENT |
| HIGH | Companion/iTerm2Companion/Screens/HomeView.swift | 147 | /// The chat's AI-generated icon (a small PNG the Mac stores on the Chat), | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze-crashes.sh | 30 | # Step 1: Process crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 46 | # Step 2: Copy processed crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 62 | # Step 3: Get correct UUIDs from app bundle | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 82 | # Step 4: Remove crashes with incorrect UUIDs | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 117 | # Step 5: Cluster crashes using Claude Code | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 127 | # Step 6: Analyze each cluster | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2373 | # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items | COMMENT |
| LOW | …mework/Sources/BrowserExtensionNavigationHandler.swift | 68 | // NOTE: This method has multiple parameters in the completion handler | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 146 | # WARNING: This variable is no longer used and should not be relied upon. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1366 | // Step 1: write 25 chars to force a soft wrap at column 20. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1372 | // Step 2: cursor is on line 1. Set it to doubleHeightTop. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1378 | // Step 3: widen by 1 column — line still wraps but at different position. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1384 | // Step 4: narrow back to original width. | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 803 | // Step 1: Start typing function | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 807 | // Step 2: Open paren | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 811 | // Step 3: First arg complete, suggest second | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 815 | // Step 4: Complete function - verification that it doesn't crash | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 823 | // Step 1: Start interpolation | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 827 | // Step 2: Partial path - suggestions are full swifty strings containing the path | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 831 | // Step 3: Complete interpolation and continue literal | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 835 | // Step 4: Start another interpolation - suggestions are full strings containing the path | COMMENT |
| LOW | docs/adding-a-translation.md | 45 | ## Step 1 - Add your language to the project | COMMENT |
| LOW | docs/adding-a-translation.md | 63 | ## Step 2 - Translate a plain string | COMMENT |
| LOW | docs/adding-a-translation.md | 92 | ## Step 3 - Format specifiers (`%@`, `%ld`, `%1$@`, …) | COMMENT |
| LOW | docs/adding-a-translation.md | 116 | ## Step 4 - Plurals | COMMENT |
| LOW | docs/adding-a-translation.md | 196 | ## Step 5 - What NOT to translate | COMMENT |
| LOW | docs/adding-a-translation.md | 216 | ## Step 6 - Verify | COMMENT |
| LOW | docs/adding-a-translation.md | 233 | ## Step 7 - Build and test in your language | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 110 | ### Step 2: the window is created empty | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 127 | ### Step 3: partial attachment walks dictionaries only | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 144 | ### Step 4: the timeout race | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 161 | ### Step 5: sessions are created, then attached or launched | COMMENT |
| LOW | sources/LineBuffer/iTermLineBlockArray.m | 657 | // Step 1: Find which blocks contain your wrapped lines | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 672 | // Step 2: Convert wrapped line offsets to raw line numbers within their blocks | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 681 | // Step 3: Count raw lines | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 417 | // Step 1: Skip the current "word" (same character class) | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 421 | // Step 2: Skip any whitespace | COMMENT |
| LOW | sources/API/iTermSetupCfgParser.m | 40 | @"# WARNING: This file was generated automatically by iTerm2. Do not edit it manually.\n" | CODE |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 504 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 507 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 510 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | api/library/python/iterm2/gen_binding.py | 944 | if status == api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/gen_binding.py | 947 | api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 175 | if status == api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value( | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 180 | api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/rpc.py | 909 | request.selection_request.set_selection_request.selection.sub_selections.extend( | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 807 | if status == api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value( | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 812 | api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze_restorable_state.py | 65 | # Check if this is an NS.keys/NS.objects dictionary | COMMENT |
| LOW | tools/analyze_restorable_state.py | 75 | # Check if this is an NS.objects array | COMMENT |
| LOW | tools/analyze_restorable_state.py | 251 | # Check if contents exist | COMMENT |
| LOW | tools/analyze_restorable_state.py | 424 | # Check if this looks like a tab | COMMENT |
| LOW | tools/analyze_restorable_state.py | 496 | # Check if array contains window-like nodes | COMMENT |
| LOW | tools/build_terminfo.sh | 18 | # Iterate over the list | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 91 | # Check if this crash has a valid UUID | COMMENT |
| LOW | tools/applyLocalization.sh | 25 | # Check if the target nib file already exists | COMMENT |
| LOW | tools/dropbox_uploader.sh | 162 | #Check if readlink is installed and supports the -m option | COMMENT |
| LOW | tools/dropbox_uploader.sh | 186 | #Print the message based on $QUIET variable | COMMENT |
| LOW | tools/dropbox_uploader.sh | 396 | #Check if it's a file or directory | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2044 | # Loop over the items in C and each grammar symbols | COMMENT |
| LOW | tools/ply/ply-3.4/doc/makedoc.py | 191 | # Write the file back out | COMMENT |
| LOW | tools/ply/ply-3.4/doc/ply.html | 2870 | p[0] = some_value # Assign value to seen_A | CODE |
| LOW | tools/perf/run_stress_test.sh | 1517 | # Check if using isolated suite (not user's normal prefs) | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 966 | # Set PS1 to various escape sequences, the user's preferred prompt, and more escape sequences. | COMMENT |
| LOW | tests/kitty-image-protocol/unittests.sh | 1108 | # Check if an argument is provided | COMMENT |
| LOW | tests/kitty-image-protocol/unittests.sh | 1115 | # Iterate over the list and call each function | COMMENT |
| LOW | .github/workflows/test.yml | 121 | # Check if this is a flaky ibtoold/asset catalog crash | COMMENT |
| LOW | sources/iterm2_git_poll.sh | 8 | # Check if git is broken because it can't find Xcode. A special charm of macOS for you. | COMMENT |
| LOW | api/library/python/iterm2/iterm2/triggers.py | 123 | # Check if this is an event-based trigger (matchType >= 100) | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 71 | # Check if output is valid JSON | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 79 | # Check if output contains password field | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 86 | # Check if the password is correct | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_run_all_tests.sh | 8 | # Check if BW_TEST_PASSWORD is set | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_run_all_tests.sh | 16 | # Check if user is logged in to Bitwarden | COMMENT |
| LOW | pwmplugin/Tests/test_handshake.sh | 13 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_handshake.sh | 20 | # Check if output contains expected fields | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_integration.sh | 172 | # Check if we got a valid session (should be a long alphanumeric string) | COMMENT |
| LOW | pwmplugin/Tests/test_integration.sh | 185 | # Check if it's in the recycle bin path | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_handshake.sh | 13 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_handshake.sh | 20 | # Check if output contains expected fields | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_login.sh | 29 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_login.sh | 37 | # Check if output contains token field | COMMENT |
| LOW | pwmplugin/Tests/test_delete_account.sh | 84 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_login.sh | 37 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_login.sh | 45 | # Check if output contains token field | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 74 | # Check if output is valid JSON | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 82 | # Check if output contains accounts array | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 89 | # Check if we have at least one account | COMMENT |
| LOW | pwmplugin/Tests/test_add_account.sh | 56 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_add_account.sh | 64 | # Check if output contains accountIdentifier | COMMENT |
| LOW | pwmplugin/Tests/test_set_password.sh | 70 | # Check if output is valid JSON | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | OtherResources/framer.py | 1129 | # /dev/null, or an MCP server piped to its parent. iTerm2 names a session's job after the deepest | COMMENT |
| HIGH | OtherResources/it2.py | 647 | # bare number/string/null): .get would raise AttributeError. | COMMENT |
| HIGH | tests/browser_eval_smoke.py | 33 | document.getElementById("name").addEventListener("input", e => window.typed.push(e.target.value)); | CODE |
| HIGH | tests/browser_eval_smoke.py | 102 | "return {title: document.title, n: 1 + 2, list: [true, null]}") | CODE |
| HIGH | tests/framer_pane_test.py | 188 | "if (exec 3</dev/tty) 2>/dev/null; then echo ctty=yes; else echo ctty=no; fi; " | CODE |
| HIGH⚡ | tests/framer_commands_test.py | 436 | 'echo "argv0=$0 login=$(shopt -q login_shell && echo on || echo off)"') | CODE |
| HIGH⚡ | tests/framer_commands_test.py | 436 | 'echo "argv0=$0 login=$(shopt -q login_shell && echo on || echo off)"') | CODE |
| HIGH⚡ | tests/framer_commands_test.py | 476 | pid = await self.h.start("login", self.tmp, "head -n 1 >/dev/null; stty size") | CODE |
| HIGH | tests/framer_commands_test.py | 748 | # /dev/null) is marked, so iTerm2 names the job after the one on the terminal, as it does | STRING |
| HIGH⚡ | tests/framer_e2e_test.py | 259 | pid = self.start("login", self.p.workdir, "head -n 1 >/dev/null; stty size") | CODE |
| HIGH | cc-status/tests/shim_test.py | 5 | swift build -c release && python3 tests/shim_test.py | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze-crashes.sh | 30 | # Step 1: Process crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 46 | # Step 2: Copy processed crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 62 | # Step 3: Get correct UUIDs from app bundle | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 82 | # Step 4: Remove crashes with incorrect UUIDs | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 117 | # Step 5: Cluster crashes using Claude Code | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 127 | # Step 6: Analyze each cluster | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2373 | # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1366 | // Step 1: write 25 chars to force a soft wrap at column 20. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1372 | // Step 2: cursor is on line 1. Set it to doubleHeightTop. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1378 | // Step 3: widen by 1 column — line still wraps but at different position. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1384 | // Step 4: narrow back to original width. | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 803 | // Step 1: Start typing function | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 807 | // Step 2: Open paren | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 811 | // Step 3: First arg complete, suggest second | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 815 | // Step 4: Complete function - verification that it doesn't crash | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 823 | // Step 1: Start interpolation | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 827 | // Step 2: Partial path - suggestions are full swifty strings containing the path | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 831 | // Step 3: Complete interpolation and continue literal | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 835 | // Step 4: Start another interpolation - suggestions are full strings containing the path | COMMENT |
| LOW | sources/LineBuffer/iTermLineBlockArray.m | 657 | // Step 1: Find which blocks contain your wrapped lines | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 672 | // Step 2: Convert wrapped line offsets to raw line numbers within their blocks | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 681 | // Step 3: Count raw lines | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 417 | // Step 1: Skip the current "word" (same character class) | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 421 | // Step 2: Skip any whitespace | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 504 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 507 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 510 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/triggers.py | 10 | iterm2.AlertTrigger("^AlertTrigger", "Lorem ipsum", instant, enabled), | CODE |
| LOW | tests/triggers.py | 11 | iterm2.AnnotateTrigger("^AnnotateTrigger", "Lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 25 | iterm2.SendTextTrigger("^SendTextTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 28 | iterm2.SetTitleTrigger("^SetTitleTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 32 | iterm2.UserNotificationTrigger("^UserNotificationTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW | tests/osc8.txt | 91 | ║]8;id=imaginary-text-editor-file1;http://example.com\http://exa]8;;\║Lorem ipsum║ | CODE |
| LOW | ModernTests/AICustomHeadersTests.swift | 48 | let result = AICustomHeaders.merged(into: ["x-api-key": "placeholder"], | CODE |
| LOW | ModernTests/PreferencesSearchTests.swift | 51 | keywordPhrases: ["lorem ipsum dolor", "sit amet"]) | CODE |
| LOW | ModernTests/SSHHookArgumentsTests.swift | 146 | XCTAssertEqual(args.username, "me@example.org") | CODE |
| LOW | ModernTests/AutomaticProfileSwitcherTests.swift | 326 | update(hostname: "hostname.com", username: "user@example.com", path: "/", job: "whatever") | CODE |
| LOW | …b638954b2ae69107263ffc608916643ede959b8c009251a42.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| LOW | …8cd2496a38549276bf03c2393a94e264deab7e9c7a57b917c.json | 5 | "data" : "{\n \"id\": \"resp_09c416686bd4ea3c006a27135f5018819885e0dccf1ea56bdd\",\n \"object\": \"response\",\n | CODE |
| LOW | AILiveHarness/AILiveAttachmentFixtures.swift | 227 | acceptanceProbes: ["lorem ipsum", "Lorem ipsum", "Lorem Ipsum", "lorem", "Lorem"]) | CODE |
| LOW | sources/PasswordManager/AdapterPasswordDataSource.swift | 1251 | if let p = field.placeholder { dict["placeholder"] = p } | CODE |
| LOW | …PasswordManager/iTermPasswordManagerWindowController.m | 1422 | NSString *placeholder = field[@"placeholder"] ?: @""; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 68 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 68 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | sources/Settings/iTermSettingsTruncationChecker.swift | 208 | kind = "placeholder" | CODE |
| LOW | …/Language/BuiltInFunctions/iTermAlertBuiltInFunction.m | 81 | static NSString *const placeholder = @"placeholder"; | CODE |
| LOW | sources/Browser/Demos/selection-test.html | 147 | <p>Here is a second paragraph with different content. Lorem ipsum dolor sit amet, consectetur adipiscing | CODE |
| LOW | sources/Browser/Demos/selection-test.html | 147 | <p>Here is a second paragraph with different content. Lorem ipsum dolor sit amet, consectetur adipiscing | CODE |
| LOW | sources/TerminalView/PTYTextView+ARC.m | 2791 | SCPPath *path = [self.dataSource scpPathForFile:@"placeholder" onLine:coord.y]; | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 69 | return url(apiKey: "placeholder", streaming: false).scheme != "about" | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 73 | if LLMMetadata.hostIsOpenAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 77 | if LLMMetadata.hostIsGoogleAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 81 | if LLMMetadata.hostIsAzureAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 85 | if LLMMetadata.hostIsDeepSeekAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 89 | if LLMMetadata.hostIsAnthropicAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW | sources/AITerm/LLMProvider.swift | 112 | if LLMMetadata.hostIsAzureAIAPI(url: url(apiKey: "placeholder", streaming: false)) { | CODE |
| LOW | sources/AITerm/AITerm.swift | 799 | static let reviewPlaceholderAPIKey = "placeholder" | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 135 | _send(self, 200, {"record": {"login": "user@example.com"}}) | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 137 | _send(self, 200, {"record": {"password": "pw-123", "login": "user@example.com"}}) | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 347 | XCTAssertEqual(accounts[0]["userName"] as? String, "user@example.com") | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 462 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 472 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 482 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 547 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 557 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 596 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …CompanionProtocolTests/SyncFetchCoordinatorTests.swift | 74 | case .placeholder: return "placeholder" | CODE |
| LOW | Companion/PushService/NotificationService.swift | 380 | case .placeholder: return "placeholder" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/run_shell_integration_live.sh | 7 | # Usage: | COMMENT |
| LOW | tools/sign_and_copy_uv.sh | 8 | # Usage: | COMMENT |
| LOW | tools/run_tests_vm.sh | 10 | # Usage: | COMMENT |
| LOW | tools/copy_models.sh | 34 | # Usage: | COMMENT |
| LOW | tools/run_ssh_integration_live.sh | 13 | # Usage: | COMMENT |
| LOW | tools/update_uv_manifest.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | tools/run_ai_live.sh | 5 | # Usage: | COMMENT |
| LOW | tools/run_tmux_workgroup_live.sh | 12 | # Usage: | COMMENT |
| LOW | tools/build_uv.sh | 42 | # Usage: | COMMENT |
| LOW | tools/run_python_runtime_e2e.sh | 8 | # Usage: | COMMENT |
| LOW | tools/vm/remote_run.sh | 11 | # Usage: | COMMENT |
| LOW | tools/vm/qa/profiles.py | 5 | # Usage: | COMMENT |
| LOW | tests/test_iterm2_python_auth.sh | 8 | # Usage: | COMMENT |
| LOW | tests/rtl-showcase.sh | 24 | # Usage: | COMMENT |
| LOW | tests/dashed_underline_leaks_into_box_lines.sh | 6 | # How to use: | COMMENT |
| LOW | tests/run_tab_group_test.sh | 21 | # Usage: | COMMENT |
| LOW | tests/repro-edit-osc4-hang.sh | 27 | # Usage: | COMMENT |
| LOW | tests/run_apply_layout_new_session_demo.sh | 15 | # Usage: | COMMENT |
| LOW | tests/test_iterm2_python_suite_auth.sh | 11 | # Usage: | COMMENT |
| LOW | tests/run_context_menu_submenu_visibility_test.sh | 13 | # Usage: | COMMENT |
| LOW | tests/run_apply_layout_integration_test.sh | 11 | # Usage: | COMMENT |
| LOW | tests/redraw-edge-cases.sh | 21 | # Usage: | COMMENT |
| LOW | sources/RegexVisualization/SVGSizeEstimator.swift | 62 | // Example usage: | COMMENT |
| LOW | sources/Infrastructure/iTermSelectorSwizzler.h | 45 | // Example usage: | COMMENT |
| LOW | ThirdParty/ProtobufRuntime/GPBDictionary.m | 59 | // Example usage: | COMMENT |
| LOW | Companion/tools/bump_build_number.rb | 8 | # Usage: | COMMENT |
| LOW | Companion/PushRelay/ops/deploy.sh | 15 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …168f023fea8930ee0e545bccf81a967190c274b63076f0476.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoG7bZZ12rYVMOUKCnRi8oAWYXlmk\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …8ea06f38399208175c6ea2e26eb97a0f198f54cbd24eb746e.json | 5 | "data" : "{\n \"id\": \"resp_094187fe6dc90c08006a25f48672d8819baae485896551f600\",\n \"object\": \"response\",\n | CODE |
| MEDIUM | …4e5a6fc83ea41d7e85479f29b794adc6cc655820e9af654c5.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"I cannot fulfill this request.\"}],\"role\ | CODE |
| MEDIUM | …4e5a6fc83ea41d7e85479f29b794adc6cc655820e9af654c5.json | 11 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" even for demonstration purposes, would be unethica | CODE |
| MEDIUM | …d0571e92fab58fa45c1b4066e59ba0f9f1216ad22a2055d21.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| MEDIUM | …e8b041e122f471fde4a013244f5b97015ee5bbf284877fa7c.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoG7imrbryuWLqlW4kVJf0cVN4W2x\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …af646e02a8b5a47bf21acd8316b869f9e23a138337d823a6a.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| MEDIUM | …b70e6be2ba3f2770725ade8a4a8e2ebed8ddc55e954a69f13.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoZYUpsxp6njCUj0SnQmONhLPf5wv\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …53512b56cfff5240d2baf98d7a0ff8b8d421b89160295f270.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"Here is your random made-up word: **MAGENT | CODE |
| MEDIUM | …53512b56cfff5240d2baf98d7a0ff8b8d421b89160295f270.json | 10 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"-77**. Let me know if you need another one!\"}],\"r | CODE |
| MEDIUM | sources/Settings/iTermAdvancedSettingsModel.m | 377 | DEFINE_STRING(tabColorMenuOptions, @"#fb6b62 #f6ac47 #f0dc4f #b5d749 #5fa3f8 #c18ed9 #787878", SECTION_TABS, NSLocalized | CODE |
| MEDIUM | sources/Settings/iTermProfilePreferences.m | 517 | typeHelp[key] = @"Colors can be specified as 3- or 6-digit hex strings such as \"#f8a\" like in HTML. By def | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 2048 | <p>Strings can be split with a regular expression using the <a href="#NSString_RegexKitLiteAdditions__-componentsSeparat | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 2885 | <p>Inside you'll find more examples like this that you can use as the starting point for your own regular expression | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 3078 | <p>Also available is the <a href="#RegexEscapeTool">Regex Escape Tool</a> which allows you to enter a regular expres | CODE |
| LOW | ThirdParty/libgit2/include/git2/repository.h | 620 | * Use this function to get the contents of this file. Don't forget to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ModernTests/OllamaRequestBuilderTests.swift | 485 | // message so parseNonStreamingResponse dispatches it (the agentic loop). | STRING |
| MEDIUM | AILiveHarness/AILiveOllamaTests.swift | 381 | // agentic loop silently breaks. Assert the tool still fires and its result is | COMMENT |
| MEDIUM | AILiveHarness/AILiveAppleIntelligenceTabTitle.swift | 569 | // guardrails restored, to see if the shape survives once those are pinned. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ply/ply-3.4/ply/yacc.py | 149 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3036 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 865 | CODE | |
| LOW | tools/ply/ply-3.4/example/closurecalc/calc.py | 114 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 330 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 530 | CODE | |
| LOW | api/library/python/iterm2/iterm2/tab.py | 71 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …nsFramework/test-extensions/storage-ui-demo/content.js | 204 | async function getData() { | CODE |
| LOW | Companion/PushRelay/host/server.js | 240 | async function handleRequest(req, res) { | CODE |