diff options
author | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-05-12 02:25:17 +0200 |
---|---|---|
committer | Eliseo Martínez <eliseomarmol@gmail.com> | 2014-05-15 20:46:01 +0200 |
commit | da51dc9cf202772f60bd2da975dbef257bd9237c (patch) | |
tree | 5c16b93238a153f55634e9323077f30c8133970c /src/nvim/normal.h | |
parent | ffe61e5ba1721340ca51d56bae3ddaca415fb5bc (diff) | |
download | rneovim-da51dc9cf202772f60bd2da975dbef257bd9237c.tar.gz rneovim-da51dc9cf202772f60bd2da975dbef257bd9237c.tar.bz2 rneovim-da51dc9cf202772f60bd2da975dbef257bd9237c.zip |
Introduce nvim namespace: Move files.
Move files from src/ to src/nvim/.
- src/nvim/ becomes the new root dir for nvim executable sources.
- src/libnvim/ is planned to become root dir of the neovim library.
Diffstat (limited to 'src/nvim/normal.h')
-rw-r--r-- | src/nvim/normal.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/nvim/normal.h b/src/nvim/normal.h new file mode 100644 index 0000000000..c5ca1b9bde --- /dev/null +++ b/src/nvim/normal.h @@ -0,0 +1,86 @@ +#ifndef NEOVIM_NORMAL_H +#define NEOVIM_NORMAL_H + +#include "pos.h" + +/* + * 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 */ + int use_reg_one; /* TRUE if delete uses reg 1 even when not + linewise */ + int inclusive; /* TRUE if char motion is inclusive (only + valid when motion_type is MCHAR */ + int 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) */ + int empty; /* op_start and op_end the same (only used by + do_change()) */ + int is_VIsual; /* operator on Visual area */ + int 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 prev_opcount; /* ca.opcount saved for K_CURSORHOLD */ + long prev_count0; /* ca.count0 saved for K_CURSORHOLD */ +} oparg_T; + +/* + * Arguments for Normal mode commands. + */ +typedef struct cmdarg_S { + oparg_T *oap; /* Operator arguments */ + int prechar; /* prefix character (optional, always 'g') */ + int cmdchar; /* command character */ + int nchar; /* next command character (optional) */ + int ncharC1; /* first composing character (optional) */ + int ncharC2; /* second composing character (optional) */ + int extra_char; /* yet another character (optional) */ + long opcount; /* count before an operator */ + long count0; /* count before command, default 0 */ + long count1; /* count before command, default 1 */ + int arg; /* extra argument from nv_cmds[] */ + int retval; /* return: CA_* values */ + char_u *searchbuf; /* return: pointer to search pattern or NULL */ +} cmdarg_T; + +/* values for retval: */ +#define CA_COMMAND_BUSY 1 /* skip restarting edit() once */ +#define CA_NO_ADJ_OP_END 2 /* don't adjust operator end */ + +void init_normal_cmds(void); +void normal_cmd(oparg_T *oap, int toplevel); +void do_pending_operator(cmdarg_T *cap, int old_col, int gui_yank); +int do_mouse(oparg_T *oap, int c, int dir, long count, int fixindent); +void check_visual_highlight(void); +void end_visual_mode(void); +void reset_VIsual_and_resel(void); +void reset_VIsual(void); +int find_ident_under_cursor(char_u **string, int find_type); +int find_ident_at_pos(win_T *wp, linenr_T lnum, colnr_T startcol, + char_u **string, + int find_type); +void clear_showcmd(void); +int add_to_showcmd(int c); +void add_to_showcmd_c(int c); +void push_showcmd(void); +void pop_showcmd(void); +void do_check_scrollbind(int check); +void check_scrollbind(linenr_T topline_diff, long leftcol_diff); +int find_decl(char_u *ptr, int len, int locally, int thisblock, + int searchflags); +void scroll_redraw(int up, long count); +void do_nv_ident(int c1, int c2); +int get_visual_text(cmdarg_T *cap, char_u **pp, int *lenp); +void start_selection(void); +void may_start_select(int c); + +#endif /* NEOVIM_NORMAL_H */ |