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/syntax_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/syntax_defs.h')
-rw-r--r-- | src/syntax_defs.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/syntax_defs.h b/src/syntax_defs.h new file mode 100644 index 0000000000..6b16d64621 --- /dev/null +++ b/src/syntax_defs.h @@ -0,0 +1,78 @@ +#ifndef NEOVIM_SYNTAX_DEFS_H +#define NEOVIM_SYNTAX_DEFS_H + +#include "regexp_defs.h" + +/* struct passed to in_id_list() */ +struct sp_syn { + int inc_tag; /* ":syn include" unique tag */ + short id; /* highlight group ID of item */ + short *cont_in_list; /* cont.in group IDs, if non-zero */ +}; + +/* + * Each keyword has one keyentry, which is linked in a hash list. + */ +typedef struct keyentry keyentry_T; + +struct keyentry { + keyentry_T *ke_next; /* next entry with identical "keyword[]" */ + struct sp_syn k_syn; /* struct passed to in_id_list() */ + short *next_list; /* ID list for next match (if non-zero) */ + int flags; + int k_char; /* conceal substitute character */ + char_u keyword[1]; /* actually longer */ +}; + +/* + * Struct used to store one state of the state stack. + */ +typedef struct buf_state { + int bs_idx; /* index of pattern */ + int bs_flags; /* flags for pattern */ + int bs_seqnr; /* stores si_seqnr */ + int bs_cchar; /* stores si_cchar */ + reg_extmatch_T *bs_extmatch; /* external matches from start pattern */ +} bufstate_T; + +/* + * syn_state contains the syntax state stack for the start of one line. + * Used by b_sst_array[]. + */ +typedef struct syn_state synstate_T; + +struct syn_state { + synstate_T *sst_next; /* next entry in used or free list */ + linenr_T sst_lnum; /* line number for this state */ + union { + bufstate_T sst_stack[SST_FIX_STATES]; /* short state stack */ + garray_T sst_ga; /* growarray for long state stack */ + } sst_union; + int sst_next_flags; /* flags for sst_next_list */ + int sst_stacksize; /* number of states on the stack */ + short *sst_next_list; /* "nextgroup" list in this state + * (this is a copy, don't free it! */ + disptick_T sst_tick; /* tick when last displayed */ + linenr_T sst_change_lnum; /* when non-zero, change in this line + * may have made the state invalid */ +}; + +/* + * Structure shared between syntax.c, screen.c and gui_x11.c. + */ +typedef struct attr_entry { + short ae_attr; /* HL_BOLD, etc. */ + union { + struct { + char_u *start; /* start escape sequence */ + char_u *stop; /* stop escape sequence */ + } term; + struct { + /* These colors need to be > 8 bits to hold 256. */ + short_u fg_color; /* foreground color number */ + short_u bg_color; /* background color number */ + } cterm; + } ae_u; +} attrentry_T; + +#endif // NEOVIM_SYNTAX_DEFS_H |