CRiSP Features

The following features are available on all platforms, i.e. Windows and Unix.

CRiSP is an evolved product. After more than 15 years of development, it includes just about every conceivable editing feature, and probably more than those you are aware of.

CRiSP grew out of a frustration with the quality and presentation of standard editors on Unix when compared to their Windows counterparts. CRiSP has a very advanced set of features and the summary below is really only the tip of the iceberg. It is difficult to do justice to the multitudes of features in the product using mere words.

CRiSP is ideal whether editing 2 line programs or 1,000,000+ line projects spread over tens of thousands of files. Whether you are a power user or a light user, every minute you spend using CRiSP will be worthwhile. Using standard tools, trying to find or navigate through huge projects is tedious at best. With CRiSP - you can get a clear high level view of a project in seconds and be well on your way to understanding foreign projects which have not been developed by you.

Basic Editing

Multifile and multiwindow editing - load as many files as you need with no limitations of size or line length.

Multiple window modes including MDI, character mode and frames.

Infinite undo and redo - undo past file save marks. You can even keep an audit trail of files which have been edited (useful for looking back). User controlled location for backups and control how many and how often to create them.

Bookmarks - named and saved across sessions.

Ability to edit Unix, DOS, MAC, binary and UTF-8 file types. Can edit compressed files transparently (gzip, compress and bzip2 formats). Even understands .zip and .tar files.

Never lose your work - configurable numbers of backups. You can specify where backups are kept and how they are named. Autosave - save your files automatically based on time delay or keystrokes. Can even autosave files when editor loses input focus.

Complete file explorer interface providing a tabular view of files, showing detailed information on files (name, type, size, permissions, date). Multi-column sorting. Switch seamlessly to a tree based view to show the directory hierarchy.

Remote file editing based on ftp. Lets you edit files locally (e.g. from your Windows PC or notebook) across a LAN or even the internet.

Color and two column printing

CRiSP supports syntax colored printing and two column output as well as a host of other options, such as line numbering and landscape modes.

Contents Window

When editing files, you frequently need to refer to other information to help you in your work. CRiSP provides numerous views available in a contents window to the side of the editing area. These views include:

File view - switch between tree view or details view. Create your own favorites and switch quickly from one file to another.

Project files - lists files in the current project allowing you to quickly select files for editing without having to navigate throughout the directory hierarchy to find files.

Project browser - view and switch to defined tags in your project. Tags are any entity defined in your source files - classes, structs/unions/enums, #define constants, functions/procedures, etc. CRiSP supports over 30 languages and will automatically parse them (including common languages such as C/C++/Java, Perl/TCL, SQL, Verilog/VHDL).

Routines/sections - quick summary of all functions in the loaded files to allow quick navigation.

Remote FTP view - select files to load from remote sites.

Named clipboard entries - create your own library of templates to paste into the current file.

Cross-referencing and Tag facility

When editing code, a lot of the time you will be cross-referring the sources, e.g. where is XYZ defined or what is the calling sequence or structure definition. Traditionally under Unix, you would grep for what you want or open up another editing session to view/edit the file (after having located it - which can be frustrating on a foreign project, especially a large one).

Tagging is the ability to scan all files in a project and create a cross reference database so you can find the entry you are after, e.g. the entry under the cursor, or any entries matching a wild card.

You can create multiple tag files, e.g. to tag a local project or sub-project, and a global tag file, e.g. to tag system libraries and classes. (Remember we support the most common languages, including Perl/TCL, SQL, C/C++/Java).

You can find any entry in seconds or less. No size limitations.

Directory/File comparing

CRiSP provides complete facilities for performing file comparisons - highlighting differences and provides features to help merge/migrate files from one version to another.

Editing of Output from Commands

CRiSP can edit the output of external commands, e.g. you can pipe into CRiSP or specify an arbitrary command. E.g. run a script and view/edit the output from a command.

File locking and Sanity Checking

You can configure CRiSP to lock files whilst editing so you donít overwrite other peoples work on the same files. CRiSP will automatically detect changes to files outside the editor and either prompt you or reload (if file has not been modified by the user). Useful feature especially when looking at volatile files, e.g. log files.

FTP / SFTP - Remote file editing

Remote editing provides a very useful facility to accommodate your needs. You can edit files from an FTP server as if they were local. This means you can edit files locally, e.g. on your desktop or notebook in preference to remote logging in. Even if you have no direct access to the machine you can still edit files. CRiSP caches the files locally which acts as a backup and audit log of the files.

CRiSP supports numerous remote hosts, including Window, Unix and VMS FTP servers.

You can create multiple sessions and connections and switch automatically between them. You can create active or passive connections which is useful when editing across firewalls. Automatic keepalive support to avoid timed out connections. Continue editing even when remote site is unavailable and upload when site is restored (e.g. you donít need to stay on line whilst editing).

Integration with 3rd party software

Microsoft Visual Studio

Infotips (Code help)

Infotips is a way of helping you code by popping up a tooltip like label showing the prototype and description of the functions you are typing in.

CRiSP supports a variety of languages, including: Assembler, C, C++, ColdFusion, HTML, Java, Perl, PHP, SQL, TCL, XBase.

Interprocess communication

