Repository Analysis

sinelaw/fresh

Terminal based IDE & text editor: easy, powerful and fast

6.0 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of sinelaw/fresh, a Rust project with 7,858 GitHub stars. SynthScan v2.0 examined 781,991 lines of code across 1360 source files, recording 3526 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 6.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).

6.0
Adjusted Score
6.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
7.9K
Stars
Rust
Language
782.0K
Lines of Code
1.4K
Files
3.5K
Pattern Hits
2026-07-14
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 5HIGH 2MEDIUM 427LOW 3092

Directory Score Breakdown

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.

Pattern Findings

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

Over-Commented Block2528 hits · 2322 pts
SeverityFileLineSnippetContext
LOWCargo.toml81COMMENT
LOWCargo.toml101[profile.min-size]COMMENT
LOWcrates/fresh-core/proptest-regressions/file_uri.txt1# Seeds for failure cases propance has generated in the past. It isCOMMENT
LOWcrates/fresh-core/src/display_width.rs1//! Display width calculation for Unicode text.COMMENT
LOWcrates/fresh-core/src/file_explorer.rs41#[ts(export)]COMMENT
LOWcrates/fresh-core/src/file_explorer.rs61 /// Optional tooltip shown when hovering the trailing slot.COMMENT
LOWcrates/fresh-core/src/file_explorer.rs81 #[serde(default)]COMMENT
LOWcrates/fresh-core/src/file_uri.rs461 // %2f is lowercase hex for '/', but it appears within a segment (not a separator)COMMENT
LOWcrates/fresh-core/src/config.rs21#[schemars(extend("x-display-field" = "/enabled"))]COMMENT
LOWcrates/fresh-core/src/command.rs1use serde::{Deserialize, Serialize};COMMENT
LOWcrates/fresh-core/src/command.rs21 pub description: String,COMMENT
LOWcrates/fresh-core/src/command.rs41#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ts_rs::TS)]COMMENT
LOWcrates/fresh-core/src/command.rs61 /// plain `description` text — letting a plugin highlight a portionCOMMENT
LOWcrates/fresh-core/src/text_property.rs1//! Text properties for embedding metadata in text rangesCOMMENT
LOWcrates/fresh-core/src/text_property.rs61 }COMMENT
LOWcrates/fresh-core/src/text_property.rs101 /// Start offset within the entry's text. See `unit`.COMMENT
LOWcrates/fresh-core/src/text_property.rs121/// computing byte/char offsets for overlays themselves. The hostCOMMENT
LOWcrates/fresh-core/src/text_property.rs141}COMMENT
LOWcrates/fresh-core/src/text_property.rs161 pub inline_overlays: Vec<InlineOverlay>,COMMENT
LOWcrates/fresh-core/src/lib.rs61/// Unique identifier for a terminal sessionCOMMENT
LOWcrates/fresh-core/src/lib.rs81///COMMENT
LOWcrates/fresh-core/src/services.rs61 /// Get the persistent data directory path (DirectoryContext::data_dir).COMMENT
LOWcrates/fresh-core/src/hooks.rs121COMMENT
LOWcrates/fresh-core/src/hooks.rs141 /// can read the new label via `editor.getAuthorityLabel()`.COMMENT
LOWcrates/fresh-core/src/hooks.rs221 locations: Vec<LspLocation>,COMMENT
LOWcrates/fresh-core/src/hooks.rs261 MouseClick {COMMENT
LOWcrates/fresh-core/src/hooks.rs321 /// The language that failedCOMMENT
LOWcrates/fresh-core/src/hooks.rs341 missing_servers: Vec<String>,COMMENT
LOWcrates/fresh-core/src/hooks.rs381 /// (like Orchestrator) use this to reconcile their per-sessionCOMMENT
LOWcrates/fresh-core/src/hooks.rs401 ActiveWindowChanged {COMMENT
LOWcrates/fresh-core/src/hooks.rs421 /// Editor window that owns this terminal (matches `WindowId.0`).COMMENT
LOWcrates/fresh-core/src/hooks.rs441 /// Editor window that owned this terminal (matches `WindowId.0`).COMMENT
LOWcrates/fresh-core/src/hooks.rs501 /// A widget mounted via `MountWidgetPanel` emitted a semantic event.COMMENT
LOWcrates/fresh-core/src/menu.rs41}COMMENT
LOWcrates/fresh-core/src/menu.rs61 checkbox: Option<String>,COMMENT
LOWcrates/fresh-core/src/api.rs1//! Plugin API: Safe interface for plugins to interact with the editorCOMMENT
LOWcrates/fresh-core/src/api.rs21//! ```COMMENT
LOWcrates/fresh-core/src/api.rs141#[serde(rename_all = "camelCase")]COMMENT
LOWcrates/fresh-core/src/api.rs361 pub selection: Option<Range<usize>>,COMMENT
LOWcrates/fresh-core/src/api.rs401COMMENT
LOWcrates/fresh-core/src/api.rs421 /// sessions, the launch session, sessions created outside theCOMMENT
LOWcrates/fresh-core/src/api.rs441 /// *and* for dormant (not-yet-connected / disconnected) sessions, soCOMMENT
LOWcrates/fresh-core/src/api.rs461 /// Short human identity for the row (e.g. `deploy@build-01`,COMMENT
LOWcrates/fresh-core/src/api.rs481 /// Whether the buffer has been modifiedCOMMENT
LOWcrates/fresh-core/src/api.rs501 /// Whether this tab was opened in "preview" (ephemeral) mode — true whenCOMMENT
LOWcrates/fresh-core/src/api.rs541COMMENT
LOWcrates/fresh-core/src/api.rs561 /// Left column offset (horizontal scroll)COMMENT
LOWcrates/fresh-core/src/api.rs581 /// Buffer currently shown in this split.COMMENT
LOWcrates/fresh-core/src/api.rs601 /// Ctrl held.COMMENT
LOWcrates/fresh-core/src/api.rs621 #[ts(optional)]COMMENT
LOWcrates/fresh-core/src/api.rs641#[ts(export)]COMMENT
LOWcrates/fresh-core/src/api.rs701#[ts(export, rename_all = "camelCase")]COMMENT
LOWcrates/fresh-core/src/api.rs721 #[serde(default)]COMMENT
LOWcrates/fresh-core/src/api.rs741 /// share the bg's colour without repainting unrelated tokens.COMMENT
LOWcrates/fresh-core/src/api.rs781/// payload when the user picks the row. `kind` is an optionalCOMMENT
LOWcrates/fresh-core/src/api.rs861COMMENT
LOWcrates/fresh-core/src/api.rs901 #[serde(default)]COMMENT
LOWcrates/fresh-core/src/api.rs921 pub remove_bg: Option<[u8; 3]>,COMMENT
LOWcrates/fresh-core/src/api.rs941 /// Number of lines in old bufferCOMMENT
LOWcrates/fresh-core/src/api.rs961}COMMENT
2468 more matches not shown…
Decorative Section Separators347 hits · 1154 pts
SeverityFileLineSnippetContext
MEDIUMcrates/fresh-core/src/file_uri.rs222 // ── Basic functionality ──────────────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs280 // ── Percent-encoding edge cases ─────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs366 // ── Unicode ─────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs405 // ── lsp_types::Uri compatibility ────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs431 // ── file_uri_to_path edge cases ─────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs605 // ── Windows verbatim (\\?\) path handling ─────────────────COMMENT
MEDIUMcrates/fresh-core/src/file_uri.rs752 // ── Property tests ──────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/api.rs13//! ─────────── ────────────────────COMMENT
MEDIUMcrates/fresh-core/src/api.rs2125 /// ╭─ Label ──────────────────╮COMMENT
MEDIUMcrates/fresh-core/src/api.rs2127 /// ╰──────────────────────────╯COMMENT
MEDIUMcrates/fresh-core/src/api.rs5169 // ── Tests for FromJs / IntoJs impls ────────────────────────────────────COMMENT
MEDIUMcrates/fresh-core/src/api.rs6559 // ── PluginApi dispatch / mutation tests ────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs512 // ── lifecycle ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs520 // ── buffer lifecycle ─────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs525 // ── file I/O ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs539 // ── text edits ───────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs564 // ── cursor & viewport ────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs582 // ── rendering ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs607 // ── commands ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs613 // ── prompts ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs619 // ── mouse ────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs624 // ── LSP ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs653 // ── UI events ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs667 // ── PTY terminals (see crates/fresh-core/src/hooks.rs) ───────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs675 // ── filesystem watching (watchPath plugin API) ────────────────────────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs683 // ── editor sessions (Orchestrator; see orchestrator-sessions-design.md) ────────COMMENT
MEDIUMcrates/fresh-plugin-runtime/src/ts_export.rs688 // ── widget runtime ───────────────────────────────────────────────────────COMMENT
MEDIUM…es/fresh-plugin-runtime/src/backend/quickjs_backend.rs831// ─── Helpers for the defineConfigX methods ────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/asm-lsp.ts135// ── .asm-lsp.toml config offer ──────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/live_grep.ts132// ── Scopes (Universal Search) ─────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/live_grep.ts188// ── Search modes ──────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/live_grep.ts260// ── Registry ──────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/live_grep.ts431// ── Built-in providers ──────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/live_grep.ts643// ── Wiring ──────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/orchestrator.ts1196// ╭────────────────────────────────────╮COMMENT
MEDIUMcrates/fresh-editor/plugins/orchestrator.ts1199// ╰────────────────────────────────────╯COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts4// ═════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts42// ═════════════════════════════════════════════════════════════════════COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts95// ── Public section API ─────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts198// ── Internal state ─────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts237// ── Drawing primitives ─────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts320// ── Sections (sentinel / placeholder factories) ────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts338// ── Section registry + DashboardContext factory ────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts449// ── Frame + section renderer ───────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts609// ── Paint the buffer ───────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts823// ── Data fetchers ──────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts1446// ── Lifecycle ──────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/dashboard.ts1615// ── Editor event handlers ─────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3727 // ── lifecycle ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3738 // ── buffer lifecycle ─────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3748 // ── file I/O ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3774 // ── text edits ───────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3806 // ── cursor & viewport ────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3823 // ── rendering ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3854 // ── commands ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3868 // ── prompts ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3886 // ── mouse ────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3900 // ── LSP ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3939 // ── UI events ────────────────────────────────────────────────────────────COMMENT
MEDIUMcrates/fresh-editor/plugins/lib/fresh.d.ts3972 // ── PTY terminals (see crates/fresh-core/src/hooks.rs) ───────────────────COMMENT
287 more matches not shown…
Structural Annotation Overuse227 hits · 412 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/tests/focused_bug_test.rs78 // Step 1: EnterCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs88 // Step 2: Type "a0"COMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs96 // Step 3: LeftCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs104 // Step 4: HomeCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs112 // Step 5: Type "b"COMMENT
LOW…fresh-editor/tests/undo_redo_marker_roundtrip_tests.rs635 // Step 1: Insert "XX" at 1 → "aXXbcdef"COMMENT
LOW…fresh-editor/tests/undo_redo_marker_roundtrip_tests.rs647 // Step 2: Delete "de" at 5..7 → "aXXbcf"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs381 // Step 1: type 'X' at cursor → "Xaa\nbb"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs382 // Step 2: MoveLineDown of line 1 → "bb\nXaa"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs400 // Step 1: type 'X' → "Xaa\nbb"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs409 // Step 2: MoveLineDown → "bb\nXaa"COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs138 // Step 1: default empty buffer.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs141 // Step 2: type "hello".COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs145 // Step 3: Save As to a fresh path inside the temp project.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs150 // Step 4: type more text past the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs154 // Step 5: Undo back to the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs185 // Step 1: start empty.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs187 // Step 2: type "hello" — 5 InsertChar events.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs190 // Step 3: Save As.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs202 // Step 4: type " world" past the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs206 // Step 5: Undo all the way back to empty (cap at 20 Undos —COMMENT
LOWcrates/fresh-editor/tests/semantic/migrated_macros.rs72 // Step 1: open register prompt. Step 2 (events): typeCOMMENT
LOWcrates/fresh-editor/tests/e2e/markdown_compose.rs202 // Step 1: buffer edit. invalidate_layouts_for_buffer clearsCOMMENT
LOWcrates/fresh-editor/tests/e2e/markdown_compose.rs211 // Step 2: semantic wait for the post-edit transient to clear.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs514 // Step 1: navigate to the end of paragraph one ("... data as UTF-8.").COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs526 // Step 2: one Down — cursor should be on the empty separator line.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs546 // Step 3: Ctrl+Up until the cursor is on the last visible row ANDCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs617 // Step 4: THE TEST — press Down once and inspect the cursor's row.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs684 // Step 1: navigate to end of paragraph one, then Down to the emptyCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs714 // Step 2: Ctrl+Down pushes the viewport forward, moving the cursor'sCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs796 // Step 3: press Up once. The cursor should move to paragraph one'sCOMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs211 // Step 1: Open the test file (triggers didOpen)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs221 // Step 2: Type some text (triggers didChange)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs230 // Step 3: Toggle LSP OFF (Alt+T)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs240 // Step 4: Edit while LSP is disabled - type more textCOMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs244 // Step 5: Toggle LSP back ON (Alt+T)COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs812 // Step 1: drag the first tab to the right edge to create a new split.COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs834 // Step 2: identify the new (right) split and pick a tab in theCOMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs880 // Step 3: drag the other tab onto the new split's tab bar.COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs893 // Step 4: type a character. Without the fix, this panics inCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs63 // Step 1: Type some text to create buffers in the buffers vecCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs68 // Step 2: Toggle comment on the current line -> creates a BulkEdit eventCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs91 // Step 4: Type more text after save. This creates a new Added(1) bufferCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs99 // Step 5: Undo everything back past the BulkEdit.COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs152 // Step 2: Indent selection (Tab) -> creates a BulkEditCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs156 // Step 3: SaveCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs162 // Step 4: Type after save (creates new buffers after consolidation)COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs167 // Step 5: Undo everythingCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs211 // Step 1: Toggle comment (BulkEdit)COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs220 // Step 2: Save -> consolidate_after_save() replaces buffersCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs226 // Step 3: Undo -> should restore original contentCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs259 // Step 1: Move line down (Alt+Down) - this is a BulkEditCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs269 // Step 2: SaveCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs275 // Step 3: Undo -> should restore original contentCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs79 // Step 3: Save the file -> consolidate_after_save() replaces self.buffersCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs141 // Step 1: Select multiple linesCOMMENT
LOW…s/fresh-editor/tests/e2e/undo_redo_marker_roundtrip.rs491 // Step 1: Type "X" at start → "Xaa\nbb"COMMENT
LOW…s/fresh-editor/tests/e2e/undo_redo_marker_roundtrip.rs496 // Step 2: MoveLineDown (BulkEdit) → should swap linesCOMMENT
LOWcrates/fresh-editor/tests/e2e/sessions.rs56// Step 2: createSession / setActiveSession / closeSession lifecycle.COMMENT
LOWcrates/fresh-editor/tests/e2e/menu_bar.rs669 // Step 1: Menu bar should be visible initially (default)COMMENT
167 more matches not shown…
Verbosity Indicators221 hits · 405 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/tests/focused_bug_test.rs78 // Step 1: EnterCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs88 // Step 2: Type "a0"COMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs96 // Step 3: LeftCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs104 // Step 4: HomeCOMMENT
LOWcrates/fresh-editor/tests/focused_bug_test.rs112 // Step 5: Type "b"COMMENT
LOW…fresh-editor/tests/undo_redo_marker_roundtrip_tests.rs635 // Step 1: Insert "XX" at 1 → "aXXbcdef"COMMENT
LOW…fresh-editor/tests/undo_redo_marker_roundtrip_tests.rs647 // Step 2: Delete "de" at 5..7 → "aXXbcf"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs381 // Step 1: type 'X' at cursor → "Xaa\nbb"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs382 // Step 2: MoveLineDown of line 1 → "bb\nXaa"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs400 // Step 1: type 'X' → "Xaa\nbb"COMMENT
LOW…esh-editor/tests/semantic/migrated_marker_roundtrip.rs409 // Step 2: MoveLineDown → "bb\nXaa"COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs138 // Step 1: default empty buffer.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs141 // Step 2: type "hello".COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs145 // Step 3: Save As to a fresh path inside the temp project.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs150 // Step 4: type more text past the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs154 // Step 5: Undo back to the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs185 // Step 1: start empty.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs187 // Step 2: type "hello" — 5 InsertChar events.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs190 // Step 3: Save As.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs202 // Step 4: type " world" past the save point.COMMENT
LOW…resh-editor/tests/semantic/migrated_undo_save_point.rs206 // Step 5: Undo all the way back to empty (cap at 20 Undos —COMMENT
LOWcrates/fresh-editor/tests/semantic/migrated_macros.rs72 // Step 1: open register prompt. Step 2 (events): typeCOMMENT
LOWcrates/fresh-editor/tests/e2e/markdown_compose.rs202 // Step 1: buffer edit. invalidate_layouts_for_buffer clearsCOMMENT
LOWcrates/fresh-editor/tests/e2e/markdown_compose.rs211 // Step 2: semantic wait for the post-edit transient to clear.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs514 // Step 1: navigate to the end of paragraph one ("... data as UTF-8.").COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs526 // Step 2: one Down — cursor should be on the empty separator line.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs546 // Step 3: Ctrl+Up until the cursor is on the last visible row ANDCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs617 // Step 4: THE TEST — press Down once and inspect the cursor's row.COMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs684 // Step 1: navigate to end of paragraph one, then Down to the emptyCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs714 // Step 2: Ctrl+Down pushes the viewport forward, moving the cursor'sCOMMENT
LOW…esh-editor/tests/e2e/issue_1574_wrapped_down_scroll.rs796 // Step 3: press Up once. The cursor should move to paragraph one'sCOMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs211 // Step 1: Open the test file (triggers didOpen)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs221 // Step 2: Type some text (triggers didChange)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs230 // Step 3: Toggle LSP OFF (Alt+T)COMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs240 // Step 4: Edit while LSP is disabled - type more textCOMMENT
LOWcrates/fresh-editor/tests/e2e/lsp_toggle_desync.rs244 // Step 5: Toggle LSP back ON (Alt+T)COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs812 // Step 1: drag the first tab to the right edge to create a new split.COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs834 // Step 2: identify the new (right) split and pick a tab in theCOMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs880 // Step 3: drag the other tab onto the new split's tab bar.COMMENT
LOWcrates/fresh-editor/tests/e2e/tab_drag.rs893 // Step 4: type a character. Without the fix, this panics inCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs63 // Step 1: Type some text to create buffers in the buffers vecCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs68 // Step 2: Toggle comment on the current line -> creates a BulkEdit eventCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs91 // Step 4: Type more text after save. This creates a new Added(1) bufferCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs99 // Step 5: Undo everything back past the BulkEdit.COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs152 // Step 2: Indent selection (Tab) -> creates a BulkEditCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs156 // Step 3: SaveCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs162 // Step 4: Type after save (creates new buffers after consolidation)COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs167 // Step 5: Undo everythingCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs211 // Step 1: Toggle comment (BulkEdit)COMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs220 // Step 2: Save -> consolidate_after_save() replaces buffersCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs226 // Step 3: Undo -> should restore original contentCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs259 // Step 1: Move line down (Alt+Down) - this is a BulkEditCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs269 // Step 2: SaveCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs275 // Step 3: Undo -> should restore original contentCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs79 // Step 3: Save the file -> consolidate_after_save() replaces self.buffersCOMMENT
LOW…es/fresh-editor/tests/e2e/undo_bulk_edit_after_save.rs141 // Step 1: Select multiple linesCOMMENT
LOW…s/fresh-editor/tests/e2e/undo_redo_marker_roundtrip.rs491 // Step 1: Type "X" at start → "Xaa\nbb"COMMENT
LOW…s/fresh-editor/tests/e2e/undo_redo_marker_roundtrip.rs496 // Step 2: MoveLineDown (BulkEdit) → should swap linesCOMMENT
LOWcrates/fresh-editor/tests/e2e/sessions.rs56// Step 2: createSession / setActiveSession / closeSession lifecycle.COMMENT
LOWcrates/fresh-editor/tests/e2e/menu_bar.rs669 // Step 1: Menu bar should be visible initially (default)COMMENT
161 more matches not shown…
AI Slop Vocabulary56 hits · 170 pts
SeverityFileLineSnippetContext
MEDIUMcrates/fresh-core/src/api.rs1264 /// Currently we isolate by plugin name, but we may want a more robust approachCOMMENT
MEDIUMcrates/fresh-core/src/api.rs2957 /// Used for Typora-style seamless markdown: hiding syntax markers like `**`, `[](url)`, etc.COMMENT
MEDIUMcrates/fresh-editor/plugins/git_blame.ts495 // line number rather than the byte position so the jump is robust toCOMMENT
MEDIUMcrates/fresh-editor/plugins/k8s-workspace.ts268 // temp file? Keep it robust: apply the file path directly after theCOMMENT
MEDIUMcrates/fresh-editor/tests/kube_fake_kubectl.rs254 // the "pod"). Use `sh -c` so it's robust across systems.COMMENT
MEDIUMcrates/fresh-editor/tests/common/harness.rs583 // (issue #1722), but the harness keeps the directory-presenceCOMMENT
MEDIUMcrates/fresh-editor/tests/common/harness.rs676 // failures. A robust fix means either moving rust_i18n locale intoCOMMENT
MEDIUM…h-editor/tests/semantic/migrated_cursor_under_popup.rs72 // at width 80, default config). To keep the assertion robustCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/file_explorer.rs1365 // For a more robust test, we could check the internal stateCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/file_explorer.rs3927 // Use single ASCII chars so the assertion is robust against unicodeCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/buffer_groups.rs161 // Click in the middle of the marker text to be robust againstCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/terminal.rs1118/// Test that terminal rendering is robust when cursor position equals heightCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/blog_showcases.rs3447 // wait robust. -------------------------------------------------------COMMENT
MEDIUMcrates/fresh-editor/tests/e2e/menu_bar.rs80#[ignore = "F10 keybinding needs investigation - works in real editor but not in test harness"]COMMENT
MEDIUM…ditor/tests/e2e/syntax_highlighting_embedded_offset.rs441 // 5 keystrokes * ~500 bytes = ~2500 bytes. Definitely under 10KB.COMMENT
MEDIUM…tes/fresh-editor/tests/e2e/issue_1577_unicode_width.rs320/// The assertion is narrow and robust: after the editor renders theCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/lsp.rs785/// Uses a fake LSP server for robust testingCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/lsp.rs1438/// Uses a fake LSP server for robust testingCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/lsp.rs1511/// Uses a fake LSP server for robust testingCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/lsp.rs1585/// Uses a fake LSP server for robust testingCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/lsp.rs9305 // foxtrot. We use Goto Line via the palette instead to be robustCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs260/// (the active session's seamless tab) must land on the session the editorCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs328 // session's card must wear the seamless tab.COMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs420/// The active session's card wears the "seamless tab": its rows have theCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs463 // seamless tab); false when the wall `│` still stands there.COMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs470 // aaa_project is the launch (active) session: its card is the seamlessCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs554 // The active session renders as the seamless tab (its divider is scoopedCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs1592 // its marker keeps this robust to the focus-cycle length: each radioCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs1835/// active row. We read this off the *seamless tab*: the active session'sCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs1838/// After creation the new session's card must be the seamless one and theCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/orchestrator_dock.rs1905 // row's wall is scooped away (the seamless tab). The spawn + active-windowCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/plugins/live_diff.rs35/// to keep this robust we scan every cell from the start of each row.COMMENT
MEDIUM…editor/tests/e2e/plugins/plugin_config_registration.rs90/// and the category name — robust against either layout.COMMENT
MEDIUM…tor/tests/e2e/plugins/devcontainer_usability_repros.rs15//! | Critical | After Rebuild with malformed `devcontainer.json`, all `Dev Container:` palette commands disappear from COMMENT
MEDIUM…tor/tests/e2e/plugins/devcontainer_usability_repros.rs16//! | Medium | Palette popup renders nothing when the layout has many horizontal splits — the prompt accepts the filter COMMENT
MEDIUM…tor/tests/e2e/plugins/devcontainer_usability_repros.rs207#[ignore = "harness shortcuts the post-rebuild editor restart; needs real restart support to repro"]COMMENT
MEDIUM…tor/tests/e2e/plugins/devcontainer_usability_repros.rs309#[ignore = "harness PTY is too tall to crowd the popup off-screen; needs smaller PTY or popup-bounds accessor to repro"]COMMENT
MEDIUMcrates/fresh-editor/src/app/editor_accessors.rs462 /// far more robust — every cached `Arc<dyn FileSystem>`, LSPCOMMENT
MEDIUMcrates/fresh-editor/src/app/render.rs4682 // Dock "seamless tab (missing wall)": erase the right-edge dividerCOMMENT
MEDIUMcrates/fresh-editor/src/app/render.rs4918/// Paint the dock's "seamless tab (missing wall)" treatment for theCOMMENT
MEDIUMcrates/fresh-editor/src/app/widget_runtime.rs360 /// Native-frontend entry point, robust against hit-list drift: resolveCOMMENT
MEDIUMcrates/fresh-editor/src/primitives/grammar/types.rs587 // syntect's first-line regex, but mapping it explicitly is robustCOMMENT
MEDIUMcrates/fresh-editor/src/model/line_diff.rs3//! This module provides a simple but robust diff algorithm that correctly handlesCOMMENT
MEDIUMcrates/fresh-editor/src/model/encoding.rs336/// Unlike UTF-8 above, this heuristic is robust to sample truncation: it usesCOMMENT
MEDIUMcrates/fresh-editor/src/view/conceal.rs4//! Used for Typora-style "seamless canvas" markdown: hiding syntax markers like `**`COMMENT
MEDIUMcrates/fresh-editor/src/view/settings/widget_map.rs21//! **domain-formatted** content — the robust shape: domain code (here,COMMENT
MEDIUMcrates/fresh-editor/src/view/file_tree/ignore.rs8//! Uses the `ignore` crate which provides robust .gitignore parsingCOMMENT
MEDIUMcrates/fresh-editor/src/webui/mod.rs714 // payload) with the raw index as tiebreaker — robust against theCOMMENT
MEDIUMcrates/fresh-editor/src/services/lsp/mod.rs4//! It supports multiple concurrent language servers, async I/O, and robustCOMMENT
MEDIUMscripts/check-semantic-test-isolation.sh5# fresh::test_api and the common test harness. They must NOT reach intoCOMMENT
MEDIUMscripts/check-semantic-test-isolation.sh12# docs/internal/scenario-migration-status.md as the "Direct-harness forCOMMENT
MEDIUMscripts/check-semantic-test-isolation.sh23# use crate::common::harness::EditorTestHarness;COMMENT
MEDIUMscripts/check-semantic-test-isolation.sh25# Any file importing the harness directly is taking the harness-directCOMMENT
MEDIUMscripts/check-semantic-test-isolation.sh43# harness-direct pattern doesn't need.COMMENT
MEDIUMscripts/check-semantic-test-isolation.sh53# Conditionally-forbidden imports — allowed only in harness-directCOMMENT
MEDIUMscripts/check-semantic-test-isolation.sh76# For the harness-only patterns, allow imports in files that themselvesCOMMENT
Hyper-Verbose Identifiers57 hits · 57 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/plugins/audit_mode.ts1777function buildCommentsPanelEntries(): TextPropertyEntry[] {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts2746function paintLineSelectionOverlay() {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts3181function rememberPendingHunkAnchor(hunkId: string | null) {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts3276function restoreCursorAfterRebuild() {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts3308function refreshViewportDimensions(): boolean {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts3385function computeFullFileAlignedDiff(oldContent: string, newContent: string, hunks: Hunk[]): AlignedLine[] {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts6174function branchByteOffsetOfFirstCommit(): number {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts6328function isReviewBranchDetailFocused(): boolean {CODE
LOWcrates/fresh-editor/plugins/audit_mode.ts6336function selectedReviewBranchCommit(): GitCommit | null {CODE
LOWcrates/fresh-editor/plugins/devcontainer.ts837async function getOrComputeProbedEnv(): Promise<Record<string, string>> {CODE
LOWcrates/fresh-editor/plugins/devcontainer.ts1566function parseDevcontainerUpOutput(stdout: string): DevcontainerUpResult | null {CODE
LOWcrates/fresh-editor/plugins/devcontainer.ts1580function buildContainerAuthorityPayload(CODE
LOWcrates/fresh-editor/plugins/devcontainer.ts2074function closeStaleBuildLogBuffers(cwd: string): void {CODE
LOWcrates/fresh-editor/plugins/devcontainer.ts2156async function stopContainerIfShutdownActionRequires(): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/flash.ts238function findWordStartMatchesInSplit(view: SplitView): Match[] {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts271function cutCharacterwiseSelection(hasSelectedRange: boolean): boolean {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts281function copyCharacterwiseSelection(hasSelectedRange: boolean): boolean {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts343async function selectThenCutCharacterwise(action: string, count: number): Promise<boolean> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts356async function selectThenCopyCharacterwise(action: string, count: number): Promise<boolean> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts369function getLinewiseReplacementText(deletedText: string): string | null {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts406function ensureLinewiseRegisterText(text: string, lineTerminator: string): string {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts480function isActiveBufferEditingDisabled(bufferId: number): boolean {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts794function computeWORDMotionTargetIndex(text: string, startIndex: number, kind: WORDMotionKind, count: number): number {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts858function paragraphDownMotionTargetIndex(text: string, startIndex: number): { index: number; reachedEof: boolean } {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts872async function computeParagraphDownOperatorRange(count: number): Promise<{ start: number; end: number } | null> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts996async function placeCursorAtFirstNonBlank(bufferId: number, lineStart: number): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts1187function WORDMotionKindFromRepeatMotion(motion: string): WORDMotionKind | null {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts1200async function handleWORDMotionWithOperator(kind: WORDMotionKind): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts1542function findSearchTargetUnderCursor(text: string, cursorIndex: number, scanForwardOnMiss: boolean = false): WordSearchTCODE
LOWcrates/fresh-editor/plugins/vi_mode.ts1669async function executeWordUnderCursorSearch(direction: WordSearchDirection, count: number): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts2503async function selectVisualRangeToTarget(target: number, includeDisplayTarget: boolean = true): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/vi_mode.ts3213async function enterFindCharOperatorMode(findType: FindCharType): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts789async function refreshDiscoveredWorktrees(): Promise<void> {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts2397function syncDockSelectionToActive(): void {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts3245function closeDockContextMenuAndRestoreDock(): void {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts3302function diveDockSelectionFromClick(fromEdge: "top" | "bottom" | null): void {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts4625async function detectDefaultBranchWithFallback(CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts5672function scheduleProjectPathReprobe(): void {CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts5698function scheduleCompletionRefresh(CODE
LOWcrates/fresh-editor/plugins/orchestrator.ts6630function completionVisibleForFocused(): boolean {CODE
LOWcrates/fresh-editor/plugins/clangd_support.ts296function onClangdCustomNotification(payload: {CODE
LOWcrates/fresh-editor/plugins/git_log.ts1062async function deriveFileAndLineFromDiffCursor(CODE
LOWcrates/fresh-editor/plugins/git_log.ts1314function updateBufferFocusedContext(): void {CODE
LOWcrates/fresh-editor/plugins/merge_conflict.ts1169function computeResultConflictOffset(conflictIndex: number): number {CODE
LOWcrates/fresh-editor/plugins/merge_conflict.ts1783function registerMergeModeCommands(): void {CODE
LOWcrates/fresh-editor/plugins/merge_conflict.ts1792function unregisterMergeModeCommands(): void {CODE
LOWcrates/fresh-editor/plugins/search_replace.ts1664function shouldInterceptForHistory(): boolean {CODE
LOWcrates/fresh-editor/plugins/theme_editor.ts260function fieldRefersToStyledColorDef(fieldObj: Record<string, unknown>): boolean {CODE
LOWcrates/fresh-editor/plugins/theme_editor.ts1433function applySelectionHighlighting(cachedEntries?: TextPropertyEntry[]): void {CODE
LOWcrates/fresh-editor/plugins/theme_editor.ts2452function getCurrentSelectableIndex(): number {CODE
LOWcrates/fresh-editor/plugins/git_explorer.ts152async function refreshGitExplorerDecorations() {CODE
LOWcrates/fresh-editor/plugins/env-manager.ts129function devcontainerConfigPresent(): boolean {CODE
LOWcrates/fresh-editor/plugins/env-manager.ts179function devcontainerObservationKey(): string {CODE
LOWcrates/fresh-editor/plugins/env-manager.ts187function writeDevcontainerDeclined(): void {CODE
LOWcrates/fresh-editor/plugins/env-manager.ts278function onDevcontainerAttachResult(data: ActionPopupResultData): void {CODE
LOW…tes/fresh-editor/plugins/lib/virtual-buffer-factory.ts49export function createVirtualBufferFactory(editor: EditorAPI) {CODE
LOWcrates/fresh-editor/plugins/lib/git_history.ts597export function buildDetailPlaceholderEntries(message: string): TextPropertyEntry[] {CODE
Hallucination Indicators5 hits · 50 pts
SeverityFileLineSnippetContext
CRITICALcrates/fresh-editor/src/app/terminal.rs113 .with_user_shell_override(self.resources.config.terminal.shell.as_ref())CODE
CRITICALcrates/fresh-editor/src/app/terminal.rs441 let rulers = self.resources.config.editor.rulers.clone();CODE
CRITICALcrates/fresh-editor/src/app/workspace.rs1161 rulers: self.resources.config.editor.rulers.clone(),CODE
CRITICAL…tes/fresh-editor/src/view/ui/split_rendering/gutter.rs198 ctx.state.margins.left_config.separator.clone(),CODE
CRITICAL…/split_rendering/orchestration/render_line/trailing.rs216 ctx.state.margins.left_config.separator.to_string(),CODE
Excessive Try-Catch Wrapping20 hits · 33 pts
SeverityFileLineSnippetContext
MEDIUMcrates/fresh-editor/scripts/png_to_ansi.py44 print(f"Error: File '{image_path}' not found", file=sys.stderr)CODE
LOWcrates/fresh-editor/scripts/png_to_ansi.py46 except Exception as e:CODE
MEDIUMcrates/fresh-editor/scripts/png_to_ansi.py47 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMcrates/fresh-editor/scripts/generate_ts_types.py206 print(f"Error: {rust_file} not found")STRING
MEDIUMcrates/fresh-editor/scripts/parse_flamegraph.py582 print(f"Error: File not found: {args.svg_file}", file=sys.stderr)CODE
LOWcrates/fresh-editor/scripts/parse_flamegraph.py584 except Exception as e:CODE
MEDIUMcrates/fresh-editor/scripts/parse_flamegraph.py585 print(f"Error reading file: {e}", file=sys.stderr)CODE
LOWcrates/fresh-editor/src/services/remote/agent.py525 except Exception as e:CODE
LOWcrates/fresh-editor/src/services/remote/agent.py681 except Exception as e:CODE
LOWcrates/fresh-editor/src/services/remote/spawner.rs1061except Exception:CODE
LOWscripts/serial_lag_diagnose.py70 except Exception:CODE
LOWscripts/serial_lag_diagnose.py74 except Exception:CODE
MEDIUMscripts/serial_lag_diagnose.py67def kill(pid, fd):CODE
MEDIUMscripts/winget-publish.py113 print(f"Error: Unexpected origin remote: {origin_url}")CODE
MEDIUMscripts/winget-publish.py142 print(f"Error: Package not found in upstream: {MANIFEST_BASE}")CODE
MEDIUMscripts/winget-publish.py149 print("Error: No existing versions found")CODE
LOWscripts/serial_lag_bench.py37 except Exception as e:CODE
LOWscripts/serial_lag_bench.py147 except Exception:CODE
LOWscripts/serial_lag_bench.py151 except Exception:CODE
LOWscripts/serial_lag_bench.py192 except Exception as e:CODE
Modern AI Meta-Vocabulary7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMhunk-diff-viewer-report.md157## 6. The standout feature — agentic inline reviewCOMMENT
MEDIUMcrates/fresh-editor/plugins/devcontainer.ts2727// The scaffold command is the only palette entry that makes senseCOMMENT
MEDIUM…resh-editor/tests/e2e/markdown_compose_scroll_reach.rs784// mouse-wheel cases here therefore serve as **guardrails** — theyCOMMENT
MEDIUMcrates/fresh-editor/tests/e2e/blog_showcases.rs2477 // Commit 1 — initial scaffold (Alice).COMMENT
MEDIUMcrates/fresh-editor/src/app/popup_dialogs.rs919 // No .devcontainer present — offer the scaffoldCOMMENT
MEDIUMcrates/fresh-editor/src/app/popup_dialogs.rs921 // without dropping to a shell. The scaffoldCOMMENT
MEDIUMdocs/internal/virtual-space-scoping.md178### 4.4 Rendering — `view/ui/split_rendering/orchestration/render_line/` (the risky part)COMMENT
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUMcrates/fresh-gui/resources/macos/create-app-bundle.sh2# Create a macOS .app bundle for Fresh editor (GUI mode).COMMENT
MEDIUMcrates/fresh-editor/scripts/parse_flamegraph.py214 # Create a lookup by y levelCOMMENT
MEDIUMscripts/record-asciinema/setup-demo.sh2# Create the demo workspace used by record.py.COMMENT
MEDIUM.github/workflows/release.yml289 # Create the tarballCOMMENT
MEDIUM.github/workflows/release.yml401 # Create a stable source tarball (GitHub's auto-generated archives are not stable)COMMENT
MEDIUM.github/workflows/release.yml545 # Create the tarballCOMMENT
MEDIUM.github/workflows/release-npm.yml231 # Create the tarballCOMMENT
Fake / Example Data19 hits · 19 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/tests/e2e/merge_conflict.rs18 .args(["config", "user.email", "test@test.com"])CODE
LOWcrates/fresh-editor/tests/e2e/merge_conflict.rs153 .args(["config", "user.email", "test@test.com"])CODE
LOWcrates/fresh-editor/tests/e2e/merge_conflict.rs887 .args(["config", "user.email", "test@test.com"])CODE
LOW…resh-editor/tests/e2e/markdown_compose_scroll_reach.rs144 let long = "lorem ipsum dolor sit amet consectetur adipiscing elit \CODE
LOW…resh-editor/tests/e2e/markdown_compose_scroll_reach.rs144 let long = "lorem ipsum dolor sit amet consectetur adipiscing elit \CODE
LOWcrates/fresh-editor/tests/e2e/blog_showcases.rs2496 .args(["config", "user.name", "John Doe"])CODE
LOWcrates/fresh-editor/tests/e2e/blog_showcases.rs2549 .args(["config", "user.name", "John Doe"])CODE
LOW…ates/fresh-editor/tests/e2e/search_center_on_scroll.rs83 let long = "lorem ipsum dolor sit amet ".repeat(12); // ~324 colsCODE
LOW…ates/fresh-editor/tests/e2e/search_center_on_scroll.rs83 let long = "lorem ipsum dolor sit amet ".repeat(12); // ~324 colsCODE
LOWcrates/fresh-editor/tests/e2e/document_model.rs17 Line 3: Lorem ipsum dolor sit amet\n\CODE
LOWcrates/fresh-editor/tests/e2e/document_model.rs17 Line 3: Lorem ipsum dolor sit amet\n\CODE
LOWcrates/fresh-editor/tests/e2e/split_tabs.rs271 .args(["config", "user.email", "test@test.com"])CODE
LOWcrates/fresh-editor/tests/e2e/live_grep.rs305 let long = "lorem ipsum dolor sit amet ".repeat(12); // ~324 charsCODE
LOWcrates/fresh-editor/tests/e2e/live_grep.rs305 let long = "lorem ipsum dolor sit amet ".repeat(12); // ~324 charsCODE
LOW…h-editor/tests/e2e/issue_1554_scrollbar_theme_color.rs14 .map(|i| format!("line {i:04}: lorem ipsum dolor sit amet"))CODE
LOW…h-editor/tests/e2e/issue_1554_scrollbar_theme_color.rs14 .map(|i| format!("line {i:04}: lorem ipsum dolor sit amet"))CODE
LOWcrates/fresh-editor/tests/e2e/plugins/git.rs2669 repo.create_file("test.txt", "placeholder");CODE
LOWcrates/fresh-editor/tests/e2e/plugins/git.rs2722 repo.create_file("test.txt", "placeholder");CODE
LOWcrates/fresh-editor/tests/e2e/plugins/git.rs2786 repo.create_file("test.txt", "placeholder");CODE
Redundant / Tautological Comments8 hits · 12 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/tests/common/fake_lsp.rs1041 # Check if we have a stored result_id for this URICOMMENT
LOW…editor/tests/e2e/lsp_publish_diagnostics_capability.rs81 # Check if client advertises publishDiagnostics capabilityCOMMENT
LOWcrates/fresh-editor/scripts/stress_test.sh38 # Check if another test already failedCOMMENT
LOWcrates/fresh-editor/scripts/stress_test.sh71 # Check if another test already failedCOMMENT
LOWcrates/fresh-editor/scripts/parse_flamegraph.py240 # Check if candidate contains our frame (x range overlaps and candidate is wider or equal)COMMENT
LOWcrates/fresh-editor/scripts/parse_flamegraph.py322 # Check if this stack is a prefix of any other stackCOMMENT
LOWcrates/fresh-editor/scripts/parse_flamegraph.py326 # Check if stack_tuple is a prefix of otherCOMMENT
LOW.github/workflows/release.yml43 # Check if prerelease (contains -, like 0.1.0-beta.1)COMMENT
Deep Nesting11 hits · 11 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/scripts/generate_ts_types.py38CODE
LOWcrates/fresh-editor/scripts/generate_ts_types.py120CODE
LOWcrates/fresh-editor/scripts/parse_flamegraph.py151CODE
LOWcrates/fresh-editor/scripts/parse_flamegraph.py304CODE
LOWcrates/fresh-editor/scripts/parse_flamegraph.py336CODE
LOWcrates/fresh-editor/src/services/remote/agent.py173CODE
LOWcrates/fresh-editor/src/services/remote/agent.py278CODE
LOWcrates/fresh-editor/src/services/remote/agent.py470CODE
LOWcrates/fresh-editor/src/services/remote/agent.py565CODE
LOWcrates/fresh-editor/src/services/remote/agent.py493CODE
LOWscripts/record-asciinema/record.py171CODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHscripts/bump-version.py260 print(f" {step}. Commit changes: {YELLOW}git add Cargo.toml Cargo.lock debian/changelog && git commit -m 'BCODE
HIGHscripts/bump-version.py267 print(f" {step}. Push: {YELLOW}git push && git push origin v{new_version}{NC}")CODE
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-gui/resources/macos/create-app-bundle.sh4# Usage:COMMENT
LOWcrates/fresh-editor/scripts/record-demo.sh5# Usage:COMMENT
LOWscripts/generate-theme-diff.sh10# Usage:COMMENT
LOWscripts/update-showcases.sh6# Usage:COMMENT
LOWscripts/generate-theme-screenshots.sh6# Usage:COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMcrates/fresh-editor/src/server/runner.rs89 /// This is a basic implementation that handles connections and handshakes.COMMENT
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/bump-version.py84def update_cargo_toml(cargo_toml_path: Path, current_version: str, new_version: str) -> None:CODE
LOWscripts/bump-version.py106def update_cargo_lock() -> None:CODE
LOWscripts/bump-version.py114def update_debian_changelog(repo_root: Path) -> None:CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/scripts/parse_flamegraph.py96CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcrates/fresh-editor/src/services/remote/agent.py653def handle_request(line):CODE