This commit allows *custom* C++ plugins to be linted/formatted in the
same way as their repo counterparts (using the same repo rulesets).
Previously, when runing the linter, only *repo* C++ plugins would be
formatted. Since custom plugin formatting for both Bash and PHP are
already in place, this simply extends the feature to C++.
Per current default install instructions; as this is appended to either
the per-interactive-shell startup file or aliases file, if Docker is not
installed or is not found, without this fix, the end-user will either be
effectively locked out of their session (after logging out) or they will
not be able to start a new shell within their current session...
- Re-enables space after completion for plugin arguments
- Ignores internal/implementation files when completing
* Files must be within an 'internal'/'impl' directory
Adds filter to remove noisy license clutter in custom Dockerfile output.
This is needed because of the amount of `edit` used on the file.
The license still applies, regardless.
Adds filters to remove noisy license clutter in configuration output.
This is needed because of the amount of `edit` used on configurations.
The license still applies, regardless.
- Creates a reusable editor function
- Skipping confirmations will also skip opening up the editor
* Allows for complete generation without intentional interruption
- Rewrite to support new arguments
* Related design changes and refactoring
* Remove prompt for testing (use `dev=on` instead)
- Factor out superscript gen from subscript append
- Related print formatting changes
- Add more internal checks
- Allows for a dynamic `gen` experience
* All configs/accounts can now be (re)generated on-the-fly
- Individually, by section, or all at once
* Adds prompt confirmation option
* Adds developer profile option
This commit brings a complete overhaul of the build system:
- Creates a separation of concerns for 'local' and 'remote' building
* 'local' is built locally via the docker-finance `build` command
* 'remote' is built *outside* of the docker-finance `build` command
(pushed to a remote registry and then pulled by the 'local' build)
* Related refactoring
- Dockerfiles
- `lib_gen`
- Adds remote image 'hledger-suite'
* Provides the latest versions of all `hledger` related binaries
* No longer relies on package maintainers / out-dated packages
- Adds remote image 'docker-finance'
* Provides base image for 'finance' and 'dev-tools' images
- tags 'archlinux' | 'ubuntu' | 'dev-tools'
- Removes previous `hledger` related build modules
* Removes building any `hledger` related binaries locally
- Removes 'experimental' build
* End-user can use local custom Dockerfile and/or custom tag instead
- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
* Refactors build type requirements into separate build modules
- Adds 'fetch' module
- Adds 'track' module
- Adds 'user' module
* creates container user *after* base and all other modules
* allows for quick re-building across multiple local users
- Updates 'root' module
* `lib_docker`
- Updates usage help
- Adds build modules per build type
- Huge optimizations
* Vastly improves build times
- ~60% faster w/ a fresh build
- ~60%-90% faster rebuild (depending on image type)
* Vastly improves image sizes
- e.g., 'default' Arch Linux image size is ~50% smaller