Short: GoldED4 online code indention V37.3 Author: mshopf@informatik.uni-erlangen.de (Matthias Hopf) Uploader: mshopf@informatik.uni-erlangen.de (Matthias Hopf) Version: 37.3 beta Type: text/edit COPYIGHT ©1997 Matthias Hopf. All rights reserved. Some routines are based partially on the public domain CLib package from Andreas R. Kleinert. Thanx! DISTRIBUTION This package is distributed as FreeWare under the GNU license. DESCRIPTION This is an API client for GoldED 4 that will scan all entered text and indent it according to its built-in rules. The scanner is quite versatile and will also report several types of syntax errors. Scanning will be done automatically when you press keys that could have implications on the indentation of the current line. There is a new ARexx command 'SMARTINDENT', too, with which you can explicitely start the intendation process. By default the installation script will map for the C-source filetype TAB to 'SMARTINDENT LINE', alt-TAB to 'SMARTINDENT BLOCK', shift-TAB and ctrl-TAB to 'TAB' and shift-ctrl-TAB to 'BACKTAB', so you don't lose the tabulator availability. Source code is provided, though not cleaned up. I would love to add more indentation semantic parsers for other languages :^) ToDo: Still does some intentions not as I would like it to, but it's getting better. Better documentation needed. Configuration GUI (showing indentation of example source) needed. The installation is not as automatic as it should be (need a better regedit for this). INSTALLATION Doubleclick at the installer script icon. It assumes that you already have the envCPP filetype package installed. SYNTAX: API startup arguments: Template: MODE/K,DEBUG/N/K,CONFIG/M/N/K MODE: Indention mode. Currently only one mode 'c' is available and the argument isn't parsed at all... It will be a mandatory argument in the future, however. DEBUG: One nummeric argument that specifies the debug level (see util.h for more information) CONFIG: Currently 7 integer values that specify (in this order): if (x) ....x = x+1; - Block indentation level (default: 4) switch (x) ..{ - Brace indentation level (default: 0, here: 2) x = x + 1; <- case 1: - Label indentation level (default -2) long int ..value; - Continued statement level (default 2) value = ..0; - Continued equation level (default 2) ..../* xx */ - Standard comment level (default 4) x=0;..../* x */ - (Absolute) in-line comment level (default 40) 'SMARTINDENT' command arguments: Template: LINE/S,CURSOR/S,BLOCK/S LINE: Indent current line CURSOR: Move cursor to last indetation position in this line BLOCK: Indent marked block HISTORY V37.3 beta - Loads of bug fixes, one even potentially harmfull - 'test' smakefile target and test_input.c testing source file for checking indention abilities. V37.2 beta2 - Version information bug fixed. Installer should install the API-client correctly now. - Installer script reworked. - New regedit for installtion process provided. Thanx Dietmar! V37.2 beta - First release. ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 1233 595 51.7% 29-Jun-97 18:42:58 Smartindent.info 20588 9870 52.0% 29-Jun-97 18:43:12 +smartindent.api 25204 13517 46.3% 29-Jun-97 18:43:02 +regedit 17996 7017 61.0% 29-Jun-97 18:43:04 +COPYING 856 436 49.0% 29-Jun-97 18:43:00 +COPYING.info 2485 1014 59.1% 29-Jun-97 18:43:02 +Install 1608 1227 23.6% 29-Jun-97 18:42:58 +Install.info 507 256 49.5% 29-Jun-97 18:43:02 +Install_d.bat 507 256 49.5% 29-Jun-97 18:43:04 +Install_e.bat 97 78 19.5% 29-Jun-97 18:43:00 +c.api 64 64 0.0% 29-Jun-97 18:43:00 +c.indent 581 213 63.3% 29-Jun-97 18:43:00 +c.keyboard 1527 383 74.9% 29-Jun-97 18:43:00 +c.mouse 1501 369 75.4% 29-Jun-97 18:43:00 +c.mouse 3306 1623 50.9% 29-Jun-97 18:43:02 +Smartindent.readme 856 440 48.5% 29-Jun-97 18:42:58 +Smartindent.readme.info 1233 594 51.8% 29-Jun-97 18:42:58 +Source.info 3811 1234 67.6% 29-Jun-97 18:43:00 +compiler.h 856 488 42.9% 29-Jun-97 18:43:02 +compiler.h.info 5621 1989 64.6% 29-Jun-97 18:43:00 +dispatcher.c 856 488 42.9% 29-Jun-97 18:43:02 +dispatcher.c.info 835 352 57.8% 29-Jun-97 18:43:00 +dispatcher.h 856 488 42.9% 29-Jun-97 18:43:02 +dispatcher.h.info 3609 1429 60.4% 29-Jun-97 18:43:00 +LibFuncs.c 856 488 42.9% 29-Jun-97 18:43:02 +LibFuncs.c.info 1005 341 66.0% 29-Jun-97 18:43:00 +LibFuncs.h 856 488 42.9% 29-Jun-97 18:43:02 +LibFuncs.h.info 3809 1332 65.0% 29-Jun-97 18:43:00 +LibInit.c 856 488 42.9% 29-Jun-97 18:43:02 +LibInit.c.info 266 170 36.0% 29-Jun-97 18:43:00 +SCOPTIONS 856 438 48.8% 29-Jun-97 18:43:02 +SCOPTIONS.info 3480 1279 63.2% 29-Jun-97 18:43:00 +semantics.h 856 488 42.9% 29-Jun-97 18:43:02 +semantics.h.info 17382 3735 78.5% 29-Jun-97 18:43:00 +semantics_c.c 856 488 42.9% 29-Jun-97 18:43:02 +semantics_c.c.info 1939 679 64.9% 29-Jun-97 18:43:00 +smakefile 856 438 48.8% 29-Jun-97 18:43:02 +smakefile.info 3469 1341 61.3% 29-Jun-97 18:43:00 +smartindent.h 856 488 42.9% 29-Jun-97 18:43:02 +smartindent.h.info 5049 1482 70.6% 29-Jun-97 18:43:00 +StartUp.c 856 488 42.9% 29-Jun-97 18:43:02 +StartUp.c.info 4220 1575 62.6% 29-Jun-97 18:43:00 +test_indent.c 856 488 42.9% 29-Jun-97 18:43:02 +test_indent.c.info 3926 1578 59.8% 29-Jun-97 18:43:00 +test_input.c 856 488 42.9% 29-Jun-97 18:43:02 +test_input.c.info 10919 3581 67.2% 29-Jun-97 18:43:00 +util.c 856 488 42.9% 29-Jun-97 18:43:02 +util.c.info 3825 1716 55.1% 29-Jun-97 18:43:00 +util.h 856 488 42.9% 29-Jun-97 18:43:02 +util.h.info -------- ------- ----- --------- -------- 167010 69473 58.4% 01-Jul-97 05:44:14 49 files