|0.4.0||Feb 24, 2023|
|0.3.4||Oct 18, 2022|
|0.3.2||Jun 7, 2021|
|0.2.2||Jun 7, 2021|
|0.1.1||Nov 3, 2020|
#1032 in Command line utilities
80 downloads per month
An intelligent touch!
cmps is short for
compose, an extendable cross-platform CLI tool to create or fill files with a default content.
cmps [OPTIONS] [FILENAME] [EXTENSION] Arguments: [FILENAME] The filename to compose, may point to a non-existing file, or an empty existing file [EXTENSION] The extension to use, overrides the extension in the filename (if any) Options: --show <extension> Show the template for this extension and the path to the source file --stdout Write the template for this file to stdout. Does not create or modify the file. Useful for integrating with editors like (Neo-)vim. -f, --force Overwrite existing files. This will clear the file contents if no template is found -v, --verbose... Sets the level of verbosity (provide multiple times for higher levels) -h, --help Print help information (use `-h` for a summary) -V, --version Print version information
Custom templates can be placed in your config directory (see https://docs.rs/dirs/latest/dirs/fn.config_dir.html for platform specific details) under
cmps/templates. The name of the template file must match the file extension to be modified.
E.g. creating a file
cmps/templates/py with the contents
#!/usr/bin/env python3 # Author: John Doe
will insert the shebang and the author name when creating python files with compose.
Local (per-project) configuration
If you want to use different templates for a specific project, you can create a
.cmps directory to add additional templates or overwrite existing ones.
A good use-case for this is if you want to automatically insert a specific license in one of your projects, but not everywhere.
Like in the
config directory, templates must be placed under a
templates subfolder in this
/my/important/project/.cmps/templates/py would overwrite the template used for python files in the
/my/important/project/ directory and its subdirectories.