The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
ConTEXT
From Unreal Wiki, The Unreal Engine Documentation Site
Contents
ConTEXT is a small, fast and powerful freeware text editor, developed to serve as secondary tool for software developers.
- Homepage
- http://www.contexteditor.org/
Features[edit]
- unlimited open files
- unlimited editing file size, 4kB line length
- powerful syntax highlighting for:
- C#
- C/C++
- Delphi/Pascal
- Java
- JavaScript
- Visual Basic
- Perl/CGI
- HTML
- CSS
- SQL
- FoxPro
- 80x86 assembler
- Python
- PHP
- Tcl/Tk
- XML
- Fortran
- Foxpro
- InnoSetup scripts
- powerful custom defined syntax highlighter
- multilanguage support (English, German, French, Croatian, Chinese, Czech, Danish, Dutch, Estonian, Esperanto, Spanish, Galego, Italian, Hungarian, Portuguese (Brazil), Russian, Slovakian, Polish, Lithuanian, Latvian, Slovenian, Turkish)
- project workspaces support
- unicode UTF8 support
- code templates
- customizable help files for each file type
- file explorer with favorites list
- file compare
- export to HTML/RTF
- conversion DOS->UNIX->Macintosh file formats
- editing position remembering across files
- macro recorder
- commenting/uncommenting code
- text sort
- normal and columnar text selection
- bookmarks
- search and replace with regular expressions
- search and replace text in all open files
- incremental search with text emphasizing
- C/Java-style block auto indent/outdent
- customizable color printing with print preview
- exporting configuration stored in registry
- customizable syntax highlighter colors, cursors, margin, gutter, line spacing...
- user definable execution keys, depending on file type
- capturing console applications standard output
- compiler output parser for positioning on error line
- powerful command line handler
Unrealscript Highlighter[edit]
To use the highlighter in ConTEXT, copy the code below and save it in a file named Unrealscript.chl in Highlighters directory of ConTEXT.
// Language name (user language name) Language: UnrealScript // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: UnrealScript (*.uc)|*.uc // 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 // IdentifierBegChar - Identifier begin characters 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 three groups which can be // highlighted differently KeyWords1: abstract archetype array arraycount assert auto autoexpandcategories automated bool break byte cacheexempt case class client coerce collapsecategories config const continue cpptext databinding default defaultproperties delegate demorecording dependson deprecated do dontcollapsecategories duplicatetransient edfindable editconst editconstarray editfixedsize editinline editinlinenew editinlinenotify editinlineuse editoronly else enum enumcount event exec expands export exportstructs extends false final float for foreach function global globalconfig goto guid hidecategories hidedropdown if ignores immutable immutablewhencooked implements inherits init input insert instanced int interp intrinsic iterator latent length local localized name native nativereplication new noclear noexport noexportheader noimport none nontransactional nontransient noteditinlinenew notforconsole notplaceable nousercreate operator optional out parseconfig perobjectconfig placeable pointer postoperator preoperator private protected public reliable remove replication repnotify return rng rot safereplace self server showcategories simulated singular skip state static stop string struct structcpptext structdefaultproperties super switch then transient travel true unreliable until var vect virtual while within //KeyWords2: //KeyWords3: // 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: 1 // 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) is 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, lBtnText, // 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: clBlue clWindow B Keyword2Col: clPurple clWindow Keyword3Col: $004080FF clWindow IdentifierCol: clWindowText clWindow CommentCol: clGreen clWindow NumberCol: clFuchsia clWindow StringCol: clFuchsia clWindow SymbolCol: clBlack clWindow PreprocessorCol: $0000C000 clWindow I SelectionCol: clWhite clNavy // If CurrLineHighlighted: 1 CurrentLineCol: clBlack clYellow OverrideTxtFgColor: 0 BlockAutoindent: 1 BlockBegStr: { BlockEndStr: } MatchedBracesCol: clRed clWindow Keyword4Col: clWindowText clWindow Keyword5Col: clWindowText clWindow