This is indent.h in view mode; [Download] [Up]
/* * Copyright (c) 1995 John E. Davis (davis@space.mit.edu) * All Rights Reserved. */ #ifndef __JED_INDENT_H_ #define __JED_INDENT_H_ typedef struct Syntax_Table_Type { unsigned char string_char; /* character for string delim */ unsigned char char_char; /* char for char delim */ unsigned int flags; #define SYNTAX_NOT_CASE_SENSITIVE 1 #define FORTRAN_TYPE 0x2 /* means if non-digit in first column, it is a comment */ #define C_COMMENT_TYPE 0x4 /* This means that a '* ' combination preceeded by whitespace marks the * line as a comment line (like this one). */ #define TEX_LIKE_KEYWORDS 0x8 #define MULTICHAR_TYPE 0x0100 /* More than one character form the comment delimeters */ #define EOL_COMMENT_TYPE 0x0200 /* Comments start and stop on the same line, e.g., * C++ (yuk), S-Lang, Postscript, Fortran, ... */ unsigned char comment_beg; /* beginning of comment */ unsigned char comment_beg2; /* second comment beginning char */ unsigned char comment_end; /* end of comment */ unsigned char comment_end2; /* second comment end char */ unsigned char quote_char; /* used for quoting in strings */ unsigned char preprocess; /* start preprocessor lines */ unsigned short char_syntax[256]; /* syntax type for characters */ unsigned char matching_delim[256]; /* matching pairs */ char name[16]; /* name of this table */ #define MAX_KEYWORD_LEN 20 #define MAX_KEYWORD_TABLES 2 char *keywords[MAX_KEYWORD_TABLES][MAX_KEYWORD_LEN]; struct Syntax_Table_Type *next; /* pointer to next table */ } Syntax_Table_Type; #define WORD_SYNTAX 0x001 #define NUMBER_SYNTAX 0x002 #define DELIM_SYNTAX 0x004 #define SYNTAX_MASK 0xFFF8 #define QUOTE_SYNTAX 0x008 #define STRING_SYNTAX 0x010 #define OPEN_DELIM_SYNTAX 0x020 #define CLOSE_DELIM_SYNTAX 0x040 #define COMMENT_SYNTAX 0x080 #define OP_SYNTAX 0x100 #define HTML_START_SYNTAX 0x200 #define HTML_END_SYNTAX 0x400 extern Syntax_Table_Type *Default_Syntax_Table; extern int find_matching_delimiter (int *); extern int parse_to_point (void); extern void use_syntax_table (char *); extern void create_syntax_table (char *); extern void define_syntax (int *, char *); extern void init_syntax_tables (void); extern void blink_match(void); extern int goto_match(void); extern void set_syntax_flags (char *, int *); extern void define_keywords (char *, char *, int *, int *); #endif /* __JED_INDENT_H_ */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.