Brian Picciano
a596306d9e
mcfg: made SourceCLI and SourceEnv be pointers
2019-04-04 10:57:37 -04:00
Brian Picciano
4536db8968
merr: refactor Wrap/WrapSkip/New to take multiple contexts rather than annotations
2019-02-27 13:05:51 -05:00
Brian Picciano
e1e52db208
refactor everything to use context's annotation system, making some significant changes to annotations themselves along the way
2019-02-24 15:36:07 -05:00
Brian Picciano
4b446a0efc
mctx: refactor so that contexts no longer carry mutable data
...
This change required refactoring nearly every package in this project,
but it does a lot to simplify mctx and make other code using it easier
to think about.
Other code, such as mlog and mcfg, had to be slightly modified for this
change to work as well.
2019-02-07 19:42:12 -05:00
Brian Picciano
8e2cffd65b
mcfg: make ParamValue not embed Param, so that a Source which is []ParamValue makes sense, and can replace SourceMap
2019-01-25 17:33:36 -05:00
Brian Picciano
05a69589bc
mcfg: use merr for returned errors, and make help output prioritize required params towards the top
2019-01-24 22:02:04 -05:00
Brian Picciano
6e8338a5f8
mcfg: refactor to remove Child and Hook stuff, and use mctx instead
2019-01-08 14:21:55 -05:00
Brian Picciano
132c51eaf0
mcfg: move Path out of ParamValue and into Param, which allows for shuffling around a whole bunch of code to make things make a bit more sense
2018-08-13 21:02:06 -04:00
Brian Picciano
3de30eb819
mcfg: centralize logic for fuzzy parsing strings, use it to implement SourceMap
2018-08-13 20:44:03 -04:00
Brian Picciano
2e9790451f
mcfg: implement SourceEnv, and move a bunch of code it shares with SourceCLI to source(_test).go
2018-08-13 19:40:41 -04:00