diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-03-13 02:40:51 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-18 20:19:19 -0300 |
commit | 59f2430a8d543fc57a31d489a649ec87a6ca9715 (patch) | |
tree | 69d4e89c8f37efc3b5e20ab05e70a9eb4e4c1c05 /src/undo_defs.h | |
parent | 1fcd332e8e3d2c6c22fa548cc96b1d9dde2f5651 (diff) | |
download | rneovim-59f2430a8d543fc57a31d489a649ec87a6ca9715.tar.gz rneovim-59f2430a8d543fc57a31d489a649ec87a6ca9715.tar.bz2 rneovim-59f2430a8d543fc57a31d489a649ec87a6ca9715.zip |
Delete structs.h by spliting it and moving code to other headers
Here's the list of squashed commits (for more info, see PR #378).
- Define guicolor_T as a typedef in syntax.h
- Move a big chunk of code from structs.h to buffer_defs.h
- Move aco_save_T from structs.h to fileio.h
- Move option_table_T from structs.h to hardcopy.h
Aditionally:
- Move the printer_opts global to hardcopy.c
- Delete structs.h. Include buffer_defs.h where structs.h was included
before.
- Add header guards to option_defs.h
- Put mark types and constants in new mark_defs.h
- Move undo structs to undo_defs.h
- Move memfile structs to new memfile_defs.h
- Move expand_T and cmdmod_T to ex_cmds_defs.h
- Move memline_T to memline_defs.h
- Move many defs and types to ex_eval.h
- Move syntax related types to syntax_defs.h
- Move struct memfile to memfile_defs.h
- struct buffblock and struct buffheader moved back to buffer_defs.h
- Move some datatypes to hashtab.h and eval_defs.h
- Move the buffer_defs.h include and TODOs for remaining unrelated types in buffer_defs.h
Diffstat (limited to 'src/undo_defs.h')
-rw-r--r-- | src/undo_defs.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/undo_defs.h b/src/undo_defs.h new file mode 100644 index 0000000000..f1e6c83c32 --- /dev/null +++ b/src/undo_defs.h @@ -0,0 +1,68 @@ +#ifndef NEOVIM_UNDO_DEFS_H +#define NEOVIM_UNDO_DEFS_H + +#include "pos.h" + +/* Structure to store info about the Visual area. */ +typedef struct { + pos_T vi_start; /* start pos of last VIsual */ + pos_T vi_end; /* end position of last VIsual */ + int vi_mode; /* VIsual_mode of last VIsual */ + colnr_T vi_curswant; /* MAXCOL from w_curswant */ +} visualinfo_T; + +typedef struct u_entry u_entry_T; +typedef struct u_header u_header_T; +struct u_entry { + u_entry_T *ue_next; /* pointer to next entry in list */ + linenr_T ue_top; /* number of line above undo block */ + linenr_T ue_bot; /* number of line below undo block */ + linenr_T ue_lcount; /* linecount when u_save called */ + char_u **ue_array; /* array of lines in undo block */ + long ue_size; /* number of lines in ue_array */ +#ifdef U_DEBUG + int ue_magic; /* magic number to check allocation */ +#endif +}; + +struct u_header { + /* The following have a pointer and a number. The number is used when + * reading the undo file in u_read_undo() */ + union { + u_header_T *ptr; /* pointer to next undo header in list */ + long seq; + } uh_next; + union { + u_header_T *ptr; /* pointer to previous header in list */ + long seq; + } uh_prev; + union { + u_header_T *ptr; /* pointer to next header for alt. redo */ + long seq; + } uh_alt_next; + union { + u_header_T *ptr; /* pointer to previous header for alt. redo */ + long seq; + } uh_alt_prev; + long uh_seq; /* sequence number, higher == newer undo */ + int uh_walk; /* used by undo_time() */ + u_entry_T *uh_entry; /* pointer to first entry */ + u_entry_T *uh_getbot_entry; /* pointer to where ue_bot must be set */ + pos_T uh_cursor; /* cursor position before saving */ + long uh_cursor_vcol; + int uh_flags; /* see below */ + pos_T uh_namedm[NMARKS]; /* marks before undo/after redo */ + visualinfo_T uh_visual; /* Visual areas before undo/after redo */ + time_t uh_time; /* timestamp when the change was made */ + long uh_save_nr; /* set when the file was saved after the + changes in this block */ +#ifdef U_DEBUG + int uh_magic; /* magic number to check allocation */ +#endif +}; + +/* values for uh_flags */ +#define UH_CHANGED 0x01 /* b_changed flag before undo/after redo */ +#define UH_EMPTYBUF 0x02 /* buffer was empty */ + +#endif // NEOVIM_UNDO_DEFS_H |