ConTEXT programmers editor

76
rate this page

By programmerstools





ConTEXT is a small, fast and powerful freeware text editor, developed mainly to serve as secondary tool for software developers.

Main ConTEXT features includes:

  • unlimited open files
  • unlimited editing file size, 4kB line length
  • powerful syntax highlighting for:
    • C/C++
    • Delphi/Pascal
    • Java
    • Java Script
    • 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 (supported languages: 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 highlighting colors, cursor shapes, right 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
  • minimize to system tray
  • install and uninstall
  • it's FREE!

Planned features for v1.0

  • hex editor
  • plug-in architecture for external tools
  • enhancing macro recorder features and macro script language
  • code browser for C/C++, Delphi and Visual Basic projects
  • more powerful custom highlighter definition language
  • other misc. tools




How to use Java compiler with ConTEXT? (Posted by Jorge Ortiz)

  • After installing JDK and ConTEXT of course, open ConTEXT, go to Options/Environment Options.../Associations, click on Add button and write "java" (without quotes) and click the "Apply" button at dialog's bottom.
  • Then hit "Execute keys" tab, hit Add again and add "java" again. Click on F9 (in the "User exec keys" tree) and use the "..." button to browse the hard disk until you find where you have installed the JDK. Go into "bin" subdirectory and select "javac.exe", so this file with its full path now must be in the "Execute" field. Then write "%p" (without quotes) in the "Start in" field and "%f" in the "Parameters" field. Click on "Capture console output" checkbox and hit the "Apply" button at dialog's bottom.
  • Click the "F10" key in the keys' tree and repeat all the steps of paragraph 2., but this time select "java.exe" instead of "javac.exe" and write "%F" where you wrote "%f" in paragraph 2. Finally apply and click "Ok" to close dialog window.
  • Create a new and empty file hitting the first icon in the toolbar of ConTEXT, then select "Java" in the drop down list box (where "Text files" must appear, in the same toolbar).
  • Write "prog" (without quotes) and without left a space, pulse Ctrl+J and a basic Java program skeleton must be appear magically. If not, copy and paste this:
public class MyProg { /** Code documentation here */ public static void main(String[] args) { /* multi-line and semi-line comments here */ // one-line comments here System.out.println("Hello, world"); } }
  • Save this file with name: "MyProg.java" (take account that Java is case sensitive even with file names).
  • Hit "F9" and the Java Compiler (javac.exe) must do his work and build a Java Class named "MyProg.class" in the same directory where you had saved the source code.
  • Hit "F10" to run your first Java program.
Optional steps: Configure Help File for Java programming
  • Download Java WinHelp compressed file from http://www.confluent.fr/javadoc/jdk13e.html and uncompress it.
  • In ConTEXT select "Options" menu and click "Environment Options..." option.
  • In the opened dialog window, select Miscellaneous page.
  • Select "Java" in the "Help files" frame and click on "Edit" button, below frame.
  • Browse your hard disk until you find the file "Jdk13.hlp" extracted from downloaded help file and click Open button.
  • Click "Ok" button in ConTEXT's "Environment Options" dialog window.
  • Test it: Open a Java Source file, click a Java reserved word (must be highlighted) and hit "F1" key in your keyboard.

How to use Borland C++ 5.5 free compiler with ConTEXT?

  • Open a .cpp file to test

  • Select "Options / Environment options / Execute Keys".
  • Select the cpp group, if there isn't any, click "Add" and enter the extension, in this case "cpp" (without quotes)
  • Now click on the cpp - F9, I'm going to assume that you installed Borland compiler in the folder "C:\Bcc\", if you installed in other folder, just replace it.
  • Options for cpp - F9:
    • Execute: C:\BCC\Bin\Bcc32.exe
    • Start in: %p
    • Parameters: %f
    • Check "Editing before execution"
    • Check "Capture console output"
  • Then click "OK"

highlighter for Rebol

//////////////////////////////////////////////////////////////////////////////

//

// Rebol highlighter

// written A.P. van Wingerden

//

//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////

// language name

Language: Rebol

//////////////////////////////////////////////////////////////////////////////

// default file filter

// note: if more than one extension is associated, eg:

// C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp

Filter: Rebol files (*.r)|*.r

//////////////////////////////////////////////////////////////////////////////

// help file which will be invokend when F1 is pressed

HelpFile: http://www.rebol.com/docs.html

//////////////////////////////////////////////////////////////////////////////

// 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 0..9 _+-`*!~&?|:

IdentifierChars: a..z A..Z 0..9 _+-`*!~&?|:

//////////////////////////////////////////////////////////////////////////////

NumConstBegChars: 0..9

//////////////////////////////////////////////////////////////////////////////

NumConstChars: 0..9 .

//////////////////////////////////////////////////////////////////////////////

EscapeChar: ^

//////////////////////////////////////////////////////////////////////////////

// keyword table

// note: delimited with spaces, lines could be wrapped

// you may divide keywords into two groups which can be

// highlighted differently

// reserved words

KeyWords1: * ** + - / // < <= <> = == =? > >= ? ??

about abs absolute add

alert alias all alter and

any any-block? any-function? any-string? any-type?

any-word? append arccosine arcsine arctangent

array as-pair ask at attempt

back binary? bind bitset? block?

break brightness? browse build-tag caret-to-offset

catch center-face change change-dir char?

charset checksum choose clean-path clear

clear-fields close comment complement component?

compose compress confirm connected? construct

context copy cosine datatype? date?

debase decimal? decode-cgi decompress dehex

delete detab difference dir? dirize

disarm dispatch divide do do-events

does dump-face dump-obj echo either

else email? empty? enbase entab

equal? error? even? event? exclude

exists? exit exp extract fifth

file? find first flash focus

for forall foreach forever form

forskip found? fourth free func

function function? get get-modes get-word?

greater-or-equal? greater? halt has hash?

head head? help hide hide-popup

if image? import-email in in-window?

index? info? inform input input?

insert integer? intersect issue? join

last launch layout length? lesser-or-equal?

lesser? library? license link? list-dir

list? lit-path? lit-word? load load-image

log-10 log-2 log-e logic? loop

lowercase make make-dir make-face max

maximum maximum-of min minimum minimum-of

modified? mold money? multiply native?

negate negative? next none? not

not-equal? now number? object? odd?

offset-to-caret offset? op? open or

pair? paren? parse parse-xml path?

pick poke port? positive? power

prin print probe protect protect-system

query quit random read read-io

recycle reduce refinement? reform rejoin

remainder remold remove remove-each rename

repeat repend replace request request-color

request-date request-download request-file request-list request-pass

request-text resend return reverse routine?

same? save script? second secure

select send series? set set-modes

set-net set-path? set-word? show show-popup

sign? sine size-text size? skip

sort source span? split-path square-root

strict-equal? strict-not-equal? string? struct? stylize

subtract suffix? switch tag? tail

tail? tangent third throw time?

to to-binary to-bitset to-block to-char

to-date to-decimal to-email to-file to-get-word

to-hash to-hex to-idate to-image to-integer

to-issue to-list to-lit-path to-lit-word to-local-file

to-logic to-money to-pair to-paren to-path

to-rebol-file to-refinement to-set-path to-set-word to-string

to-tag to-time to-tuple to-url to-word

trace trim try tuple? type?

unfocus union unique unprotect unset

unset? until unview update upgrade

uppercase url? usage use value?

view viewed? wait what what-dir

while within? word? write write-io

xor zero?

// predefined words

KeyWords2:

KeyWords3:

KeyWords4:

KeyWords5:

//////////////////////////////////////////////////////////////////////////////

StringBegChar: "{

StringEndChar: "}

MultilineStrings: 1

//////////////////////////////////////////////////////////////////////////////

UsePreprocessor: 0

//////////////////////////////////////////////////////////////////////////////

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, clBlack, 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: clBlack clWhite

Keyword1Col: clRed clWhite

IdentifierCol: clGreen clWhite

CommentCol: clPurple clWhite

NumberCol: clBlack clWhite

StringCol: clBlue clWhite

SymbolCol: clBlack clWhite

PreprocessorCol: clBlack clWhite

SelectionCol: clWhite clBlack

CurrentLineCol: clFuchsia clWhite

OverrideTxtFgColor: 0

BlockAutoindent: 1

BlockBegStr: [

BlockEndStr: ]

MatchedBracesCol: clWhite clMaroon

Keyword2Col: clWindowText clWindow

Keyword3Col: clWindowText clWindow

Keyword4Col: clWindowText clWindow

Keyword5Col: clWindowText clWindow

  —   Rate it:  up  down  [flag this hub]

Comments

RSS for comments on this Hub Small RSS Icon

No comments yet.

Submit a Comment

Members and Guests

Sign in or sign up and post using a hubpages account.


optional



working