Commit graph

4 commits

Author SHA1 Message Date
1849baa588 Add basic autocomplete support
ca-store now takes a --completion argument to output completions
to standard output. These are to be used for completion scripts,
in future commits.

Before the 1.0.0 release we need to either:
1) Work out how to get bash et al to accept these completions
   without mangling them
2) Get optparse-applicative to handle the command parsing entirely
   and forgo the Moore machine approach
2025-09-22 13:43:57 +01:00
68bba7c653 Move all output to a sum type
All errors, warnings, and messages are now listed in a sum type
in 'CAStore.Type.Text'. The added structure should help with
writing better error messages. Also, if and when we get to
localising ca-store, implementation will be trivial.
2025-09-18 16:12:46 +01:00
9d2d5b5522 Put program into a runnable state, and break the cycle that was discovered 2025-09-18 12:11:39 +01:00
c504f85a2d Rough structure of the program
ca-store is planned to work as follows:
1) A monad (currently IO) will generate the configuration, read the command
   line, parse the config files, and create the environment the program
   should run in.
2) This environment will be passed to the main monad (currently Program)
   to do the work.

Currently everything will be directly coded with little to no abstraction.
Once ca-store is up and running, we will begin regaining purity by pulling
major features into small testable units.
2025-09-12 16:16:51 +01:00