From c6a33a3e175ccdcb442c46ed049550e242a128eb Mon Sep 17 00:00:00 2001 From: ggbhat Date: Sun, 2 Feb 2020 12:46:54 +0530 Subject: [PATCH] Enable lineWiseCopyCut option in settings for notebook and codemirror --- packages/codemirror-extension/schema/commands.json | 6 ++++++ packages/codemirror-extension/src/index.ts | 13 +++++++++---- packages/notebook-extension/schema/tracker.json | 12 +++++++++--- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/packages/codemirror-extension/schema/commands.json b/packages/codemirror-extension/schema/commands.json index bb20db156a8e..39bd5f68ea44 100644 --- a/packages/codemirror-extension/schema/commands.json +++ b/packages/codemirror-extension/schema/commands.json @@ -39,6 +39,12 @@ "title": "Selection Pointer", "description": "Value is boolean or string, e.g. 'pointer'", "default": false + }, + "lineWiseCopyCut": { + "type": ["boolean"], + "title": "Ctrl-C", + "description": "When enabled, which is the default, doing copy or cut when there is no selection will copy or cut the whole lines that have cursors on them.", + "default": true } }, "type": "object" diff --git a/packages/codemirror-extension/src/index.ts b/packages/codemirror-extension/src/index.ts index c2c1f9feaab0..6c0a15ff9fd3 100644 --- a/packages/codemirror-extension/src/index.ts +++ b/packages/codemirror-extension/src/index.ts @@ -148,7 +148,8 @@ function activateEditorCommands( scrollPastEnd, styleActiveLine, styleSelectedText, - selectionPointer + selectionPointer, + lineWiseCopyCut } = CodeMirrorEditor.defaultConfig; /** @@ -172,13 +173,15 @@ function activateEditorCommands( styleActiveLine = (settings.get('styleActiveLine').composite as | boolean - | CodeMirror.StyleActiveLine) || styleActiveLine; + | CodeMirror.StyleActiveLine) ?? styleActiveLine; styleSelectedText = - (settings.get('styleSelectedText').composite as boolean) || + (settings.get('styleSelectedText').composite as boolean) ?? styleSelectedText; selectionPointer = - (settings.get('selectionPointer').composite as boolean | string) || + (settings.get('selectionPointer').composite as boolean | string) ?? selectionPointer; + lineWiseCopyCut = + (settings.get('lineWiseCopyCut').composite as boolean) ?? lineWiseCopyCut; } /** @@ -194,6 +197,7 @@ function activateEditorCommands( cm.setOption('styleActiveLine', styleActiveLine); cm.setOption('styleSelectedText', styleSelectedText); cm.setOption('selectionPointer', selectionPointer); + cm.setOption('lineWiseCopyCut', lineWiseCopyCut); } }); } @@ -225,6 +229,7 @@ function activateEditorCommands( cm.setOption('styleActiveLine', styleActiveLine); cm.setOption('styleSelectedText', styleSelectedText); cm.setOption('selectionPointer', selectionPointer); + cm.setOption('lineWiseCopyCut', lineWiseCopyCut); } }); diff --git a/packages/notebook-extension/schema/tracker.json b/packages/notebook-extension/schema/tracker.json index a52b78848175..99329ec0e8ba 100644 --- a/packages/notebook-extension/schema/tracker.json +++ b/packages/notebook-extension/schema/tracker.json @@ -267,6 +267,9 @@ }, "codeFolding": { "type": "boolean" + }, + "lineWiseCopyCut": { + "type": "boolean" } }, "additionalProperties": false, @@ -291,7 +294,8 @@ "tabSize": 4, "wordWrapColumn": 80, "rulers": [], - "codeFolding": false + "codeFolding": false, + "lineWiseCopyCut": true } }, "defaultCell": { @@ -324,7 +328,8 @@ "tabSize": 4, "wordWrapColumn": 80, "rulers": [], - "codeFolding": false + "codeFolding": false, + "lineWiseCopyCut": true } }, "rawCellConfig": { @@ -344,7 +349,8 @@ "tabSize": 4, "wordWrapColumn": 80, "rulers": [], - "codeFolding": false + "codeFolding": false, + "lineWiseCopyCut": true } }, "scrollPastEnd": {