aboutsummaryrefslogtreecommitdiff
path: root/vis-core.h
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-02-12 20:05:05 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-02-12 20:05:05 +0100
commite0b157f56694a5b5e535083c8fc0bc0e1194c9dc (patch)
tree2beb33ea2397ae4ad091a12642a4f772e67c23ac /vis-core.h
parent49fffba7d02d116bbfffb5244aa17df6c2cdcbd2 (diff)
downloadvis-e0b157f56694a5b5e535083c8fc0bc0e1194c9dc.tar.gz
vis-e0b157f56694a5b5e535083c8fc0bc0e1194c9dc.tar.xz
vis: respect window local mappings for child modes
Since commit 197ab824206335eab7ceed774ddeccac18fafc09 visual line and replace modes are child modes, hence we also have to consider the window local key bindings of their respective parent modes. For example in replace mode the key lookup chain is now as follows: window local replace mode -> global replace mode -> window local insert mode -> global insert mode This fixes <Enter> behaviour in prompt for replace and visual line modes.
Diffstat (limited to 'vis-core.h')
-rw-r--r--vis-core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/vis-core.h b/vis-core.h
index 5939115..dab22a0 100644
--- a/vis-core.h
+++ b/vis-core.h
@@ -21,6 +21,7 @@
*/
typedef struct Mode Mode;
struct Mode {
+ enum VisMode id;
Mode *parent; /* if no match is found in this mode, search will continue there */
Map *bindings;
const char *name; /* descriptive, user facing name of the mode */