windows-nt/Source/XPSP1/NT/sdktools/vi/ops.h
2020-09-26 16:20:57 +08:00

53 lines
1.3 KiB
C

/* $Header: /nw/tony/src/stevie/src/RCS/ops.h,v 1.2 89/07/19 08:08:21 tony Exp $
*
* Macros and declarations for the operator code in ops.c
*/
/*
* Operators
*/
#define NOP 0 /* no pending operation */
#define DELETE 1
#define YANK 2
#define CHANGE 3
#define LSHIFT 4
#define RSHIFT 5
#define FILTER 6
#define TILDE 7
#define LOWERCASE 8
#define UPPERCASE 9
extern int operator; /* current pending operator */
/*
* 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.
*/
/*
* Cursor motion types
*/
#define MBAD (-1) /* 'bad' motion type marks unusable yank buf */
#define MCHAR 0
#define MLINE 1
extern int mtype; /* type of the current cursor motion */
extern bool_t mincl; /* true if char motion is inclusive */
extern LNPTR startop; /* cursor pos. at start of operator */
/*
* Functions defined in ops.c
*/
void doshift(), dodelete(), doput(), dochange(), dofilter();
void docasechange(char,char,int,bool_t);
#ifdef TILDEOP
void dotilde();
#endif
bool_t dojoin(), doyank();
void startinsert();