normal: use oap->motion_type also to represent block motion type

Previously oap->motion_type == MCHAR would be blockwise if
oap->block_mode was set.
This commit is contained in:
Björn Linse
2015-11-19 22:22:16 +01:00
parent 04cd3eef24
commit 303ac3f283
3 changed files with 108 additions and 110 deletions

View File

@@ -14,28 +14,27 @@
* Arguments for operators.
*/
typedef struct oparg_S {
int op_type; /* current pending operator type */
int regname; /* register to use for the operator */
int motion_type; /* type of the current cursor motion */
int motion_force; /* force motion type: 'v', 'V' or CTRL-V */
bool use_reg_one; /* true if delete uses reg 1 even when not
linewise */
bool inclusive; /* true if char motion is inclusive (only
valid when motion_type is MCHAR */
bool end_adjusted; /* backuped b_op_end one char (only used by
do_format()) */
pos_T start; /* start of the operator */
pos_T end; /* end of the operator */
pos_T cursor_start; /* cursor position before motion for "gw" */
int op_type; // current pending operator type
int regname; // register to use for the operator
int motion_type; // type of the current cursor motion
int motion_force; // force motion type: 'v', 'V' or CTRL-V
bool use_reg_one; // true if delete uses reg 1 even when not
// linewise
bool inclusive; // true if char motion is inclusive (only
// valid when motion_type is MCHAR)
bool end_adjusted; // backuped b_op_end one char (only used by
// do_format())
pos_T start; // start of the operator
pos_T end; // end of the operator
pos_T cursor_start; // cursor position before motion for "gw"
long line_count; /* number of lines from op_start to op_end
(inclusive) */
bool empty; /* op_start and op_end the same (only used by
op_change()) */
bool is_VIsual; /* operator on Visual area */
bool block_mode; /* current operator is Visual block mode */
colnr_T start_vcol; /* start col for block mode operator */
colnr_T end_vcol; /* end col for block mode operator */
long line_count; // number of lines from op_start to op_end
// (inclusive)
bool empty; // op_start and op_end the same (only used by
// op_change())
bool is_VIsual; // operator on Visual area
colnr_T start_vcol; // start col for block mode operator
colnr_T end_vcol; // end col for block mode operator
long prev_opcount; // ca.opcount saved for K_EVENT
long prev_count0; // ca.count0 saved for K_EVENT
} oparg_T;