Skip to content

Commit 53d3ce2

Browse files
Merge branch 'master' into v1.110.0-release
2 parents 24f3df7 + 8625b77 commit 53d3ce2

3 files changed

Lines changed: 23 additions & 3 deletions

File tree

packages/wrap-guide/lib/wrap-guide-element.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,10 @@ module.exports = class WrapGuideElement {
9090
const columns = uniqueAscending(args.newValue);
9191
if (columns != null ? columns.length : undefined) {
9292
atom.config.set('wrap-guide.columns', columns);
93-
atom.config.set('editor.preferredLineLength', columns[columns.length - 1],
94-
{scopeSelector: `.${this.editor.getGrammar().scopeName}`});
93+
if (atom.config.get('wrap-guide.modifyPreferredLineLength')) {
94+
atom.config.set('editor.preferredLineLength', columns[columns.length - 1],
95+
{scopeSelector: `.${this.editor.getGrammar().scopeName}`});
96+
}
9597
return this.updateGuide();
9698
}
9799
};

packages/wrap-guide/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
},
1818
"description": "Display guides at each of the listed character widths. Leave blank for one guide at your `editor.preferredLineLength`."
1919
},
20+
"modifyPreferredLineLength": {
21+
"default": true,
22+
"type": "boolean",
23+
"description": "Modify the Editor's Preferred Line Length when changing Wrap Guide's Columns setting."
24+
},
2025
"enabled": {
2126
"default": true,
2227
"type": "boolean"

packages/wrap-guide/spec/wrap-guide-element-spec.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ describe("WrapGuideElement", function() {
105105
for (let i = 0; i < columnCount; i++) {
106106
columns.push(i * 10);
107107
}
108-
108+
109109
atom.config.set("wrap-guide.columns", columns);
110110
waitsForPromise(() => editorElement.getComponent().getNextUpdatePromise());
111111

@@ -245,6 +245,19 @@ describe("WrapGuideElement", function() {
245245
expect(wrapGuide).toBeVisible();
246246
});
247247
});
248+
249+
it("leaves alone preferredLineLength if modifyPreferredLineLength is false", () => {
250+
const initial = atom.config.get("editor.preferredLineLength", { scope: editor.getRootScopeDescriptor() });
251+
atom.config.set("wrap-guide.modifyPreferredLineLength", false);
252+
253+
atom.config.set("wrap-guide.columns", [ initial, initial + 10]);
254+
waitsForPromise(() => editorElement.getComponent().getNextUpdatePromise());
255+
256+
runs(() => {
257+
const length = atom.config.get("editor.preferredLineLength", { scope: editor.getRootScopeDescriptor() });
258+
expect(length).toBe(initial);
259+
});
260+
});
248261
});
249262

250263
describe("when the editor's scroll left changes", () => it("updates the wrap guide position to a relative position on screen", function() {

0 commit comments

Comments
 (0)