ndmitchell/shake — pull request #160 by kaoskorobase (2014-08-07 17:32:03+00:00)
Title: Allow Ninja expressions in include/subninja statements

This is an implementation for feature request #157. `include`/`subninja` now allow to use a Ninja expression, i.e. you can escape new lines or substitute variables. Here's an example:

Given configuration files `test.cfg`

~~~~
include $
${PLATFORM}.cfg
~~~~

and `osx.cfg`

~~~~
COMPILER = clang++
~~~~

The following code produces

~~~~
Prelude Development.Shake> Development.Shake.Config.readConfigFileWithEnv [("PLATFORM","osx")] "test.cfg"
fromList [("PLATFORM","osx"),("COMPILER","clang++")]
~~~~

If you are happy with how the patch works, I'll add a test case, too (first need to get the test suite running).