1 /// The configuration file of DIL.
2 ///
3 /// The file is searched for in the following order:
4 /// $(OL
5 ///   $(LI The file path set in the environment variable DILCONF.)
6 ///   $(LI The current working directory.)
7 ///   $(LI The directory set in the environment variable HOME.)
8 ///   $(LI The executable's directory.)
9 ///   $(LI The /etc directory on Linux.)
10 /// )
11 /// The program will fail with an error msg if this file couldn't be found.$(BR)
12 ///
13 /// Any environment variable used inside a string is expanded to its value.
14 /// The variables BINDIR and DATADIR are set by DIL. Examples:
15 /// $(UL
16 ///   $(LI ${HOME} -> the home directory (e.g. "/home/name" or "C:\Documents and Settings\name").)
17 ///   $(LI ${BINDIR} -> the absolute path to the executable's directory (e.g. "/home/name/dil/bin" or "C:\dil\bin").)
18 ///   $(LI ${DATADIR} -> the data directory of DIL (e.g. "/home/name/dil/data" or "C:\dil\data").)
19 /// )
20 ///
21 /// Relative paths are resolved and made absolute using the current working directory.
22 module dilconf;
23 
24 /// Files needed by DIL are located in this directory.
25 var DATADIR = "${BINDIR}/../../data";
26 
27 /// Predefined version identifiers.
28 var VERSION_IDS = [];
29 
30 /// An array of import paths to look for modules.
31 var IMPORT_PATHS = []; /// E.g.: ["src/", "import/"]
32 
33 /// DDoc macro file paths.
34 ///
35 /// Macro definitions in ddoc_files[n] override the ones in ddoc_files[n-1].$(BR)
36 ///
37 /// E.g.: ["src/mymacros.ddoc", "othermacros.ddoc"]
38 var DDOC_FILES = ["${DATADIR}/predefined.ddoc"];
39 
40 /// Path to the language file.
41 var LANG_FILE = "${DATADIR}/lang_en.d";
42 /// Path to the xml map.
43 var XML_MAP = "${DATADIR}/xml_map.d";
44 /// Path to the html map.
45 var HTML_MAP = "${DATADIR}/html_map.d";
46 
47 /// Path to the files of kandil.
48 var KANDILDIR = "${DATADIR}/../kandil";
49 
50 /// Customizable formats for error messages.
51 ///
52 /// $(UL
53 ///   $(LI 0: file path to the source text.)
54 ///   $(LI 1: line number.)
55 ///   $(LI 2: column number.)
56 ///   $(LI 3: error message.)
57 /// )
58 var LEXER_ERROR = "{0}({1},{2})L: {3}";
59 var PARSER_ERROR = "{0}({1},{2})P: {3}"; /// ditto
60 var SEMANTIC_ERROR = "{0}({1},{2})S: {3}"; /// ditto
61 
62 /// The width of the tabulator character set in your editor.
63 ///
64 /// Important for calculating correct column numbers for compiler messages.
65 var TAB_WIDTH = 4;