AI Slop Code RIsk Monitor

xonsh/xonsh

🐚 Python-powered shell. Full-featured, cross-platform and AI-friendly.

30.8 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for xonsh/xonsh, a Python project with 9,667 GitHub stars. SynthScan examined 163,314 lines of code across 430 source files, recording 3487 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 30.8 (High 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.

30.8
Adjusted Signal
30.8
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
9.7K
Stars
Python
Language
163.3K
Lines of Code
430
Files
3.5K
Pattern Hits
2026-10-12
Scan Date
0.59
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 54.3/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 2624 finding(s).

Hallucinated Dependency & Supply Chain Risk 22.0/100 · LOW

Are imports declared and package/API names verified? 251 finding(s).

Agent Over-Engineering Ratio 69.5/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 2862 finding(s).

PR Review Velocity Impact 81.8/100 · CRITICAL

Which changes need focused human review? 3487 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 3HIGH 249MEDIUM 404LOW 2831

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 3487 distinct pattern matches across 21 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.

Hyper-Verbose Identifiers2234 hits · 2201 pts
SeverityFileLineSnippetContext
LOWtests/test_aliases_llm.py38def test_no_args_returns_usage_error(fake_winutils_sudo):CODE
LOWtests/test_aliases_llm.py55def test_resolved_binary_path_is_normalized(fake_winutils_sudo, monkeypatch):CODE
LOWtests/test_aliases_llm.py69def test_cmd_builtin_dispatched_via_cmd_exe(fake_winutils_sudo, monkeypatch):CODE
LOWtests/test_aliases_llm.py80def test_cmd_builtin_match_is_case_insensitive(fake_winutils_sudo, monkeypatch):CODE
LOWtests/test_aliases_llm.py89def test_resolved_binary_takes_precedence_over_cmd_builtin(CODE
LOW⚡tests/test_aliases_llm.py100def test_windows_cmd_aliases_is_frozen():CODE
LOW⚡tests/test_aliases_llm.py118def test_lxml_decorator_registered_when_lxml_available(xession):CODE
LOW⚡tests/test_aliases_llm.py124def test_lxml_decorator_parses_and_supports_xpath(xession):CODE
LOWtests/test_aliases_llm.py141def test_lxml_decorator_unavailable(xession, monkeypatch):CODE
LOW⚡tests/test_builtins.py91 def test_glob_excludes_dotfiles_by_default(self):CODE
LOW⚡tests/test_builtins.py95 def test_glob_includes_dotfiles_when_enabled(self):CODE
LOW⚡tests/test_builtins.py99 def test_reglob_excludes_dotfiles_by_default(self):CODE
LOW⚡tests/test_builtins.py103 def test_reglob_includes_dotfiles_when_enabled(self):CODE
LOW⚡tests/test_builtins.py349def test_convert_macro_arg_str(kind):CODE
LOW⚡tests/test_builtins.py356def test_convert_macro_arg_ast(kind):CODE
LOW⚡tests/test_builtins.py363def test_convert_macro_arg_code(kind):CODE
LOW⚡tests/test_builtins.py370def test_convert_macro_arg_eval(kind):CODE
LOW⚡tests/test_builtins.py482def test_call_macro_raw_kwarg(arg):CODE
LOW⚡tests/test_builtins.py491def test_call_macro_raw_kwargs(arg):CODE
LOW⚡tests/test_builtins.py499def test_call_macro_ast_eval_expr():CODE
LOW⚡tests/test_builtins.py507def test_call_macro_ast_single_expr():CODE
LOW⚡tests/test_builtins.py515def test_call_macro_ast_exec_expr():CODE
LOW⚡tests/test_builtins.py523def test_call_macro_ast_eval_statement():CODE
LOW⚡tests/test_builtins.py563def test_xonshpathliteral_contextmanager(tmp_path):CODE
LOW⚡tests/test_builtins.py577def test_resetting_signal_handle_off_main_thread_is_noop():CODE
LOWtests/test_builtins.py38def test_dynamic_access_proxy_setattr():CODE
LOWtests/test_builtins.py208def test_repath_containing_asterisk(path, pattern):CODE
LOWtests/test_builtins.py219def test_repath_containing_plus_sign(path, pattern):CODE
LOWtests/test_builtins.py239 def test_single_group_returns_strings(self, xession):CODE
LOWtests/test_builtins.py247 def test_no_groups_returns_paths(self, xession):CODE
LOWtests/test_builtins.py311def test_list_of_strs_or_callables(exp, inp):CODE
LOWtests/test_builtins.py324def test_list_of_list_of_strs_outer_product(xession, inp, exp):CODE
LOWtests/test_builtins.py382def test_convert_macro_arg_exec(kind):CODE
LOWtests/test_builtins.py403def test_convert_macro_arg_type(kind):CODE
LOWtests/test_builtins.py538def test_call_macro_ast_single_statement():CODE
LOWtests/test_builtins.py546def test_call_macro_ast_exec_statement():CODE
LOWtests/test_man.py104def test_bsd_man_page_completions(xession, check_completer, cmd, exp):CODE
LOW⚡tests/test_webconfig_routes_llm.py82def test_colors_page_renders_html(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py90def test_colors_page_post_updates_env_var(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py96def test_colors_page_post_no_selection_is_noop(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py104def test_colors_page_get_selected_returns_tag(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py113def test_prompts_page_renders_html(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py120def test_prompts_page_post_updates_prompt(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py126def test_prompts_page_post_strips_carriage_returns(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py132def test_prompts_page_post_no_data_is_noop(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py142def test_xontribs_page_renders_html(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py148def test_xontribs_page_mod_name():CODE
LOW⚡tests/test_webconfig_routes_llm.py152def test_xontribs_page_post_no_data_is_noop(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py161def test_env_variables_page_renders_table(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py170def test_aliases_page_renders_table_with_no_aliases(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py177def test_aliases_page_renders_table_with_aliases(xession, make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py232def test_get_nav_links_yields_each_registered_page(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py239def test_get_nav_links_marks_active_page(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py249def test_get_sel_url_appends_query_string(make_route):CODE
LOW⚡tests/test_webconfig_routes_llm.py259def test_get_display_handles_valid_html():CODE
LOW⚡tests/test_webconfig_routes_llm.py266def test_get_display_falls_back_to_pre_for_invalid_html():CODE
LOWtests/test_webconfig_routes_llm.py59def test_routes_registry_includes_known_paths():CODE
LOWtests/test_webconfig_routes_llm.py68def test_route_registry_subclassing_registers_new_paths():CODE
LOWtests/test_webconfig_routes_llm.py192def test_aliases_page_skips_callable_aliases(xession, make_route):CODE
LOWtests/test_webconfig_routes_llm.py210def test_route_err_appends_to_err_msgs(make_route):CODE
2174 more matches not shown…
Decorative Section Separators358 hits · 993 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_aliases_llm.py107# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_aliases_llm.py109# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_pyghooks_llm.py229# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_pyghooks_llm.py239# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py28# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py30# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py286# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py289# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py382# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py385# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py623# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_subproc_raise_error.py630# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_subproc_raise_error.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_subproc_raise_error.py125# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py18# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py20# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py48# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py50# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py113# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py135# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py137# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py240# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py242# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py418# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py420# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py437# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py439# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py470# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py472# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py623# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py625# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py643# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_debug_llm.py651# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_debug_llm.py331# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_debug_llm.py333# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_debug_llm.py541# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_debug_llm.py543# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_main_terminal_llm.py403# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_main_terminal_llm.py405# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_main_terminal_llm.py489# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_main_terminal_llm.py491# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_main_terminal_llm.py694# ── _setup_ctrl_break: Windows Ctrl+Break / SIGBREAK (issue #4852) ─────────COMMENT
MEDIUM⚡tests/test_foreign_shells_llm.py179# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_foreign_shells_llm.py186# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_foreign_shells_llm.py256# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_foreign_shells_llm.py266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_environ_llm.py96# ── singleton & exposure ───────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py124# ── direct assignment ─────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py151# ── swap (thread-local) ───────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py190# ── overlay parameter (used by callable aliases) ──────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py219# ── detype ────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py249# ── iteration & membership ────────────────────────────────────────────COMMENT
MEDIUM⚡tests/test_environ_llm.py265# ── events ────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_environ_llm.py85# ═══ DELETE_VAR sentinel ═══════════════════════════════════════════════COMMENT
MEDIUMtests/test_environ_llm.py294# ── integration: SubprocSpec.prep_env_subproc ─────────────────────────COMMENT
MEDIUM⚡tests/lint/test_linter_cli_llm.py119# ---------------------------------------------------------------------COMMENT
MEDIUM⚡tests/lint/test_linter_cli_llm.py121# ---------------------------------------------------------------------COMMENT
MEDIUM⚡tests/lint/test_linter_cli_llm.py149# ---------------------------------------------------------------------COMMENT
MEDIUM⚡tests/lint/test_linter_cli_llm.py151# ---------------------------------------------------------------------COMMENT
298 more matches not shown…
Cross-Language Confusion146 hits · 703 pts
SeverityFileLineSnippetContext
HIGHxonsh-in-docker.py17RUN pip install --upgrade pip && pip install {packages}CODE
HIGHxonsh-in-docker.py27RUN pip install --upgrade pip && pip install {packages}CODE
HIGH⚡tests/test_subproc_raise_error.py51 tree = xonsh_execer.parse("echo 1 && echo 2\n", ctx=None)CODE
HIGH⚡tests/test_subproc_raise_error.py60 tree = xonsh_execer.parse("echo 1 || echo 2\n", ctx=None)CODE
HIGH⚡tests/test_subproc_raise_error.py106 tree = xonsh_execer.parse("echo 1 || echo 2; ls nono\n", ctx=None)CODE
HIGH⚡tests/test_subproc_raise_error.py149 xonsh_execer.exec("echo a && echo b\n")CODE
HIGH⚡tests/test_subproc_raise_error.py155 xonsh_execer.exec("ls /__nope__ && echo never\n")CODE
HIGH⚡tests/test_subproc_raise_error.py161 xonsh_execer.exec("echo ok && ls /__nope__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py167 xonsh_execer.exec("echo ok || ls /__nope__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py172 xonsh_execer.exec("ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py178 xonsh_execer.exec("ls /__nope1__ || ls /__nope2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py184 xonsh_execer.exec("echo a || echo b; ls /__nope__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py204 xonsh_execer.exec("p = $(ls /__nope__ 2>/dev/null)\n")CODE
HIGH⚡tests/test_subproc_raise_error.py240 xonsh_execer.exec("ls /__nope__ && echo never\n")CODE
HIGH⚡tests/test_subproc_raise_error.py253 xonsh_execer.exec("ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py283 xonsh_execer.exec("@error_raise ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py307 xonsh_execer.exec("echo a && echo b && ls /__nope__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py316 xonsh_execer.exec("ls /__nope__ && echo never1 && echo never2\n")CODE
HIGH⚡tests/test_subproc_raise_error.py325 xonsh_execer.exec("ls /__nope__ && echo n || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py325 xonsh_execer.exec("ls /__nope__ && echo n || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py333 xonsh_execer.exec("echo a && ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py333 xonsh_execer.exec("echo a && ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py392 xonsh_execer.exec("ls /__n1__ || ls /__n2__ || ls /__n3__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py398 xonsh_execer.exec("ls /__n1__ || ls /__n2__ || echo ok\n")CODE
HIGH⚡tests/test_subproc_raise_error.py404 xonsh_execer.exec("ls /__n1__ || echo ok || ls /__n3__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py410 xonsh_execer.exec("echo ok || ls /__n2__ || ls /__n3__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py419 xonsh_execer.exec("ls /__nope__ || echo ok && echo yes\n")CODE
HIGH⚡tests/test_subproc_raise_error.py419 xonsh_execer.exec("ls /__nope__ || echo ok && echo yes\n")CODE
HIGH⚡tests/test_subproc_raise_error.py428 xonsh_execer.exec("ls /__nope__ || echo ok && ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py428 xonsh_execer.exec("ls /__nope__ || echo ok && ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py438 xonsh_execer.exec("ls /__n1__ && echo n || ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py438 xonsh_execer.exec("ls /__n1__ && echo n || ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py447 xonsh_execer.exec("echo ok | grep x && echo n\n")CODE
HIGH⚡tests/test_subproc_raise_error.py455 xonsh_execer.exec("echo ok | grep x || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py463 xonsh_execer.exec("echo ok | grep ok && echo yes\n")CODE
HIGH⚡tests/test_subproc_raise_error.py483 xonsh_execer.exec("@error_raise ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py518 xonsh_execer.exec("ls /__nope__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py527 xonsh_execer.exec("ls /__n1__ && echo n\n")CODE
HIGH⚡tests/test_subproc_raise_error.py528 xonsh_execer.exec("ls /__n1__ || ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py564 xonsh_execer.exec("echo a && echo b && echo c && echo d\n")CODE
HIGH⚡tests/test_subproc_raise_error.py571 xonsh_execer.exec("ls /__n1__ || ls /__n2__ || ls /__n3__ || ls /__n4__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py577 xonsh_execer.exec("ls /__n1__ || ls /__n2__ || ls /__n3__ || echo ok\n")CODE
HIGH⚡tests/test_subproc_raise_error.py611 xonsh_execer.exec("@error_ignore ls /__n1__ || ls /__n2__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py687 base_shell.default("echo ok && ls /__nope_specific__\n")CODE
HIGH⚡tests/test_subproc_raise_error.py697 base_shell.default("ls /__nope_specific__ || echo fb\n")CODE
HIGH⚡tests/test_subproc_raise_error.py48 """``echo 1 && echo 2`` wraps the BoolOp and tags both operandsSTRING
HIGH⚡tests/test_subproc_raise_error.py103 """``echo 1 || echo 2; ls nono`` wraps both statements: the BoolOpSTRING
HIGH⚡tests/test_subproc_raise_error.py166 """``echo ok || ls /__nope__`` — first succeeds, second never runs."""STRING
HIGH⚡tests/test_subproc_raise_error.py303 """``cmd1 && cmd2 && cmd3`` where the last fails — raises on theSTRING
HIGH⚡tests/test_subproc_raise_error.py312 """``cmd1 && cmd2 && cmd3`` where the first fails — short-circuitsSTRING
HIGH⚡tests/test_subproc_raise_error.py321 """``ls nono && echo n || echo fb`` — Python precedence isSTRING
HIGH⚡tests/test_subproc_raise_error.py321 """``ls nono && echo n || echo fb`` — Python precedence isSTRING
HIGH⚡tests/test_subproc_raise_error.py330 """``echo a && ls nono || echo fb`` — ``ls`` (the second op of theSTRING
HIGH⚡tests/test_subproc_raise_error.py330 """``echo a && ls nono || echo fb`` — ``ls`` (the second op of theSTRING
HIGH⚡tests/test_subproc_raise_error.py390 """``fail || fail || fail`` — all fail, chain result is falsy → raise."""STRING
HIGH⚡tests/test_subproc_raise_error.py397 """``fail || fail || echo ok`` — last succeeds, chain result is truthy."""STRING
HIGH⚡tests/test_subproc_raise_error.py403 """``fail || echo ok || fail`` — middle succeeds, ``or`` short-circuits."""STRING
HIGH⚡tests/test_subproc_raise_error.py409 """``echo ok || fail || fail`` — first succeeds, rest never evaluated."""STRING
HIGH⚡tests/test_subproc_raise_error.py415 """``fail || echo ok && echo yes`` — Python precedence:STRING
HIGH⚡tests/test_subproc_raise_error.py415 """``fail || echo ok && echo yes`` — Python precedence:STRING
86 more matches not shown…
Empty Error Handlers96 hits · 480 pts
SeverityFileLineSnippetContext
HIGHtests/test_builtins.py573except Exception:CODE
HIGHtests/test_dirstack_unc.py233except OSError:CODE
HIGHtests/test_dirstack_unc.py244except OSError:CODE
HIGHtests/test_xontribs_smoke_llm.py64except AttributeError:CODE
HIGHtests/test_pyghooks.py313except OSError:CODE
HIGHtests/shell/test_ptk_shell_llm.py34except AttributeError:CODE
HIGHtests/shell/test_base_shell.py97except TypeError:CODE
HIGHtests/procs/test_specs.py450except Exception:CODE
HIGHxonsh/tools.py1892except AttributeError:CODE
HIGHxonsh/tools.py2279except re.error:CODE
HIGHxonsh/tools.py3087except (ValueError, TypeError):CODE
HIGHxonsh/tools.py3097except ValueError:CODE
HIGHxonsh/tools.py1876except ValueError: # islice failedCODE
HIGHxonsh/timings.py133except Exception:CODE
HIGHxonsh/platform.py386except ValueError:CODE
HIGHxonsh/aliases.py1461except SystemExit:CODE
HIGHxonsh/wizard.py584except (ValueError, SyntaxError):CODE
HIGHxonsh/built_ins.py275except (OSError, AttributeError):CODE
HIGHxonsh/pyghooks.py1813except Exception:CODE
HIGHxonsh/pyghooks.py1964except OSError:CODE
HIGHxonsh/pyghooks.py311except AttributeError:CODE
HIGHxonsh/pyghooks.py1854except Exception:CODE
HIGHxonsh/main.py1193except Exception:CODE
HIGHxonsh/main.py571except (AttributeError, OSError):CODE
HIGHxonsh/main.py613except OSError:CODE
HIGHxonsh/main.py622except (AttributeError, OSError):CODE
HIGHxonsh/main.py1391except ValueError:CODE
HIGHxonsh/main.py1364except OSError:CODE
HIGHxonsh/environ.py3399except KeyError:CODE
HIGHxonsh/environ.py3256except KeyError:CODE
HIGHxonsh/parsers/fstring_rules_llm.py37except SyntaxError:CODE
HIGHxonsh/parsers/ply/yacc.py197except NameError:CODE
HIGHxonsh/parsers/ply/yacc.py3306except ImportError:CODE
HIGHxonsh/parsers/ply/yacc.py2986except (TypeError, ValueError):CODE
HIGHxonsh/parsers/ply/yacc.py1574except SyntaxError:CODE
HIGHxonsh/parsers/ply/yacc.py3207except IndexError:CODE
HIGHxonsh/parsers/ply/lex.py921except ImportError:CODE
HIGHxonsh/parsers/ply/cpp.py934except LookupError:CODE
HIGHxonsh/parsers/ply/cpp.py836except IOError:CODE
HIGHxonsh/shells/readline_shell.py135except (OSError, termios.error):CODE
HIGHxonsh/shells/readline_shell.py156except ImportError:CODE
HIGHxonsh/shells/readline_shell.py197except Exception:CODE
HIGHxonsh/shells/readline_shell.py302except Exception:CODE
HIGHxonsh/shells/readline_shell.py249except OSError:CODE
HIGHxonsh/shells/readline_shell.py739except ImportError:CODE
HIGHxonsh/shells/base_shell.py197except OSError:CODE
HIGHxonsh/shells/ptk_shell/__init__.py34except Exception:CODE
HIGHxonsh/shells/ptk_shell/__init__.py233except OSError:CODE
HIGHxonsh/shells/ptk_shell/completer.py271except Exception:CODE
HIGHxonsh/completers/emoji.py73except ValueError:CODE
HIGHxonsh/completers/emoji.py109except ValueError:CODE
HIGHxonsh/completers/imports.py100except ValueError:CODE
HIGHxonsh/xoreutils/_which.py121except _winreg.error:CODE
HIGHxonsh/xoreutils/umask.py35except (OSError, ValueError, IndexError):CODE
HIGHxonsh/procs/specs.py284except Exception:CODE
HIGHxonsh/procs/specs.py302except Exception:CODE
HIGHxonsh/procs/jobs.py170except ProcessLookupError:CODE
HIGHxonsh/procs/jobs.py199except ProcessLookupError:CODE
HIGHxonsh/procs/jobs.py217except ProcessLookupError:CODE
HIGHxonsh/procs/pipes.py74except OSError:CODE
36 more matches not shown…
Deep Nesting220 hits · 182 pts
SeverityFileLineSnippetContext
LOWsetup.py199CODE
LOWtests/test_pyghooks.py256CODE
LOWtests/test_commands_cache.py297CODE
LOWtests/completers/test_path_completers.py149CODE
LOWxonsh/codecache.py147CODE
LOWxonsh/cli_utils.py495CODE
LOWxonsh/color_tools.py406CODE
LOWxonsh/ansi_colors.py79CODE
LOWxonsh/ansi_colors.py169CODE
LOWxonsh/ansi_colors.py290CODE
LOWxonsh/foreign_shells.py804CODE
LOWxonsh/execer.py246CODE
LOWxonsh/execer.py253CODE
LOWxonsh/events.py108CODE
LOWxonsh/events.py204CODE
LOWxonsh/commands_cache.py484CODE
LOWxonsh/tools.py301CODE
LOWxonsh/tools.py329CODE
LOWxonsh/tools.py427CODE
LOWxonsh/tools.py722CODE
LOWxonsh/tools.py822CODE
LOWxonsh/tools.py2654CODE
LOWxonsh/tools.py2858CODE
LOWxonsh/tools.py2913CODE
LOWxonsh/shell.py318CODE
LOWxonsh/completer.py173CODE
LOWxonsh/completer.py256CODE
LOWxonsh/completer.py401CODE
LOWxonsh/completer.py481CODE
LOWxonsh/xontribs.py130CODE
LOWxonsh/xontribs.py343CODE
LOWxonsh/xontribs.py495CODE
LOWxonsh/xontribs.py143CODE
LOWxonsh/style_tools.py85CODE
LOWxonsh/platform.py440CODE
LOWxonsh/platform.py559CODE
LOWxonsh/platform.py644CODE
LOWxonsh/platform.py725CODE
LOWxonsh/aliases.py992CODE
LOWxonsh/aliases.py1193CODE
LOWxonsh/aliases.py1542CODE
LOWxonsh/aliases.py1673CODE
LOWxonsh/parser.py10CODE
LOWxonsh/wizard.py649CODE
LOWxonsh/wizard.py671CODE
LOWxonsh/wizard.py739CODE
LOWxonsh/built_ins.py305CODE
LOWxonsh/built_ins.py676CODE
LOWxonsh/pyghooks.py170CODE
LOWxonsh/pyghooks.py350CODE
LOWxonsh/pyghooks.py1482CODE
LOWxonsh/pyghooks.py1602CODE
LOWxonsh/pyghooks.py1820CODE
LOWxonsh/pyghooks.py1535CODE
LOWxonsh/main.py1089CODE
LOWxonsh/main.py1177CODE
LOWxonsh/main.py1272CODE
LOWxonsh/dirstack.py211CODE
LOWxonsh/dirstack.py291CODE
LOWxonsh/dirstack.py391CODE
160 more matches not shown…
Excessive Try-Catch Wrapping145 hits · 159 pts
SeverityFileLineSnippetContext
LOWsetup.py69 except Exception:CODE
LOWsetup.py86 except Exception:CODE
LOW⚡tests/test_builtins.py573 except Exception:CODE
LOWtests/test_dirstack.py96 except Exception:CODE
LOWtests/test_dirstack.py119 except Exception:CODE
LOWtests/test_environ.py219 except Exception:CODE
LOWtests/test_main.py510 except Exception as e:CODE
LOW⚡tests/procs/test_specs.py272 except Exception as e:CODE
LOW⚡tests/procs/test_specs.py282 except Exception as e:CODE
LOW⚡tests/procs/test_specs.py291 except Exception as e:CODE
LOW⚡tests/procs/test_specs.py301 except Exception as e:CODE
LOWtests/procs/test_specs.py450 except Exception:CODE
LOWxonsh/codecache.py140 except Exception:CODE
LOWxonsh/codecache.py164 except Exception:CODE
LOWxonsh/codecache.py218 except Exception:CODE
LOWxonsh/ansi_colors.py48 except Exception:CODE
LOWxonsh/ansi_colors.py165 except Exception:CODE
LOWxonsh/events.py117 except Exception:CODE
LOWxonsh/events.py221 except Exception:CODE
LOWxonsh/events.py291 except Exception:CODE
MEDIUMxonsh/events.py288def _call(self, handler):CODE
LOWxonsh/commands_cache.py234 except Exception:CODE
LOWxonsh/commands_cache.py288 except Exception:CODE
LOWxonsh/commands_cache.py506 except Exception:CODE
LOWxonsh/commands_cache.py520 except Exception:CODE
MEDIUMxonsh/tools.py159 print("Error in process: {}.format(error.completed_command.pid))STRING
LOWxonsh/tools.py1023 except Exception:CODE
LOWxonsh/tools.py1290 except Exception:CODE
LOWxonsh/tools.py2479 except Exception:CODE
LOWxonsh/tools.py2583 except Exception:CODE
LOWxonsh/timings.py133 except Exception:CODE
LOWxonsh/completer.py298 except Exception as e:CODE
LOWxonsh/xontribs.py334 except Exception:CODE
LOWxonsh/xontribs.py377 except Exception as ex:CODE
LOWxonsh/style_tools.py78 except Exception:CODE
LOWxonsh/platform.py34 except Exception:CODE
MEDIUMxonsh/platform.py29def distro():CODE
LOWxonsh/aliases.py230 except Exception:CODE
LOWxonsh/aliases.py458 except Exception as e:CODE
LOWxonsh/aliases.py527 except Exception as e:CODE
LOWxonsh/aliases.py1592 except Exception:CODE
LOWxonsh/pygments_cache.py57 except Exception:CODE
LOWxonsh/pygments_cache.py137 except Exception:CODE
LOWxonsh/wizard.py749 except Exception:CODE
LOWxonsh/xonfig.py478 except Exception:CODE
LOW⚡xonsh/pyghooks.py1854 except Exception:CODE
LOWxonsh/pyghooks.py343 except Exception:CODE
LOWxonsh/pyghooks.py456 except Exception:CODE
LOWxonsh/pyghooks.py1776 except Exception:CODE
LOWxonsh/pyghooks.py1813 except Exception:CODE
LOWxonsh/main.py1193 except Exception:CODE
LOWxonsh/main.py1268 except Exception as err:CODE
MEDIUMxonsh/environ.py314def lc_converter(val):CODE
LOWxonsh/environ.py600 except Exception as e:CODE
LOWxonsh/environ.py2586 except Exception as exc:CODE
LOWxonsh/environ.py2821 except Exception as e:CODE
LOWxonsh/environ.py2961 except Exception:CODE
LOWxonsh/parsers/tokenize.py914 except Exception:CODE
LOWxonsh/parsers/tokenize.py1649 except Exception as err:CODE
MEDIUMxonsh/parsers/base.py444def run(self):CODE
85 more matches not shown…
Unused Imports102 hits · 78 pts
SeverityFileLineSnippetContext
LOWtests/test_dirstack.py5CODE
LOWtests/test_foreign_shells.py6CODE
LOWtests/built_ins/test_wizard.py5CODE
LOWtests/lint/test_linter_cli_llm.py8CODE
LOWtests/parsers/test_parser.py225CODE
LOWtests/parsers/test_parser.py225CODE
LOWtests/parsers/test_lexer.py433CODE
LOWtests/shell/test_ptk_history.py4CODE
LOWtests/format/test_formatter_llm.py3CODE
LOWtests/format/test_formatter_cli_llm.py8CODE
LOWtests/check/test_checker_cli_llm.py8CODE
LOWxonsh/cli_utils.py15CODE
LOWxonsh/lazyjson.py11CODE
LOWxonsh/tools.py75CODE
LOWxonsh/tools.py76CODE
LOWxonsh/xontribs.py19CODE
LOWxonsh/xontribs.py19CODE
LOWxonsh/pygments_cache.py22CODE
LOWxonsh/built_ins.py7CODE
LOWxonsh/lazyasd.py11CODE
LOWxonsh/lazyimps.py11CODE
LOWxonsh/parsers/rd_parser.py1CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
LOWxonsh/parsers/ast.py8CODE
42 more matches not shown…
Over-Commented Block81 hits · 60 pts
SeverityFileLineSnippetContext
LOWconftest.py21 f"Use `cd {_root!r} && python -m pytest` to ensure that xonsh is tested from the source tree rather than site-paCOMMENT
LOWtests/conftest.py1# when xonsh is not installed in the current envCOMMENT
LOWtests/test_pyghooks_llm.py221 surfaced as Error. Regression guard for the plugin-mode fix."""COMMENT
LOWtests/test_tools_llm.py221 # ``" \\"`` whenever ``XONSH_INTERACTIVE`` is true, which the preprocessorCOMMENT
LOWtests/test_execer.py101 # Regression for #4915. Two layers of bug here:COMMENT
LOWtests/test_execer.py221COMMENT
LOWtests/test_execer_llm.py121COMMENT
LOWtests/test_execer_llm.py201# recovery. Two distinct bugs combined to cause the failure:COMMENT
LOWtests/completers/test_xompletions.py61 assert matcher.get_module("pip").xonsh_completeCOMMENT
LOWtests/completers/test_bash_completer.py41 xession.env,COMMENT
LOWxonsh/execer.py81 # same AST because whitespace doesn't matter to the minus binary op.COMMENT
LOWxonsh/execer.py301 # SyntaxError instead of crashing in get_logical_line.COMMENT
LOWxonsh/tools.py441 lexer.reset()COMMENT
LOWxonsh/tools.py461 # Re-wrapping such a block would produce ``![![…]]``, which is notCOMMENT
LOWxonsh/tools.py521 if _is_not_lparen_and_rparen(lparens, toks[-1]):COMMENT
LOWxonsh/tools.py541 # subproc segment. Without breaking here the wrapCOMMENT
LOWxonsh/tools.py641 tok = toks[-1]COMMENT
LOWxonsh/tools.py661 # ``CtxAwareTransformer.is_in_scope`` returns True when there areCOMMENT
LOWxonsh/platform.py621 # FreeBSD/DragonFly install bash-completion via ports/pkg underCOMMENT
LOWxonsh/pyghooks.py2281 (r"^(@|\.) ", Generic.Prompt),COMMENT
LOWxonsh/main.py501 current_fg = os.tcgetpgrp(tty_fd)COMMENT
LOWxonsh/main.py521 # pid_namespaces(7):COMMENT
LOWxonsh/main.py741 _setup_ctrl_break()COMMENT
LOWxonsh/parsers/ast.py461COMMENT
LOWxonsh/parsers/ply/yacc.py1# -----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/yacc.py21# specific prior written permission.COMMENT
LOWxonsh/parsers/ply/yacc.py41#COMMENT
LOWxonsh/parsers/ply/yacc.py201#-----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/yacc.py341 # This is the debugging enabled version of parse(). All changes made to theCOMMENT
LOWxonsh/parsers/ply/yacc.py581 debug.error('Error : %s',COMMENT
LOWxonsh/parsers/ply/yacc.py881 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMMENT
LOWxonsh/parsers/ply/yacc.py1281#COMMENT
LOWxonsh/parsers/ply/yacc.py1301# prec - Production precedence levelCOMMENT
LOWxonsh/parsers/ply/yacc.py1401 # Bind the production function name to a callableCOMMENT
LOWxonsh/parsers/ply/yacc.py1521 # set_precedence()COMMENT
LOWxonsh/parsers/ply/yacc.py1541 #COMMENT
LOWxonsh/parsers/ply/yacc.py1781 # unused_precedence()COMMENT
LOWxonsh/parsers/ply/yacc.py1821 # We have to consider the next x in beta,COMMENT
LOWxonsh/parsers/ply/yacc.py1921 # -----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/yacc.py2041COMMENT
LOWxonsh/parsers/ply/yacc.py2221 for x in asyms:COMMENT
LOWxonsh/parsers/ply/yacc.py2241 # Lookahead Sets", ACM Transactions on Programming Languages and Systems,COMMENT
LOWxonsh/parsers/ply/yacc.py2341 if a in empty:COMMENT
LOWxonsh/parsers/ply/yacc.py2361 # Computes the INCLUDE() relation (p,A) INCLUDES (p',B).COMMENT
LOWxonsh/parsers/ply/yacc.py2441COMMENT
LOWxonsh/parsers/ply/yacc.py2461 # compute_follow_sets()COMMENT
LOWxonsh/parsers/ply/yacc.py2481COMMENT
LOWxonsh/parsers/ply/lex.py1# -----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/lex.py21# specific prior written permission.COMMENT
LOWxonsh/parsers/ply/lex.py101COMMENT
LOWxonsh/parsers/ply/lex.py421 t = self.token()COMMENT
LOWxonsh/parsers/ply/cpp.py1# -----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/cpp.py21# specific prior written permission.COMMENT
LOWxonsh/parsers/ply/cpp.py121# -----------------------------------------------------------------------------COMMENT
LOWxonsh/parsers/ply/cpp.py221 #COMMENT
LOWxonsh/parsers/ply/cpp.py841 # ----------------------------------------------------------------------COMMENT
LOWxonsh/shells/base_shell.py401 hist = XSH.history # pylint: disable=no-memberCOMMENT
LOWxonsh/shells/base_shell.py441 except subprocess.CalledProcessError:COMMENT
LOWxonsh/shells/ptk_shell/__init__.py441 else:COMMENT
LOWxonsh/shells/ptk_shell/__init__.py461 # its bytes virtually never arrive more than 50ms apart. Raise itCOMMENT
21 more matches not shown…
Self-Referential Comments29 hits · 44 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_events_llm.py240 # Create a new object with same key to discardCOMMENT
MEDIUM⚡tests/procs/test_executables.py183 # Create a subdirectory named "man" (like coreutils gnubin/man)COMMENT
MEDIUM⚡tests/procs/test_executables.py185 # Create a real executable so the dir is not emptyCOMMENT
MEDIUMxonsh/foreign_shells.py538 """This class is responsible for calling foreign shell functions as ifSTRING
MEDIUMxonsh/foreign_shells.py631 """This class is responsible for calling foreign shell functions as ifSTRING
MEDIUMxonsh/parsers/ply/yacc.py2740# This file is automatically generated. Do not edit.COMMENT
MEDIUM⚡xonsh/parsers/ply/yacc.py204# The following classes are used for the LR parser itself. These are notSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py209# This class is used to hold non-terminal grammar symbols during parsing.STRING
MEDIUM⚡xonsh/parsers/ply/yacc.py1282# The following functions, classes, and variables are used to represent andSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py1469# The following class represents the contents of the specified grammar alongSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py2038# The following classes and functions are used to generate LR parsing tables onSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py2099# This class implements the LR table generation algorithm. There are noSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py2875# The following functions and classes are used to implement the PLYSTRING
MEDIUM⚡xonsh/parsers/ply/yacc.py2936# This class represents information extracted for building a parser includingSTRING
MEDIUMxonsh/parsers/ply/yacc.py225# This class is a wrapper around the objects actually passed to eachSTRING
MEDIUMxonsh/parsers/ply/yacc.py663 # Create the error symbol for the first time and make it the new lookahead symbolSTRING
MEDIUMxonsh/parsers/ply/yacc.py969 # Create the error symbol for the first time and make it the new lookahead symbolSTRING
MEDIUMxonsh/parsers/ply/yacc.py1256 # Create the error symbol for the first time and make it the new lookahead symbolSTRING
MEDIUMxonsh/parsers/ply/yacc.py1329 # Create a list of unique production symbols used in the productionSTRING
MEDIUMxonsh/parsers/ply/yacc.py1339 # Create a string representationSTRING
MEDIUMxonsh/parsers/ply/yacc.py1410# This class represents a specific stage of parsing a production rule. ForSTRING
MEDIUMxonsh/parsers/ply/yacc.py1619 # Create a production and add it to the list of productionsSTRING
MEDIUMxonsh/parsers/ply/yacc.py3330 # Create a grammar objectSTRING
MEDIUM⚡xonsh/parsers/ply/lex.py556# This class represents information needed to build a lexer as extracted from aCOMMENT
MEDIUMxonsh/parsers/ply/lex.py326 # Create a token for returnCOMMENT
MEDIUM⚡xonsh/parsers/ply/cpp.py36# This module implements an ANSI-C style lexical preprocessor for PLY.COMMENT
MEDIUM⚡xonsh/parsers/ply/cpp.py857 # Define a new macroCOMMENT
MEDIUMxonsh/completers/bash_completion.py1"""This module provides the implementation for the retrieving completion resultsSTRING
MEDIUMdocs/conf.py2# This file is execfile()d with the current directory set to its containing dir.COMMENT
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALxonsh/history/sqlite.py449 XSH.shell.shell.prompter.history.append_string(cmd)CODE
CRITICALxonsh/history/json.py757 XSH.shell.shell.prompter.history.append_string(line)CODE
CRITICALdocs/_static/landing2/js/jquery-3.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHxonsh/lazyasd.py0deprecated: use `xonsh.lib.lazyasd` instead of `xonsh.lazyasd`.STRING
HIGHxonsh/lib/subprocess.py0deprecated: use `xonsh.lib.lazyasd` instead of `xonsh.lazyasd`.STRING
HIGHxonsh/lib/os.py0deprecated: use `xonsh.lib.lazyasd` instead of `xonsh.lazyasd`.STRING
HIGHxonsh/parsers/v38.py0parameters ---------- yacc_optimize : bool, optional set to false when unstable and true when parser is stable. yacc_tabSTRING
HIGHxonsh/parsers/v36.py0parameters ---------- yacc_optimize : bool, optional set to false when unstable and true when parser is stable. yacc_tabSTRING
HIGHxonsh/parsers/base.py0parameters ---------- yacc_optimize : bool, optional set to false when unstable and true when parser is stable. yacc_tabSTRING
Redundant / Tautological Comments10 hits · 14 pts
SeverityFileLineSnippetContext
LOWxonsh/timings.py209 # Check if there is a huge difference between the best and worst timings.COMMENT
LOWxonsh/timings.py331 # Print result tableCOMMENT
LOWxonsh/platform.py459 # Check if Bash is from the "Windows Subsystem for Linux" (WSL)COMMENT
LOWxonsh/environ.py835 # Check if old config file exists and issue warningCOMMENT
LOWxonsh/parsers/ply/yacc.py2209 # Loop over the items in C and each grammar symbolsSTRING
LOWxonsh/completers/python.py154 # Check if we're completing __xonsh__.imp.<module>COMMENT
LOWxonsh/completers/bash_completion.py50 # Check if Bash is from the "Windows Subsystem for Linux" (WSL)COMMENT
LOWxonsh/procs/proxies.py559 # Check if we have already been interrupted. This should preventCOMMENT
LOWxonsh/procs/posix.py349 # Check if we have already been interrupted. This should preventCOMMENT
LOWxonsh/procs/pipelines.py431 # Check if SIGINT was caught but not raised as KeyboardInterrupt.COMMENT
AI Structural Patterns16 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/test_main_terminal_llm.py60CODE
LOWtests/xintegration/conftest.py35CODE
LOWxonsh/foreign_shells.py175CODE
LOWxonsh/aliases.py992CODE
LOWxonsh/aliases.py1264CODE
LOWxonsh/aliases.py173CODE
LOWxonsh/built_ins.py644CODE
LOWxonsh/environ.py3105CODE
LOWxonsh/parsers/ply/yacc.py147CODE
LOWxonsh/parsers/ply/yacc.py3218CODE
LOWxonsh/parsers/ply/lex.py864CODE
LOWxonsh/completers/bash_completion.py342CODE
LOWxonsh/xoreutils/uname.py17CODE
LOWxonsh/procs/specs.py429CODE
LOWxonsh/prompt/vc.py154CODE
LOWxonsh/history/main.py234CODE
Verbosity Indicators6 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_main_terminal_llm.py607 # Step 1: Python no-op handler for each signal.COMMENT
LOW⚡tests/test_main_terminal_llm.py614 # Step 2: SIG_IGN replacement.COMMENT
LOWxonsh/main.py746 # Step 1: unconditional Python no-op-with-livelock-guard handlerCOMMENT
LOWxonsh/main.py760 # Step 2: only attempt the handshake when stderr is a real TTY.COMMENT
LOWxonsh/main.py772 # Step 3: register the shutdown restorer only if the handshakeCOMMENT
LOWxonsh/parsers/ply/yacc.py2547 # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) itemsSTRING
Structural Annotation Overuse6 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_main_terminal_llm.py607 # Step 1: Python no-op handler for each signal.COMMENT
LOW⚡tests/test_main_terminal_llm.py614 # Step 2: SIG_IGN replacement.COMMENT
LOWxonsh/main.py746 # Step 1: unconditional Python no-op-with-livelock-guard handlerCOMMENT
LOWxonsh/main.py760 # Step 2: only attempt the handshake when stderr is a real TTY.COMMENT
LOWxonsh/main.py772 # Step 3: register the shutdown restorer only if the handshakeCOMMENT
LOWxonsh/parsers/ply/yacc.py2547 # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) itemsSTRING
Overly Generic Function Names11 hits · 8 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_debug_llm.py218 def helper():CODE
LOW⚡tests/test_debug_llm.py320 def helper():CODE
LOW⚡tests/test_debug_llm.py599 def helper():CODE
LOW⚡tests/test_debug_llm.py614 def helper():CODE
LOWtests/test_debug_llm.py402 def helper():CODE
LOW⚡tests/test_tools.py1889 def my_function():CODE
LOW⚡tests/test_tools.py1898 def my_function():CODE
LOW⚡tests/test_tools.py1925 def my_function():CODE
LOWtests/test_tools.py1861 def my_function():CODE
LOWtests/test_tools.py1911 def my_function():CODE
LOWxonsh/built_ins.py95def helper(x, name=""):CODE
AI Slop Vocabulary7 hits · 7 pts
SeverityFileLineSnippetContext
LOWxonsh/timings.py31 # just use time.perf_counter() for everything...COMMENT
LOWxonsh/parsers/ply/yacc.py408 # is already set, we just use that. Otherwise, we'll pullSTRING
LOWxonsh/parsers/ply/yacc.py752 # is already set, we just use that. Otherwise, we'll pullSTRING
LOWxonsh/parsers/ply/yacc.py1058 # is already set, we just use that. Otherwise, we'll pullSTRING
LOWxonsh/pytest/plugin.py362 # just return the bare completions without appended-space for easier assertionsCOMMENT
LOWxonsh/shells/readline_shell.py825 # If available, we should just call the stty utility. This call shouldCOMMENT
MEDIUMxonsh/procs/executables.py259 continue # Definitely not in this dir — skip without statCODE
Modern Structural Boilerplate7 hits · 7 pts
SeverityFileLineSnippetContext
LOWxonsh/parsers/ply/__init__.py5__all__ = ['lex','yacc']CODE
LOWxonsh/linter/__init__.py20__all__ = ["lint_source", "Finding"]CODE
LOWxonsh/checker/__init__.py24__all__ = ["check_source"]CODE
LOWxonsh/xoreutils/_which.py97__all__ = ["which", "whichall", "whichgen", "WhichError"]STRING
LOWxonsh/formatter/__init__.py20__all__ = ["DEFAULT_INDENT", "FormatError", "format_source"]CODE
LOW⚡xonsh/formatter/core.py451 def _update_state(self, tok) -> None:CODE
LOWxonsh/lib/pretty.py91__all__ = [CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHxonsh/shell.py102 on_command_not_found(cmd: list[str]) -> list[str] | tuple[str, ...] | dict | None Fires if a command is not found (onlSTRING
Modern AI Meta-Vocabulary1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_main_terminal_llm.py490# _setup_controlling_terminal — orchestration / signal policy testsCOMMENT
Slop Phrases2 hits · 1 pts
SeverityFileLineSnippetContext
LOWxonsh/parsers/ply/yacc.py3141 # Sort all of the actions by line number; make sure to stringifySTRING
LOWxonsh/lib/lazyasd.py161 self._d = type(loaders)() # make sure to return the same typeCODE