iTerm2 is a terminal emulator for Mac OS X that does amazing things.
This report presents the forensic synthetic code analysis of gnachman/iTerm2, a Objective-C project with 17,817 GitHub stars. SynthScan v2.0 examined 1,114,832 lines of code across 5220 source files, recording 4411 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 5.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4411 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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/eastasian.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/copy_models.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/copy_models.sh | 21 | # | COMMENT |
| LOW | tools/build_proto.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run.sh | 1 | #!/usr/bin/env zsh | 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 | # periodic reaping that broke long sweeps. AILiveHarness.configFilePath() derives | 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 |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 101 | '-':'~' | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 241 | if not tok or tok.value != c: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 301 | while i >= 0 and tokens[i].type in self.t_WS: | COMMENT |
| LOW | tools/ply/ply-3.4/test/lex_hedit.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/example/yply/yply.py | 1 | #!/usr/local/bin/python | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 1 | # GardenSnake - a parser generator demonstration program | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 21 | # This uses David Beazley's Ply from http://www.dabeaz.com/ply/ | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 221 | COMMENT | |
| LOW | tools/ply/ply-3.4/example/newclasscalc/calc.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | tools/ply/ply-3.4/example/hedit/hedit.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/doc/makedoc.py | 1 | #!/usr/local/bin/python | COMMENT |
| LOW | …edArchive/SignedArchive/SIGSHA2VerificationAlgorithm.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGIdentity.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGArchiveReader.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGTrust.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGVerificationAlgorithm.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGSHA2SigningAlgorithm.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGArchiveVerifier.m | 1 | // | COMMENT |
| LOW | SignedArchive/SignedArchive/SIGArchiveBuilder.m | 1 | // | COMMENT |
| LOW | SignedArchive/verify/main.m | 1 | // | COMMENT |
| LOW | SignedArchive/extract/main.m | 1 | // | COMMENT |
| LOW | SignedArchive/sign/main.m | 1 | // | COMMENT |
| LOW | SignedArchive/resign/main.c | 1 | // | COMMENT |
| LOW | SignedArchive/resign/main.m | 1 | // | COMMENT |
| LOW | pidinfo/PIDInfoGitState.m | 1 | // | COMMENT |
| LOW | pidinfo/iTermGitClient.m | 261 | // Nothing to report (probably an ignored file slipping in). | COMMENT |
| 2668 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/generate_nscharacterset.py | 122 | # ============================================================================ | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 124 | # ============================================================================ | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 150 | # ============================================================================ | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 152 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 293 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 295 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 342 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 344 | # ============================================================================ | 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 |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2269 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2279 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2287 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2301 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2309 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2319 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2539 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2543 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 32 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 233 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 237 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1150 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1245 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1267 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1388 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1466 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1471 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1482 | # ----------------------------------------------------------------------------- | COMMENT |
| 350 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 | 106 | def format_ranges_with_comments(nums_with_names: dict, variable: str, indent: str = " ") -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 303 | def generate_emoji_default_text_presentation(emoji_data_content: str) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 311 | def generate_emoji_default_emoji_presentation(emoji_data_content: str) -> tuple[list[str], int]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 321 | def generate_strong_rtl_codes(unicode_data: dict) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 332 | def generate_strong_ltr_codes(unicode_data: dict) -> list[str]: | 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 | 947 | async def really_find_completions_with_prefix(prefix, directory, max_count, executable): | CODE |
| LOW | OtherResources/framer.py | 1586 | def _silence_shutdown_unraisable(unraisable): | CODE |
| LOW | tests/test_kitty_multipart.py | 46 | def test_multipart_stream_encoding(): | CODE |
| LOW | tests/test_kitty_multipart.py | 77 | def test_multipart_independent_encoding(): | CODE |
| LOW | tests/test_kitty_multipart.py | 112 | def test_multipart_many_chunks(): | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 261 | async def test_swap_two_panes_in_tab(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1034 | async def test_unknown_tab_in_close_tabs_rejected(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1040 | async def test_unknown_window_in_close_windows_rejected(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1048 | async def test_orphan_failure_does_not_mutate(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 286 | async def test_swap_three_panes_in_tab(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 307 | async def test_change_orientation_v_to_h(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 327 | async def test_restructure_flat_to_nested(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 351 | async def test_no_op_reshape_preserves_shape(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 384 | async def test_cross_tab_move_single_session(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 421 | async def test_cross_tab_move_emptying_source_implicitly_closes_it(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 455 | async def test_cross_tab_move_emptying_single_session_tab_implicitly_closes(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 581 | async def test_active_session_survives_reshape(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 603 | async def test_active_session_promoted_when_terminated(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 625 | async def test_active_session_set_after_cross_tab_move(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 677 | async def test_active_session_preserved_when_other_session_moves_in(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 710 | async def test_combined_reshape_and_close(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 749 | async def test_unknown_tab_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 761 | async def test_unknown_session_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 772 | async def test_duplicate_session_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 783 | async def test_same_orientation_nesting_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 806 | async def test_splitter_with_one_child_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 816 | async def test_orphan_session_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 832 | async def test_new_tabs_field_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 842 | async def test_new_windows_field_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 858 | async def test_new_session_leaf_creates_session(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 887 | async def test_new_session_unknown_profile_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 901 | async def test_new_session_honors_profile_home_directory(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 965 | async def test_validation_failure_does_not_mutate(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1010 | async def test_unknown_session_in_close_sessions_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1073 | async def test_unknown_session_in_layout_does_not_mutate(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1098 | async def test_deep_nesting_three_levels(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1129 | async def test_wide_splitter_four_siblings(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1156 | async def test_close_window_with_multiple_tabs_and_panes_terminates_all( | CODE |
| LOW | tests/apply_layout_integration_test.py | 1191 | async def test_cross_window_move_emptying_source_window(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1230 | async def test_session_scrollback_survives_in_tab_swap(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1260 | async def test_session_scrollback_survives_cross_tab_move(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 1303 | async def test_maximized_tab_rejected(h: Harness) -> None: | CODE |
| 445 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 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/prologue.txt | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/profile_prologue.txt | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | 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/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 | 24 | CODE | |
| LOW | tools/generate_nscharacterset.py | 26 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 45 | CODE | |
| LOW | tools/utf16_to_utf8_bin.py | 2 | 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 | OtherResources/framer.py | 4 | CODE | |
| LOW | tests/modern-key-reporting-test.py | 11 | CODE | |
| LOW | tests/move_session_test.py | 4 | 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/tests/test_triggers.py | 2 | CODE | |
| LOW | api/library/python/iterm2/tests/test_util.py | 3 | CODE | |
| LOW | api/library/python/iterm2/tests/test_binding.py | 3 | CODE | |
| LOW | api/library/python/iterm2/docs/generate_menu_ids.py | 2 | CODE | |
| LOW | api/library/python/iterm2/iterm2/auth.py | 8 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 6 | CODE | |
| 160 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/release_stable.sh | 64 | # 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 | 1003 | # Create a temporary file in the user's home directory | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 289 | # This function is installed as part of the PROMPT_COMMAND; | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 305 | # This function is installed as part of the PROMPT_COMMAND. | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 419 | # This function is installed as the DEBUG trap. It is invoked before each | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 14 | # 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 |
|---|---|---|---|---|
| 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/generate_nscharacterset.py | 43 | """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 | 30 | # harness reads from there. The file is mode 0600, lives under | COMMENT |
| MEDIUM | tools/run_ai_live.sh | 38 | # THIS worktree, so a leftover here can't drive the live harness in another | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 54 | # "Live AI harness is opt-in". A leftover at the repo root is gitignored (never | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 55 | # committable), shows under `git status --ignored`, makes the harness log "Live | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 56 | # AI harness ACTIVE" loudly, and run_tests.expect deletes it defensively on the | 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 |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 919 | # Save the value we just set PS1/PS2 to so if the user changes them later | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 87 | # a modifier-remapping (Super/Hyper/Meta) that the harness can't make on | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 220 | # 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 | ModernTests/TerminalHardRulesTests.swift | 129 | /// Obscure zsh dangerous builtins the classifier may not recognize, robust | COMMENT |
| 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 | …xtures/gemini_gemini-3-pro-preview_refusal_stream.json | 23 | "body" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"I cannot generate phishing emails or conte | 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 | 177 | // few seconds; absorbing those here lets the harness be robust to vendor | COMMENT |
| MEDIUM | AILiveHarness/AILiveHarness.swift | 860 | // produces this 400. Make the conversation layer robust. | STRING |
| MEDIUM | cc-status/Sources/cc-status/main.swift | 235 | /// robust against $PATH not containing the utilities dir: anything in a shell rc | COMMENT |
| MEDIUM | .github/workflows/test.yml | 64 | # mode so the harness runs entirely from the committed cassettes | COMMENT |
| MEDIUM | .github/workflows/test.yml | 70 | # lets the harness find the cassettes and the on-disk fixtures. | COMMENT |
| MEDIUM | sources/Drawing/iTermTextDrawingHelper.m | 1627 | // Absolutely positioned button | COMMENT |
| MEDIUM | sources/LineBuffer/iTermLineBlockArray.m | 620 | // Definitely not in this block; advance. | COMMENT |
| MEDIUM | sources/Workgroups/iTermWorkgroupInstance.swift | 65 | // (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/ScreenChar/ScreenChar.m | 274 | // Definitely no combining mark here. | COMMENT |
| MEDIUM | sources/AITerm/ChatWindowController.swift | 286 | // Remove the separator line for seamless blending | COMMENT |
| MEDIUM | sources/Companion/CompanionPairingController.swift | 666 | /// (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 |
|---|---|---|---|---|
| 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 | 246 | 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 | |
| LOW | tools/ply/ply-3.4/test/yacc_error4.py | 31 | CODE | |
| 66 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 |
| 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 |
| MEDIUM | OtherResources/framer.py | 245 | def read_forever(self, reader, channel, callback): | CODE |
| MEDIUM | OtherResources/framer.py | 286 | def autopoll(delay): | CODE |
| MEDIUM | OtherResources/framer.py | 322 | def get_echo_icanon(tty): | CODE |
| MEDIUM | OtherResources/framer.py | 330 | def watch_tty(proc, delay): | CODE |
| MEDIUM | OtherResources/framer.py | 1487 | def read_line(): | CODE |
| LOW⚡ | OtherResources/framer.py | 1172 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1181 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1190 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1198 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1208 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1218 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1227 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 205 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 262 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 312 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 326 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 339 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 574 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 592 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 632 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 651 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 685 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 861 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 894 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 911 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 991 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1008 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1021 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1026 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1078 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1157 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1244 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1270 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1284 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1324 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1393 | except Exception as e: | CODE |
| 19 more matches not shown… | ||||
| 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/add_file_to_xcodeproj.rb | 36 | # Check if file exists | COMMENT |
| LOW | tools/add_file_to_xcodeproj.rb | 42 | # Check if the file's directory is managed by a PBXFileSystemSynchronizedRootGroup. | COMMENT |
| LOW | tools/add_file_to_xcodeproj.rb | 54 | # Check if file is already in the project | COMMENT |
| LOW | tools/add_file_to_xcodeproj.rb | 64 | # Check if already in target | 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 | OtherResources/framer.py | 572 | # Print the value of the environment variable | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 907 | # 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 | 114 | # 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 | 110 | # 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 |
|---|---|---|---|---|
| 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 | 142 | # 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/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 | 505 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 508 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 511 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | api/library/python/iterm2/gen_binding.py | 1112 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/gen_binding.py | 1115 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 139 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 142 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 739 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 742 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| 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 | 505 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 508 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 511 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ser/WebViewAdditions/iTermBrowserWebView+Actions.swift | 381 | // Skip mark case as requested | COMMENT |
| HIGH | sources/AITerm/ChatCellView.swift | 170 | // Chats without an icon (no AI-generated title yet, or icon | COMMENT |
| HIGH | sources/AITerm/ChatListModel.swift | 158 | // Persists an AI-generated icon (delivered by ChatAgent after it | COMMENT |
| HIGH | sources/AITerm/Chat.swift | 56 | // 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 | 141 | /// The chat's AI-generated icon (a small PNG the Mac stores on the Chat), | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | iTerm2XCTests/PTYTextViewTest.m | 2387 | // Double width lorem ipsum. e and m have yellow bg. i has green bg. m and i are red. Acute accent on p. | COMMENT |
| LOW | iTerm2XCTests/iTermPreferencesSearchTests.m | 27 | keywordPhrases:@[ @"lorem ipsum dolo | CODE |
| LOW | iTerm2XCTests/iTermAutomaticProfileSwitcherTest.m | 362 | [_aps setHostname:@"hostname.com" username:@"user@example.com" path:@"/" job:@"whatever"]; | CODE |
| 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 | …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 | 984 | if let p = field.placeholder { dict["placeholder"] = p } | CODE |
| LOW | …PasswordManager/iTermPasswordManagerWindowController.m | 932 | NSString *placeholder = field[@"placeholder"] ?: @""; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 67 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 67 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | …/Language/BuiltInFunctions/iTermAlertBuiltInFunction.m | 79 | 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 | 2760 | SCPPath *path = [self.dataSource scpPathForFile:@"placeholder" onLine:coord.y]; | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 80 | return url(apiKey: "placeholder", streaming: false).scheme != "about" | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 84 | if LLMMetadata.hostIsOpenAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 88 | if LLMMetadata.hostIsGoogleAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 92 | if LLMMetadata.hostIsAzureAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 96 | if LLMMetadata.hostIsDeepSeekAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 100 | 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 | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 63 | _send(self, 200, {"record": {"password": "pw-123", "login": "user@example.com"}}) | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 194 | XCTAssertEqual(accounts[0]["userName"] as? String, "user@example.com") | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 216 | 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 | 359 | case .placeholder: return "placeholder" | CODE |
| 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 | 342 | DEFINE_STRING(tabColorMenuOptions, @"#fb6b62 #f6ac47 #f0dc4f #b5d749 #5fa3f8 #c18ed9 #787878", SECTION_TABS @"Colors for | CODE |
| MEDIUM | sources/Settings/iTermProfilePreferences.m | 441 | 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 |
|---|---|---|---|---|
| LOW⚡ | tools/run_shell_integration_live.sh | 7 | # Usage: | COMMENT |
| LOW | tools/copy_models.sh | 34 | # Usage: | COMMENT |
| LOW⚡ | tools/run_ai_live.sh | 5 | # Usage: | COMMENT |
| LOW | iTerm2XCTests/iTermSelectorSwizzler.h | 45 | // Example usage: | COMMENT |
| LOW | tests/test_iterm2_python_auth.sh | 8 | # Usage: | COMMENT |
| LOW | tests/dashed_underline_leaks_into_box_lines.sh | 6 | # How to use: | 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_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 | ThirdParty/ProtobufRuntime/GPBDictionary.m | 59 | // Example usage: | COMMENT |
| LOW | Companion/PushRelay/ops/deploy.sh | 15 | # Usage: | COMMENT |
| 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/triggers.py | 249 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 295 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 457 | 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 | 141 | async function handleRequest(req, res) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ply/ply-3.4/ply/__init__.py | 4 | __all__ = ['lex','yacc'] | CODE |