1 // This file is part of e93. 2 // 3 // e93 is free software; you can redistribute it and/or modify 4 // it under the terms of the e93 LICENSE AGREEMENT. 5 // 6 // e93 is distributed in the hope that it will be useful, 7 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 // e93 LICENSE AGREEMENT for more details. 10 // 11 // You should have received a copy of the e93 LICENSE AGREEMENT 12 // along with e93; see the file "LICENSE.TXT". 13 14 typedef struct expressionPiece EXPRESSION_PIECE; 15 typedef struct expressionPieceList EXPRESSION_PIECE_LIST; 16 typedef struct syntaxExpression SYNTAX_EXPRESSION; 17 typedef struct syntaxStyleMapping SYNTAX_STYLE_MAPPING; 18 typedef struct syntaxStyleMappingList SYNTAX_STYLE_MAPPING_LIST; 19 typedef struct syntaxMap SYNTAX_MAP; 20 21 bool UpdateSyntaxInformation(EDITOR_BUFFER *buffer,UINT32 startOffset,UINT32 endOffset,UINT32 numBytes); 22 bool RegenerateAllSyntaxInformation(EDITOR_BUFFER *buffer); 23 SYNTAX_MAP *GetInstanceParentMap(SYNTAX_INSTANCE *instance); 24 void CloseSyntaxInstance(SYNTAX_INSTANCE *instance); 25 SYNTAX_INSTANCE *OpenSyntaxInstance(SYNTAX_MAP *map,EDITOR_BUFFER *buffer); 26 void RemoveMappingList(SYNTAX_STYLE_MAPPING_LIST *list); 27 SYNTAX_STYLE_MAPPING_LIST *AddMappingListElement(SYNTAX_STYLE_MAPPING_LIST **listHead,SYNTAX_STYLE_MAPPING *mapping); 28 SYNTAX_STYLE_MAPPING_LIST *AddBetweenListElementToMapping(SYNTAX_STYLE_MAPPING *mapping,SYNTAX_STYLE_MAPPING *betweenMapping); 29 SYNTAX_STYLE_MAPPING_LIST *AddRootListElementToMap(SYNTAX_MAP *map,SYNTAX_STYLE_MAPPING *rootMapping); 30 SYNTAX_STYLE_MAPPING *LocateSyntaxStyleMapping(SYNTAX_MAP *map,const char *name); 31 void SetMappingStartExpressionPiece(SYNTAX_STYLE_MAPPING *mapping,EXPRESSION_PIECE *startExpressionPiece); 32 void RemoveExpressionList(EXPRESSION_PIECE_LIST *list); 33 EXPRESSION_PIECE_LIST *AddMappingEndExpressionPiece(SYNTAX_STYLE_MAPPING *mapping,EXPRESSION_PIECE *endExpressionPiece); 34 void SetMappingStyles(SYNTAX_STYLE_MAPPING *mapping,UINT32 startStyle,UINT32 betweenStyle,UINT32 endStyle); 35 void RemoveMappingFromSyntaxMap(SYNTAX_MAP *map,SYNTAX_STYLE_MAPPING *mapping); 36 SYNTAX_STYLE_MAPPING *AddMappingToSyntaxMap(SYNTAX_MAP *map,const char *mappingName); 37 EXPRESSION_PIECE *LocateExpressionPiece(SYNTAX_EXPRESSION *expression,bool useRegisterMatch,UINT32 registerIndex); 38 void RemovePieceFromExpression(SYNTAX_EXPRESSION *expression,EXPRESSION_PIECE *piece); 39 EXPRESSION_PIECE *AddPieceToExpression(SYNTAX_EXPRESSION *expression,bool useRegisterMatch,UINT32 registerIndex); 40 SYNTAX_EXPRESSION *LocateSyntaxMapExpression(SYNTAX_MAP *map,const char *name); 41 void RemoveExpressionFromSyntaxMap(SYNTAX_MAP *map,SYNTAX_EXPRESSION *expression); 42 SYNTAX_EXPRESSION *AddExpressionToSyntaxMap(SYNTAX_MAP *map,const char *expressionName,const char *expressionText); 43 char *GetSyntaxMapName(SYNTAX_MAP *map); 44 SYNTAX_MAP *LocateNextSyntaxMap(SYNTAX_MAP *map); 45 SYNTAX_MAP *LocateSyntaxMap(char *name); 46 void UnlinkSyntaxMap(SYNTAX_MAP *map); 47 bool LinkSyntaxMap(SYNTAX_MAP *map); 48 void CloseSyntaxMap(SYNTAX_MAP *map); 49 SYNTAX_MAP *OpenSyntaxMap(char *name); 50 EDITOR_BUFFER *LocateNextEditorBufferOnMap(SYNTAX_MAP *map,EDITOR_BUFFER *buffer); 51 SYNTAX_MAP *GetAssignedSyntaxMap(EDITOR_BUFFER *buffer); 52 bool AssignSyntaxMap(EDITOR_BUFFER *buffer,SYNTAX_MAP *map); 53 void UnInitSyntaxMaps(); 54 bool InitSyntaxMaps(); 55