home *** CD-ROM | disk | FTP | other *** search
- /* vi:set ts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
- * Do ":help uganda" in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- */
-
- /*
- * ops.h: Things mostly shared between normal.c, cmdline.c and ops.c
- */
-
- /*
- * Operators
- */
- #define NOP 0 /* no pending operation */
- #define DELETE 1
- #define YANK 2
- #define CHANGE 3
- #define LSHIFT 4 /* left shift */
- #define RSHIFT 5 /* right shift */
- #define FILTER 6
- #define TILDE 7 /* switch case */
- #define INDENT 8
- #define FORMAT 9
- #define COLON 10
- #define UPPER 11 /* make upper case */
- #define LOWER 12 /* make lower case */
- #define JOIN 13 /* only for visual mode */
- #define GFORMAT 14 /* "gq" */
-
- /*
- * operator characters; the order must correspond to the defines above!
- */
- EXTERN char_u *opchars INIT(= (char_u *)"dyc<>!~=Q:UuJq");
-
- /*
- * When a cursor motion command is made, it is marked as being a character or
- * line oriented motion. Then, if an operator is in effect, the operation
- * becomes character or line oriented accordingly.
- *
- * Character motions are marked as being inclusive or not. Most char. motions
- * are inclusive, but some (e.g. 'w') are not.
- *
- * Generally speaking, every command in normal() should either clear any pending
- * operator (with CLEAROP), or set the motion type variable.
- */
-
- /*
- * Motion types
- */
- #define MCHAR 0
- #define MLINE 1
- #define MBLOCK 2
-
- EXTERN int op_type INIT(= NOP); /* current pending operator type */
- EXTERN int op_motion_type; /* type of the current cursor motion */
- EXTERN int op_inclusive; /* TRUE if char motion is inclusive */
- EXTERN int op_block_mode INIT(= FALSE);
- /* current operator is Visual block mode */
- EXTERN colnr_t op_start_vcol; /* start col for block mode operator */
- EXTERN colnr_t op_end_vcol; /* end col for block mode operator */
- EXTERN int op_end_adjusted; /* backuped op_end one char */
- EXTERN long op_line_count; /* number of lines from op_start to
- op_end (inclusive) */
- EXTERN int op_empty; /* op_start and op_end the same */
- EXTERN int op_is_VIsual; /* opeartor on visual area */
-
- EXTERN int yankbuffer INIT(= 0); /* current yank buffer */
-