# About Scripting Configurations

Scripting configurations are used to provide code highlighting and code completion in the Script Editor.
Scripting configurations are loaded from *.cfg files placed in the "Scripting" directory.

## Script compiler settings:

compiler (string)
The name of the script compiler to use.
parameters (string)
Command line paramterets to pass to the script compiler. Following wildcards are supported:

- "%FI" - input file path.
- "%FO" - output file path.
- "%FS" - source file.
- "%PT" - temporary directory path.
- "%PS" - source path.

resultlump (string)
The name of the lump compilation result should be stored in.

## Script Editor settings:

description (string)
Script type name shown in the Script Editor's "New File" drop-down.
codepage (integer)
The code page Scintilla Control will use.
extensions (string)
Comma-separated list of file extensions associated with this configuration.
casesensitive (boolean)
Is the script type case sensitive? Default value is true.
insertcase (int)
0 - Normal, 1 - Lowercase, 2 - Uppercase. Defaullt value is 0.
lexer (integer)
Specifies a lexer type Scintilla Control will use.
Possible values are: 1 - Plain text; 3 - CPP-style, case-sensitive; 6 - Perl-style; 18 - Pascal-style; 35 - CPP-style, case-insensitive.
functionopen (string)
A character used as a function's opening brace.
functionclose (string)
A character used as a function's closing brace.
argumentdelimiter (string)
A character used as a function arguments delimiter.
terminator (string)
A character used as an expression terminator.
keywordhelp (string) - GZDB only.
An URL used to display keyword help. "%K" placeholder will be replaced with the word text cursor is position in when calling keyword help (F1).
snippetsdir (string) - GZDB only.
Directory name inside of the "Snippets" directory, which holds snippets for current script configuration.
scripttype (string) - GZDB only.
Marks current script configuration as one of script types, recognized by GZDB. Possible values are "UNKNOWN" (default), "ACS", "MODELDEF", "DECORATE", "GLDEFS", "SNDSEQ", "MAPINFO", "VOXELDEF", "TEXTURES", "ANIMDEFS", "REVERBS", "TERRAIN", "X11R6RGB", "CVARINFO", "SNDINFO", "LOCKDEFS", "MENUDEF", "SBARINFO" and "USDF".

## "keywords" block:

Defines a list of keywords to highlight and show code completion for. Each keyword is defined as

    Keyword = "Keyword description";

"Keyword" is a word used in a script, "Keyword description" provides additional information about a keyword, like function arguments or hints about what function or it's parameters do.

Example:

    keywords
    {
    	CanRaiseActor = "bool CanRaiseActor(int tid)\nChecks to see if the actor or actors with the specified tid are viable for resurrection.\nIf tid is 0, the check is done on the activator of the script.";
    }

## "constants" block:

Defines a list of constants to highlight and show code completion for.

Example:

    constants
    {
    	AAPTR_DEFAULT;
    	AAPTR_FRIENDPLAYER;
    	AAPTR_GET_LINETARGET;
    	AAPTR_MASTER;
    	AAPTR_NULL;
    }