This directive specifies the action or sequence of directives to execute when the file is exited with the G or GO command. The sequence starts with the first directive following the equals sign, and continues until the $ is encountered. The special character % may be used to refer to the name of the file being edited (without any extension) while the @ character refers to the file’s extension.
Under the standalone implementation of VUE, the GO directive must be limited to a single line (e.g. GO=compil %$).
In order to define different GO commands for different file types, you can specify a DO file in the GO directive and then use IF statements to separate out the file types and associated commands. For example, you might set GO=COMX % @ and then create a COMX.DO something like...
;COMX.DO
;Usage COMX file ext (file=$0, ext=%1)
IF UCS("$1") = "BAS" ; for extension .BAS
COMPIL $0 ; use simple compil
EXIT
ENDIF
IF USC("$1") = "BP" ; for extension .BP
COMPIL $0/X:2/M/PX ; add advanced switches
EXIT
ENDIF
IF UCS("$1") = "CSV" ; for extension .CSV
CSV2XL $0 ; convert to XLSX
ENDIF
Note that the file extension ($1) may be lower case, hence the use of the UCS() function to make the IF tests effectively case-insensitive. (You could also use an OR clause to associate multiple extensions with the same command.)
Example
This example consists of four consecutive lines in INI.VUE, shown below with explanations.
Line in INI.VUE |
Effect |
|---|---|
GO = COMPIL %/M/X:2/LF/PX |
COMPIL the file using COMPIL switches M, X:2, LF and PX ("COMPIL TEST1/M/X:2/LF/PX") |
VERSYS %.RUN |
Display version information for the new file TEST1.RUN |
COPY RUNS:=%.RUN |
Copy TEST1.RUN to the RUNS: ersatz directory |
$ |
Done with GO directive sequence |
See Also