Questions to auto completion:
Q1 Where can the delay be set?
Q2 Is there some shortcut to show the auto completion?
Results from a first short test:
1. Auto completion
1.1 Doesn't occur too often like before (some little tweaking maybe needed).
1.2 AC still occurs on scrolling / after mouse move if a char is entered and
afterwards one starts scrolling / moves the mouse (and the delay is over).
1.3 Please add all keywords from current syntax highlighting to the
auto-completion list.
2. COBOL problems
2.1 Using Format->Add/Remove Comment sets * in column 1, but should be column 7
2.2 Sometimes a line is highlighted as a comment on scrolling - I need to
investigate that further.
2.3 Syntax highlighting and Code-Explorer stuff: Here again the sample I brought
up before. Every "COBOL-only" comment starts with "*>", every comment that says
something about PSPAD start with "* ". The things that are fixed in 2410 are
removed. (Click the Quote link for this post to get the right indentation).
*-----------------------------------------------------------------
*> Program PSPSAM showing some stuff for testing COBOL lexers
*> (especially old errors in PSPad COBOL syntax)
*>----------------------------------------------------------------
IDENFTIFICATION DIVISION.
PROGRAM-ID. 'PSPSAM'.
*-----------------------------------------------------------------
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
SYSERR IS MY-ERR
DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT MY-FILE ASSIGN TO MY-FILE-NAME
ORGANIZATION IS LINE SEQUENTIAL
FILE STATUS IS MY-FILE-STATUS.
SELECT MY-INPFILE ASSIGN TO "INPUT.DAT"
ORGANIZATION IS SEQUENTIAL
FILE STATUS IS MY-FILE-STATUS.
I-O-CONTROL.
DATA DIVISION.
FILE SECTION.
FD MY-FILE.
01 MY-FILE-REC.
02 MY-REC.
03 MY-BIG1 PIC X(32000).
03 MY-BIG2 PIC X(32000).
FD MY-INPFILE.
01 MY-INPFILE-REC.
02 MY-INPREC PIC X(320).
*-----------------------------------------------------------------
WORKING-STORAGE SECTION.
78 MY-FILE-NAME VALUE 'TEST.DAT'.
77 MY-FILE-STATUS PIC X(02).
01 PARM-1.
05 PARM-1-1 PIC X(12).
05 PARM-1-2 PIC X(10).
01 PARM-2 PIC X(80).
COPY WSCPY.
77 BVAR PIC X(650000) BASED.
*>----------------------------------------------------------------
LOCAL-STORAGE SECTION.
* This var is marked:
01 local-var pic 9 value zero.
88 local-var-unchanged value zero.
* This var is NOT marked (because of two spaces):
* Either all these vars should be marked or none
01 loc2 PIC X(12) VALUE SPACES.
77 loc3 pic 9(05) usage comp-3 value 12.
*>----------------------------------------------------------------
LINKAGE SECTION.
01 some-rec.
02 some-rec-1 pic 9(04).
02 some-rec-2 pic x(4096).
*>----------------------------------------------------------------
PROCEDURE DIVISION USING some-rec.
* declaratives currently not recognized correct as an own area
* (inside working storage) but as empty paragraph.
DECLARATIVES.
*> Error section for MY-FILE:
DEC-MY SECTION.
USE AFTER STANDARD ERROR PROCEDURE ON MY-FILE.
DM-BEG.
display 'ERROR IN MYFILE: "' MY-FILE-STATUS '"'
* end-display missing in keywords (and not shown as belonging
* to the display, see some2 section for explanation)
end-display
accept loc2
end-accept
* returning missing in keywords (note: this is an extension)
exit program returning 1
DM-END.
EXIT SECTION.
*> Error section for all files opened with INPUT:
DEC-MYIN SECTION.
USE AFTER STANDARD ERROR PROCEDURE ON INPUT.
DMI-BEG.
display 'ERROR IN MYINPFILE: "' MY-FILE-STATUS '"'
end-display
accept loc2
end-accept
exit program returning 1
DMI-END.
EXIT SECTION.
end declaratives.
*>----------------------------------------------------------------
MAIN SECTION.
PARA-1.
OPEN INPUT MYINPFILE
READ MYINP-REC END-READ
OPEN OUTPUT MYFILE
perform 2 times
write MYFILE from myinp-rec
end-write
end-perform
CLOSE MYFILE
CLOSE MYINPFILE
ALLOCATE BVAR
MOVE ALL 'A' TO BVAR
CALL 'SUBMOD' USING PARM-1
BVAR
* This is a one-word-line with a dot afterwards,
* not a paragraph.
* DIVISIONs, SECTIONs, paragraphs, FD/SD and lvl 01/77 entries
* have to start in Area A --> columns 8 to 11)
PARM-2.
FREE ADDRESS OF BVAR
* This is simply a normal one-word-command with a dot afterwards,
* Not a paragraph:
continue.
PARA-2.
EXIT PROGRAM.
*>----------------------------------------------------------------
SOME SECTION.
move PARM-1 to PARM-2
* EXIT written uppercase - all fine in Code-Explorer
EXIT SECTION.
*>----------------------------------------------------------------
SOME2 SECTION.
if 1 = 1
CANCEL 'SUBMOD'
* Only if/end-if are shown as belonging together
* (both are highlighted if the cursor is in one of them).
* Can the "else" be highlighted there, too?
else
continue
end-if
*
evaluate true
* Only evaluate/end-evaluate are shown as belonging together
* (both are highlighted if the cursor is in one of them).
* Can all "when" be highlighted there, too?
when 1 = 1
continue
when 0 = 0
continue
end-evaluate
*
* exit written lowercase - shown as a new section
* in Code-Explorer
exit SECTION.
*>----------------------------------------------------------------
* It would be nice to have a list of all used copies in
* Code-Explorer like it is avaliable for includes in C-Syntax.
* Copies can occur EVERYWHERE in the source.
* They can have different ways of naming:
* Without anything (most compilers will look for PDCPY.CBL, then
* PDCPY.CPY, then PDCPY in this case)
COPY PDCPY.
* As literal with/without full name
COPY "PDCPY2.CPY".
COPY "C:\COBOL\CPY\PDCPY2.CPY".
* With IN clause:
COPY "PDCPY3.CPY" IN "C:\COBOL\CPY".
* With a lot of clauses:
COPY PDCPY4
IN CPYBIB
SUPPRESS PRINTING
REPLACING ==SOMETEXT== BY ==SOME OTHER TEXT==
LEADING ==AA-== BY ==PSPSAM==.
*>----------------------------------------------------------------
*>-- End of program PSPSAM ---------------------------------------
Thank you for having a look at this!
human
--
<http://forum.pspad.com/read.php?6,55798,55808>
PSPad freeware editor http://www.pspad.com