@@ -5,12 +5,13 @@ relates to [Nickel](https://nickel-lang.org/), a configuration language
5
5
created by Tweag. There are up to four sources where Topiary checks for
6
6
such a file.
7
7
8
- ## Configuration Sources
8
+ ## Configuration sources
9
9
10
- At build time the [ ` languages.ncl ` ] ( ./languages.ncl ) in the root of the
11
- Topiary repository is embedded into Topiary. This file is parsed at
12
- runtime. The purpose of this ` languages.ncl ` file is to provide sane
13
- defaults for users of Topiary (both the library and the CLI binary).
10
+ At build time the [ ` languages.ncl ` ] ( https://github.com/tweag/topiary/blob/main/topiary-config/languages.ncl )
11
+ in the root of the Topiary repository is embedded into Topiary. This
12
+ file is parsed at runtime. The purpose of this ` languages.ncl ` file is
13
+ to provide sane defaults for users of Topiary (both the library and the
14
+ CLI binary).
14
15
15
16
The next two are read by the Topiary binary at runtime and allow the
16
17
user to configure Topiary to their needs. The first is intended to be
@@ -20,8 +21,8 @@ the OS:
20
21
| OS | Typical Configuration Path |
21
22
| :------ | :--------------------------------------------------------------- |
22
23
| Unix | ` /home/alice/.config/topiary/languages.ncl ` |
23
- | Windows | ` C:\Users\Alice\AppData\Roaming\Topiary\config\languages.ncl ` |
24
24
| macOS | ` /Users/Alice/Library/Application Support/Topiary/languages.ncl ` |
25
+ | Windows | ` C:\Users\Alice\AppData\Roaming\Topiary\config\languages.ncl ` |
25
26
26
27
This file is not automatically created by Topiary.
27
28
@@ -45,13 +46,10 @@ following order (highest to lowest):
45
46
46
47
### Configuration merging
47
48
48
- <!-- TODO: See issue #861 -->
49
-
50
49
By default, Topiary only considers the configuration file with the
51
- [ highest priority] ( ../configuration.md ) . However, if
52
- the ` -M ` or ` --merge-configuration ` option is provided to the CLI, then
53
- all available configurations are merged together, as per the [ Nickel
54
- specification] ( https://nickel-lang.org/user-manual/merging ) .
50
+ highest priority. However, if the ` -M ` /` --merge-configuration ` option is
51
+ provided to the CLI, then all available configurations are merged
52
+ together, as per the [ Nickel specification] ( https://nickel-lang.org/user-manual/merging ) .
55
53
56
54
In which case, if one of the sources listed above attempts to define a
57
55
language configuration already present in the built-in configuration, or
@@ -89,6 +87,14 @@ To override only the indentation, use the following Nickel file:
89
87
}
90
88
```
91
89
90
+ <div class =" warning " >
91
+
92
+ The merging semantics for Topiary's grammar configuration (see
93
+ [ below] ( #specifying-the-grammar ) ) is not yet fully defined; see issue
94
+ [ #861 ] ( https://github.com/tweag/topiary/issues/861 ) .
95
+
96
+ </div >
97
+
92
98
## Configuration options
93
99
94
100
The configuration file contains a record of languages. That is, it
0 commit comments