From 502116745069a85979030ebe73bf21e8d98f7d0c Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Wed, 1 Mar 2017 09:28:58 +0100 Subject: [PATCH] Toggle Word Wrap can unwrap also minified files (#21552) --- src/vs/editor/common/config/commonEditorConfig.ts | 3 ++- src/vs/editor/common/config/defaultConfig.ts | 1 + src/vs/editor/common/editorCommon.ts | 5 +++++ src/vs/monaco.d.ts | 5 +++++ .../parts/codeEditor/electron-browser/toggleWordWrap.ts | 6 +++++- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/common/config/commonEditorConfig.ts b/src/vs/editor/common/config/commonEditorConfig.ts index 1df176bd6d4..2bf7ce36cc9 100644 --- a/src/vs/editor/common/config/commonEditorConfig.ts +++ b/src/vs/editor/common/config/commonEditorConfig.ts @@ -194,6 +194,7 @@ class InternalEditorOptionsHelper { { let wordWrap = opts.wordWrap; let wordWrapColumn = toInteger(opts.wordWrapColumn, 1); + let wordWrapMinified = toBoolean(opts.wordWrapMinified); // Compatibility with old true or false values if (wordWrap === true) { @@ -202,7 +203,7 @@ class InternalEditorOptionsHelper { wordWrap = 'off'; } - if (isDominatedByLongLines) { + if (wordWrapMinified && isDominatedByLongLines) { // Force viewport width wrapping if model is dominated by long lines bareWrappingInfo = { isViewportWrapping: true, diff --git a/src/vs/editor/common/config/defaultConfig.ts b/src/vs/editor/common/config/defaultConfig.ts index ed388fa0ceb..d557ffe677f 100644 --- a/src/vs/editor/common/config/defaultConfig.ts +++ b/src/vs/editor/common/config/defaultConfig.ts @@ -74,6 +74,7 @@ class ConfigClass implements IConfiguration { automaticLayout: false, wordWrap: 'off', wordWrapColumn: 80, + wordWrapMinified: true, wrappingIndent: 'same', wordWrapBreakBeforeCharacters: '([{‘“〈《「『【〔([{「£¥$£¥++', wordWrapBreakAfterCharacters: ' \t})]?|&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー’”〉》」』】〕)]}」', diff --git a/src/vs/editor/common/editorCommon.ts b/src/vs/editor/common/editorCommon.ts index 3c69cb9cc4f..6fe2521b732 100644 --- a/src/vs/editor/common/editorCommon.ts +++ b/src/vs/editor/common/editorCommon.ts @@ -357,6 +357,11 @@ export interface IEditorOptions { * Defaults to 80. */ wordWrapColumn?: number; + /** + * Force word wrapping when the text appears to be of a minified/generated file. + * Defaults to true. + */ + wordWrapMinified?: boolean; /** * Control indentation of wrapped lines. Can be: 'none', 'same' or 'indent'. * Defaults to 'same' in vscode and to 'none' in monaco-editor. diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index f83d45fdc35..997f315bc8b 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -1279,6 +1279,11 @@ declare module monaco.editor { * Defaults to 80. */ wordWrapColumn?: number; + /** + * Force word wrapping when the text appears to be of a minified/generated file. + * Defaults to true. + */ + wordWrapMinified?: boolean; /** * Control indentation of wrapped lines. Can be: 'none', 'same' or 'indent'. * Defaults to 'same' in vscode and to 'none' in monaco-editor. diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts b/src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts index a0c464d312b..e39ea817f23 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts @@ -28,14 +28,18 @@ class ToggleWordWrapAction extends EditorAction { public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void { let wrappingInfo = editor.getConfiguration().wrappingInfo; let newWordWrap: 'on' | 'off'; + let newWordWrapMinified: boolean; if (!wrappingInfo.isViewportWrapping) { newWordWrap = 'on'; + newWordWrapMinified = true; } else { newWordWrap = 'off'; + newWordWrapMinified = false; } editor.updateOptions({ - wordWrap: newWordWrap + wordWrap: newWordWrap, + wordWrapMinified: newWordWrapMinified }); } } -- GitLab