mirror of
https://github.com/neovim/neovim.git
synced 2026-01-22 13:12:54 +10:00
Problem: getreg() does not distinguish between a NL used for a line
break and a NL used for a NUL character.
Solution: Add another argument to return a list. (ZyX)
https://code.google.com/p/vim/source/detail?r=v7-4-242
61 lines
2.7 KiB
C
61 lines
2.7 KiB
C
#ifndef NVIM_OPS_H
|
|
#define NVIM_OPS_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "nvim/types.h"
|
|
|
|
typedef int (*Indenter)(void);
|
|
|
|
/* flags for do_put() */
|
|
#define PUT_FIXINDENT 1 /* make indent look nice */
|
|
#define PUT_CURSEND 2 /* leave cursor after end of new text */
|
|
#define PUT_CURSLINE 4 /* leave cursor on last line of new text */
|
|
#define PUT_LINE 8 /* put register as lines */
|
|
#define PUT_LINE_SPLIT 16 /* split line for linewise register */
|
|
#define PUT_LINE_FORWARD 32 /* put linewise register below Visual sel. */
|
|
|
|
/*
|
|
* Operator IDs; The order must correspond to opchars[] in ops.c!
|
|
*/
|
|
#define OP_NOP 0 /* no pending operation */
|
|
#define OP_DELETE 1 /* "d" delete operator */
|
|
#define OP_YANK 2 /* "y" yank operator */
|
|
#define OP_CHANGE 3 /* "c" change operator */
|
|
#define OP_LSHIFT 4 /* "<" left shift operator */
|
|
#define OP_RSHIFT 5 /* ">" right shift operator */
|
|
#define OP_FILTER 6 /* "!" filter operator */
|
|
#define OP_TILDE 7 /* "g~" switch case operator */
|
|
#define OP_INDENT 8 /* "=" indent operator */
|
|
#define OP_FORMAT 9 /* "gq" format operator */
|
|
#define OP_COLON 10 /* ":" colon operator */
|
|
#define OP_UPPER 11 /* "gU" make upper case operator */
|
|
#define OP_LOWER 12 /* "gu" make lower case operator */
|
|
#define OP_JOIN 13 /* "J" join operator, only for Visual mode */
|
|
#define OP_JOIN_NS 14 /* "gJ" join operator, only for Visual mode */
|
|
#define OP_ROT13 15 /* "g?" rot-13 encoding */
|
|
#define OP_REPLACE 16 /* "r" replace chars, only for Visual mode */
|
|
#define OP_INSERT 17 /* "I" Insert column, only for Visual mode */
|
|
#define OP_APPEND 18 /* "A" Append column, only for Visual mode */
|
|
#define OP_FOLD 19 /* "zf" define a fold */
|
|
#define OP_FOLDOPEN 20 /* "zo" open folds */
|
|
#define OP_FOLDOPENREC 21 /* "zO" open folds recursively */
|
|
#define OP_FOLDCLOSE 22 /* "zc" close folds */
|
|
#define OP_FOLDCLOSEREC 23 /* "zC" close folds recursively */
|
|
#define OP_FOLDDEL 24 /* "zd" delete folds */
|
|
#define OP_FOLDDELREC 25 /* "zD" delete folds recursively */
|
|
#define OP_FORMAT2 26 /* "gw" format operator, keeps cursor pos */
|
|
#define OP_FUNCTION 27 /* "g@" call 'operatorfunc' */
|
|
|
|
/// Flags for get_reg_contents().
|
|
enum GRegFlags {
|
|
kGRegNoExpr = 1, ///< Do not allow expression register.
|
|
kGRegExprSrc = 2, ///< Return expression itself for "=" register.
|
|
kGRegList = 4 ///< Return list.
|
|
};
|
|
|
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
|
# include "ops.h.generated.h"
|
|
#endif
|
|
#endif // NVIM_OPS_H
|