• Martin Atkins's avatar
    workdir: Start of a new package for working directory state management · 65e0c448
    Martin Atkins authored
    Thus far our various interactions with the bits of state we keep
    associated with a working directory have all been implemented directly
    inside the "command" package -- often in the huge command.Meta type -- and
    not managed collectively via a single component.
    
    There's too many little codepaths reading and writing from the working
    directory and data directory to refactor it all in one step, but this is
    an attempt at a first step towards a future where everything that reads
    and writes from the current working directory would do so via an object
    that encapsulates the implementation details and offers a high-level API
    to read and write all of these session-persistent settings.
    
    The design here continues our gradual path towards using a dependency
    injection style where "package main" is solely responsible for directly
    interacting with the OS command line, the OS environment, the OS working
    directory, the stdio streams, and the CLI configura...
    65e0c448