Windows DDE client & server support

CRiSP server mode using Unix domain sockets

Network (TCP or UDP) connections

Keyboard Emulations

CRiSP provides numerous keyboard emulations including BRIEF, CRiSP (enhanced BRIEF variant), CUA (e.g. typically used by Windows applications), Vi and Emacs.

The CRiSP bindings provide the most power. CUA is ideal for people who are most familiar with Windows applications rather than Unix.

Vi emulation has some powerful features, including full command line emulation. But it can prove invaluable when running across a telnet session.

Macro Language

Macro language based on a C-like syntax - you can customise and create your own macros. Everything in CRiSP is written in the macro language - it fasts and featuresome, including support for integers, floating point numbers, strings, lists and arrays. The macro language supports object hiding mechanisms to help build large macros, and full control of the GUI, including drawing.

Language is rich enough to write macros using TCP/UDP and other interprocess communication mechanisms.

Examples of advanced features added to CRiSP include a PaintBrush bitmap editor, Sybase database browser, WWW spider utility.

Online Help

Online help - completely covers using the editor and programming it. Identical help on Windows and Unix. Unix includes a complete Windows Help package viewer - help includes diagrams and hyperlinking. No longer limited to lowest common denominator browsers or plain ASCII text.

Output Window

Sometimes you need to perform an action and keep referring to the output results, e.g. searching files for a string, finding all files with a specified tag in them, output from a build/compile action. The output window provides an automatic place to view and select data from commands which have output.

Programmers Support

Performs bracket matching (even understands BEGIN/END keyword pairs).

Language sensitive editing support.

Vi style tag and tag stacks supported. Comes with a utility crtags which can be used to generate cross-reference files for a variety of languages.

Change log for annotating source changes.

Compiler and Make support and review syntax errors.

Define collections of files for editing (workspaces).

Tags (cross-reference) of source files. CRiSP provides its own multi-language tags utility, called crtags. Integrated tag builder dialog box allows quick access to crtags so you can rebuild the database whenever you need to.

Intelligent comment reformatter - user can configure box comments to use whatever style you prefer.

Project support

Create a project interactively using point and click. A project is collection of files, usually used to create a single program but can be any arbitrary collection of files. These files can be treated as a group, e.g. for the purposes of searching or tagging.

Source Code Control

CRiSP supports checking in and checking out files from source code control. CRiSP supports most of the common source code control systems including SCCS, RCS, Perforce.

Search & Replace

Search and replace dialog box and shortcut keystrokes, interactive search & replace.

Complete Unix style regular expression support.

Show all lines containing an expression in current buffer, all buffers or files on disk. Show all strings matching the text in a buffer.

Search & Replace all loaded buffers

Search & Replace files on disk. Recursively scan directories to find files.


On-screen wavy-lined misspelled words, even inside comments in program language files.

Right mouse menu corrections

American, British, Dutch, Finnish, French, German, Italian, Spanish, Swedish dictionaries available

Customized dictionaries

Spell checking programming language comments.

Syntax coloring

Automatically syntax color with builtin support more than 70 file types. You can easily add your own custom syntax colorizers or contact us and we will gladly add them for you.

Syntax coloring not only looks nice, but can improve productivity because you can avoid making syntax errors, such as accidentally commenting out huge amounts of code.

We even support RoyalBlue Fidessa configuration files - no more syntax errors when creating configuration files.

Template Editing

Template editing provides a mechanism for pasting boiler plate text into the edit buffer, based on the type of language, e.g. inserting an if..then..else block of code. This can be useful for newcomers to a language or where it is difficult to remember the exact syntax of specific constructs.

CRiSPs template editing facility is very powerful - providing not only standard templates, but also prompted templates, and crib-sheet templates. Prompted templates provide a mechanism to pop up a dialog to fill in values before the template is pasted, e.g. arguments to a function.

Crib-sheet templates provide a hierarchical means of presenting template data. For example, in TCL, some functions take a second argument detailing the actual action to perform. There are a lot of these and rather than providing a flat list of templates, CRiSP collects these into a browsable tree so you can quickly find what you want without being inundated with detail.

In addition to all of this, CRiSP also provides custom templates which can be created easily by dropping fragments into a directory tree.

Two Versions - One Product

CRiSP comes as two executables - native GUI application and a simpler character mode application (i.e. like vi). The simpler character mode version can be used across a remote login session and can be useful when wanting to switch quickly between shell commands and editing. Use the GUI version for full power editing.

Both versions are available on all platforms, i.e. Windows and Unix.

Programming Languages Supported:

Programming languages ADA, BASIC, C, C#, C++, Chill, COBOL, Erlang, Fortran, Java, Lisp, Modula3, PASCAL/Delphi, Python, REXX, Scala, TCL, Yacc
Microsoft IDL
Acorn ARM, MIPS, Sparc, AMD S29000
Scripts Unix Bourne/C/Korn shell scripts
awk, perl, TCL
Electronic CAD/CAM
VHD, Verilog
Database Ingress Windows/4GL
ACCELL, Oracle, Sybase, XBASE
Text formats HTML/XML
ROFF (nroff/troff)
3rd Party Applications ECLIPSE (Oil Industry)
RoyalBlue Fidessa config files.