feat(editor): togglable visual line break marker via show spaces option#2133
feat(editor): togglable visual line break marker via show spaces option#2133Elitex07 wants to merge 27 commits into
Conversation
Greptile SummaryThis PR adds a visual "¬" line-break marker to the CodeMirror editor that activates alongside the existing Show Spaces toggle, plus a batch of locale-string updates and some dev-tooling additions (devcontainer lock, Gradle JVM properties, Cordova type declarations).
Confidence Score: 4/5Safe to merge after re-adding tsconfig.tsbuildinfo to .gitignore; all editor logic changes are correct. The only substantive defect is in .gitignore: tsconfig.tsbuildinfo was dropped during reformatting, so TypeScript's incremental build artifact will be untracked and at risk of being committed in future PRs. The editor feature itself — the lineBreakMarkerPlugin, compartment wiring, and locale updates — is logically sound and correctly coupled to the existing showSpaces toggle. .gitignore needs the tsconfig.tsbuildinfo entry restored before merging. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["User toggles Show Spaces setting"] --> B["appSettings.on('update:showSpaces')"]
B --> C["applyOptions(['showSpaces'])"]
C --> D["whitespaceCompartment.reconfigure(...)"]
C --> E["lineBreakMarkerCompartment.reconfigure(...)"]
D --> F{showSpaces enabled?}
E --> G{showSpaces enabled?}
F -- Yes --> H["highlightWhitespace() + trailing whitespace"]
F -- No --> I["[] (disabled)"]
G -- Yes --> J["lineBreakMarkerPlugin + lineBreakMarkerTheme"]
G -- No --> K["[] (disabled)"]
J --> L["ViewPlugin renders ¬ at line.to for each non-final visible line"]
Reviews (5): Last reviewed commit: "chore(i18n): translate updated string vi..." | 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 comment has been minimized.
This comment has been minimized.
|
@Elitex07 why we need two settings just for similar thing Like there is already: show spaces settings so just make that better and reuse that instead of having two. One for space and other for line break |
f8b6c08 to
2121f2a
Compare
|
merged those two options |
Okay Btw why including lock files , properties files etc ? And also this pr also touched some irrelevant files which is not related to this pr |
I18n keys needs to be removed too with lang npm script. Gradle jvm properties file is fine, @types/cordova inclusion is good too except package-lock updation for other packages - which probably breaks biome. |
This comment has been minimized.
This comment has been minimized.
This comment was marked as outdated.
This comment was marked as outdated.
|
@bajrangCoder Review again, and what you think about “was broadened to mention line break markers, but the description does not convey the textWrap dependency — users who enable showSpaces without textWrap will not see line break markers despite what the description implies.” Also, More i18n translation has to be done for the show spaces description in other languages. |
It's fine as show spaces and line breaks things are just related similar thing just a bit different behaviour in different scenarios. |
I think the textWrap requirement for it needs to be removed. |
Hm |
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).