Hi, everybody!
This is to announce the release of PENG 2.0. PENG is an Integrated Development Environment written in and for GPC.
PENG 2.0 is the first version released publicly. (In case you wonder about the version number: Large parts of PENG have grown out of another application which was developed and used for several years. Therefore, I feel that version 2.0 is appropriate for this release.)
PENG was written completely in Pascal and created using GPC. It is well suited for editing and compiling Pascal programs with GPC, though its functionality is not Pascal specific, and it can just as well be used for writing C, HTML, TeX, Texinfo, E-Mail or any other ASCII based format. PENG was developed and tested mainly under Linux/x86, but also under DJGPP and Solaris.
The main web site of PENG is http://fjf.gnu.de/peng.html. It contains more extensive information about PENG, including the complete documentation in HTML format, as well as download facilities and a pointer to the PENG mailing list. The mailing list is the recommended place for bug reports and requests about PENG.
To the beta testers: The format of the config files has not changed since the last beta release (19991028), so you can keep using them without changes.
Some Highlights:
* Portability. In particular, there are versions for general terminals on Unix systems, for X11, and for DJGPP. The terminal versions work naturally across telnet/rlogin/slogin between systems with the same or different terminal types, and X11 is network-transparent, anyway.
* Support for multiple windows, including editing of the same file in several windows at the same time
* Advanced block operations, persistent and non-persistent blocks, editable clipboard, automatic copy function
* A reader for GNU Info documentation, including support for compressed info files
* A paragraph mode, useful for editing mail, news, TeX, HTML, etc.
* A quote protection mode for editing mail and news
* Multi-level Undo/Redo capability
* Lex highlighting
* Autosave mode
* Combines the ease of use known from some Dos IDEs with the power of Unix environments, e.g.:
- Supports function keys (where available on the terminal) and file selection boxes, but also file name completion with Tab; `$' for environment variables as well as `~' and `~user' for home directories, and all the file name wildcards like `*', `?', `[^-]', `{,}'
- Easy search/replace capabilities, but also regular expression searches and replacements with backreferences
- Handles files with Unix or Dos line endings on both kinds of systems, without converting them automatically, but with the easy possibility to convert them explicitly at any time.
- You can invoke an OS shell, but you can also suspend PENG.
- You can use control characters like Control-C for cursor movement in PENG if you want, but PENG still reacts correctly to external interrupt, termination or hangup signals and saves unsaved changes whenever possible.
- Readable configuration files in text format, a global one and per-user ones under Unix
- Simple and numbered backup files
- Lock files (compatible with vim) to prevent several editors from editing the same file at the same time
- Easily accessible context-sensitive help, but in the same format (GNU Info) as used by many other programs, and easily extendable for your own tools
- PENG tools can invoke external processes (e.g., compilers), but they can also fork them to run in the background while you can already go on editing your files.
* Completely configurable colors. Very important. :-)
* A way to open files read-only, from the menu and the command line
* No mouse support. (-: Leaves the mouse to gpm and similar applications.)
* Hotlist for easy access to files edited frequently
* Extensive tool scripting capabilites:
- Powerful syntax, similar to Unix shells
- User-defined variables of several types
- Many pre-defined functions for strings, regular expressions, file names, boolean values, mathematical operations on real and complex numbers, interaction with the user and control of the editor and info reader
- Conditional statements
- Access to a message window, suitable for GNU standard message format, but other message formats can be converted. An example converter for LaTeX messages is included.
- PENG can start external processes in the background and still receive their output. Background processes can be killed easily. Very useful for long compilations.
- Tools can depend on the file name of the current editor and on other conditions, to allow e.g. several versions of a similar tool by the same name for different languages/formats.
- Tools can be executed automatically at the start or termination of PENG.
- Many example tools, including usage of utilities like grep, syntax macros, and the compiler invocations with hotkeys familiar from other IDEs (for GPC and GCC and very similarly even for LaTeX and makeinfo), all fully customizable
Have much fun with PENG, Frank