////////////////////////////////////////////////////////////////////////////// // // // Eiffel Language highlighter written by Klaastyl, klaastyl@hotmail.com // // Student in computer sciences at ESIAL // // Ecole Supérieure d'Informatique et Applications de Lorraine - Nancy // // // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // Some info about the Eiffel language: // // Eiffel is an object oriented programming language created in the 90' by // // Bertrand Meyer within the U.H.P. (Université Henri Poincaré - Nancy 1) // // The most famous Eiffel compiler is SmartEiffel, developped by Dominique // // Colnet and his team within the LORIA (Laboratoire Lorrain de Recherche // // en Informatique et Automatique) which is a department of the U.H.P. // // For more info, please visit the SmartEiffel web site at: // // http://SmartEiffel.loria.fr // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: Eiffel ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: Eiffel Class files (*.e)|*.e ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: -- BlockCommentBeg: BlockCommentEnd: ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _%@. IdentifierChars: a..z A..Z _ 0..9 ? ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into two groups which can be // highlighted differently KeyWords1: if then end else elseif and or xor implies loop retry check inspect when from until debug deferred do once external alias not prefix infix strip old like expanded class indexing obsolete inherit creation feature rename export undefine redefine select all frozen unique local rescue is KeyWords2: ensure require true false invariant variant KeyWords3: Current Result BIT // This is the basic set of classes distributed with the different SmartEiffel releases KeyWords4: ABSTRACT_FRACTION ABSTRACT_INTEGER ANY ARGUMENTS ARRAY ARRAY2 ARRAY3 ARRAYED_COLLECTION BASIC_DIRECTORY BASIC_TIME BINARY_FILE_READ BINARY_FILE_WRITE BIT_N BIT_N_REF BIT_STRING BOOLEAN BOOLEAN_REF CHARACTER CHARACTER_REF COLLECTION COLLECTION_SORTER COLLECTION2 COLLECTION3 COMPARABLE COUNTER DICTIONARY DICTIONARY_NODE DIRECTORY DOUBLE DOUBLE_REF EXCEPTIONS FILE_TOOLS FIXED_ARRAY FIXED_ARRAY2 FIXED_ARRAY3 GEN_RAND GENERAL HASH_TABLE_SIZE HASHABLE INPUT_STREAM INTEGER INTEGER_FRACTION INTEGER_REF ITERATOR ITERATOR_ON_COLLECTION ITERATOR_ON_DICTIONARY_ITEMS ITERATOR_ON_DICTIONARY_KEYS ITERATOR_ON_LINKED_LIST ITERATOR_ON_SET ITERATOR_ON_STRING ITERATOR_ON_TWO_WAY_LINKED_LIST LARGE_INTEGER LARGE_NEGATIVE_INTEGER LARGE_POSITIVE_INTEGER LINK LINK2 LINKED_COLLECTION LINKED_LIST MEMO MEMORY MIN_STAND NATIVE_ARRAY NUMBER NUMBER_FRACTION NUMBER_TOOLS NUMERIC OUTPUT_STREAM PLATFORM POINTER POINTER_REF REAL REAL_REF REVERSE_COLLECTION SAFE_EQUAL SET SET_NODE SMALL_INTEGER STD_ERROR STD_FILE_READ STD_FILE_READ_WRITE STD_FILE_WRITE STD_INPUT NONE STD_INPUT_OUTPUT STD_OUTPUT STD_RAND STRING SYSTEM TEXT_FILE_READ TEXT_FILE_READ_WRITE TEXT_FILE_WRITE TIME_IN_ENGLISH TIME_IN_FRENCH TIME_IN_GERMAN TIME_IN_ITALIAN TIME_IN_SOME_LANGUAGE TWO_WAY_LINKED_LIST ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: " StringEndChar: " MultilineStrings: 0 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clNavy clWindow B Keyword2Col: clTeal clWindow Keyword3Col: clPurple clWindow Keyword4Col: clBlue clWindow IdentifierCol: clWindowText clWindow CommentCol: clGray clWindow NumberCol: clRed clWindow StringCol: clMaroon clWindow SymbolCol: clGray clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow