Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
57 lines (48 sloc) 2.03 KB
/* spell.h */
typedef struct spells
long flags; /* bitmap of flags for this word */
unsigned short min, max; /* range of legal indicies into link[]*/
struct spells *link[1]; /* array of ptrs to succeeding nodes */
} spell_t;
typedef enum
} spellresult_t;
/* These are the possible restrictions on spellchecking. Note that the
* least restrictive comes first, and the most restrictive comes last.
typedef enum
} spellcheck_t;
/* some standard flags */
#define SPELL_FLAG_COMPLETE 0x40000000 /* whole word */
#define SPELL_FLAG_BAD 0x20000000 /* bad word */
#define SPELL_FLAG_PERSONAL 0x10000000 /* added via :spell */
/* a macro for determining whether a given node represents a valid word */
#define SPELL_IS_GOOD(node) ((node) && ((node)->flags & (SPELL_FLAG_COMPLETE|SPELL_FLAG_BAD)) == SPELL_FLAG_COMPLETE)
/* Functions for managing dictionaries. These are used by descr.c as well as
* the spell-checking feature.
spell_t *spellletter P_((spell_t *node, _CHAR_ letter));
spell_t *spellfindword P_((spell_t *node, CHAR *word, int len));
spell_t *spelladdword P_((spell_t *node, CHAR *word, long flags));
void spellfree P_((spell_t *node));
/* These functions are used only by the spell-checker */
spellresult_t spellcheck P_((MARK mark, ELVBOOL tagonly, long cursoff));
void spellbegin P_((void));
ELVBOOL spellsearch P_((CHAR *word));
void spellend P_((void));
void spellhighlight P_((WINDOW win));
void spellsave P_((BUFFER custom));
void spellfix P_((CHAR *word, CHAR *result, int resultlen, ELVBOOL tagonly));
CHAR *spellshow P_((MARK cursor, _char_ font));
ELVBOOL spellcount P_((MARK cursor, long count));
void spellcheckfont P_((CHAR *fontname, spellcheck_t check, ELVBOOL bang));
void spelltmp P_((int oldfont, int newfont, int combofont));
void spellload P_((char *filename, ELVBOOL personal));
MARK spellnext P_((WINDOW win, MARK curs));
/* some global variables */
extern spell_t *spelltags;
extern spell_t *spellwords;