From 3f4ea41fe3eb999e01b28d36d6273651f77f08ea Mon Sep 17 00:00:00 2001 From: geksilla Date: Tue, 17 May 2016 13:13:38 +0300 Subject: [PATCH] Added basic fold commands zc, zo, zC, zO. Executes in normal mode: `zc` - editor.fold `zo` - editor.unfold `zC` - editor.foldAll `zO` - editor.unfoldAll --- src/mode/commands.ts | 12 ++++++++++++ src/mode/modeNormal.ts | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/src/mode/commands.ts b/src/mode/commands.ts index f626972ffec..335f793af21 100644 --- a/src/mode/commands.ts +++ b/src/mode/commands.ts @@ -45,6 +45,12 @@ export enum Command { // Find Find, + // Folding + Fold, + Unfold, + FoldAll, + UnfoldAll, + // Text Modification Undo, Redo, @@ -131,6 +137,12 @@ export function newDefaultNormalKeymap() : {[key: string]: Command} { "X": Command.DeleteLastChar, "/": Command.Find, + + "zc": Command.Fold, + "zo": Command.Unfold, + "zC": Command.FoldAll, + "zO": Command.UnfoldAll, + ":": Command.EnterCommand, "v": Command.EnterVisualMode, "esc": Command.ExitMessages diff --git a/src/mode/modeNormal.ts b/src/mode/modeNormal.ts index 7ce1011f09d..d211cba7aaa 100644 --- a/src/mode/modeNormal.ts +++ b/src/mode/modeNormal.ts @@ -20,6 +20,14 @@ export class NormalMode extends Mode { return async () => { return showCmdLine("", this._modeHandler); }; case Command.Find: return async () => { return vscode.commands.executeCommand("actions.find"); }; + case Command.Fold: + return async () => { return vscode.commands.executeCommand("editor.fold"); }; + case Command.Unfold: + return async () => { return vscode.commands.executeCommand("editor.unfold"); }; + case Command.FoldAll: + return async () => { return vscode.commands.executeCommand("editor.foldAll"); }; + case Command.UnfoldAll: + return async () => { return vscode.commands.executeCommand("editor.unfoldAll"); }; case Command.Undo: return async () => { return vscode.commands.executeCommand("undo"); }; case Command.Redo :