feat(editor): togglable visual line break marker#2133
Conversation
Greptile SummaryThis PR adds a toggleable "show line break marker" feature that renders a "¬" glyph at the end of each non-final document line in CodeMirror when both the new setting and text wrapping are active. Supporting changes include devcontainer/Gradle toolchain configs and translation string additions across all locale files.
Confidence Score: 4/5Safe to merge after addressing the RangeSetBuilder refactor in the new plugin file; all other changes are additive and low-risk. The core editor integration in editorManager.js is solid — compartment keying and listener wiring are correct. The only concern is in lineBreakMarker.ts: iterating visible ranges with a plain array can add duplicate widget decorations at the same position when a long document line spans two consecutive visible ranges, producing stray "¬" glyphs. Switching to RangeSetBuilder (the standard CodeMirror idiom, as used in the adjacent indentGuides plugin) removes that risk entirely. src/cm/lineBreakMarker.ts — the getDecorations method should use RangeSetBuilder instead of a plain array to avoid duplicate markers on long lines. Important Files Changed
Reviews (2): Last reviewed commit: "Merge branch 'main' into feature/line-br..." | Re-trigger Greptile |
| ## This file must *NOT* be checked into Version Control Systems, | ||
| # as it contains information specific to your local configuration. | ||
| # | ||
| # Location of the SDK. This is only used by Gradle. | ||
| # For customization when using a Version Control System, please read the | ||
| # header note. | ||
| #Mon May 25 14:58:09 IST 2026 | ||
| sdk.dir=C\:\\Users\\jainy\\AppData\\Local\\Android\\Sdk |
There was a problem hiding this comment.
Developer-specific file committed to version control
This file contains a machine-specific Windows SDK path (sdk.dir=C:\Users\jainy\...) and the file header itself says it "must NOT be checked into Version Control Systems." Even though /local.properties was correctly added to .gitignore in this PR, the file is still being committed. Any developer who checks out this branch will have their own local.properties overwritten with a path that doesn't exist on their machine, breaking their Android build setup.
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
…07/Acode into feature/line-break-marker
This pull request introduces a new feature that allows users to display visual markers for line breaks in the editor when text wrapping is enabled. It also includes updates to the development container configuration and Gradle build toolchain settings. The most significant changes are grouped below:
Editor Feature: Line Break Marker
lineBreakMarker) insrc/cm/lineBreakMarker.tsthat visually marks line breaks with a "¬" character.src/lib/editorManager.js), including compartment management, settings application, and event handling for toggling the marker. [1] [2] [3] [4]showLineBreakMarkerto the default editor settings and the editor settings UI, allowing users to enable or disable the feature. [1] [2]Development Environment and Build Tooling
.devcontainer/devcontainer-lock.jsonto lock Node.js and Android SDK versions for the development container.gradle/gradle-daemon-jvm.propertiesand updatedsettings.gradleto configure Gradle toolchains using the Foojay resolver convention plugin. [1] [2]local.propertiesfor local Android SDK configuration (note: this file should not be version controlled).