* feat: specify init filename with --taskfile flag
previously, it was not possible to specify which filename to use when initializing a new Taskfile as it was hardcoded as "Taskfile.yml".
now the --taskfile flag specifies where to write the file to, and the first * contained in it will be replaced by "Taskfile", so `task -it *.yaml` will create a `Taskfile.yaml` file.
* docs: update CLI reference
* fix Flags header being inside tip admonition
* change -t flag's default column and add a description
* add Default Filenames section
* docs: revert adding Default Filenames section
I didn't realize it already existed elsewhere.
* refactor: use path instead of filepath on InitTaskFile
as requested to prevent ambiguity with the stdlib package.
* fix TestInit (incorrectly merged)
* docs: remove outdated info on --taskfile flag
* refactor task initialization changes
- remove const DefaultTaskInitFilename from taskfile/taskfile.go
- revert description of Entrypoint flag
- make InitTaskfile accept a path to either a file or a directory, and join the default Taskfile name+ext to it if it is a directory
- take the target file path from the first argument instead of the Entrypoint flag
- detect extension-only filenames (".yaml") instead of replacing "*" with "Taskfile"
- use different format in success log so that it makes sense at different paths than the current dir
* print colon instead of "at"
it's a lot cleaner in most cases.
* rewrite init tests
test both initializing to a directory path and a file path
* return final path from InitTaskfile
...and print it's relative representation
* fix lint error (ineffassign)
* use filepathext.TryAbsToRel() instead
* define and use filepathext.IsExtOnly()
* link to default filenames list in cli ref docs
(specifically in the --taskfile flag description)
* change what is printed when creating Taskfile
When using --init to create a new Taskfile, it used to print the whole contents of the file to the terminal, which was unnecessarily verbose (and honestly felt unintentional).
Now only the filename is printed by default and the --silent and --verbose flags can be used to control the behavior (print nothing or content + filename, respectively).
* include additional new line with -i -v
it looks slightly better in the terminal.
* print init success text in green
* fix TestInit, create and pass in a logger
* move logging outside of InitTaskfile
- revert API changes made to InitTaskfile
- make consts in init.go public so they can be accessed from task.go
- rename variable "logger" to "log" in task.go to fix conflict with logger package
* move TestInit into init_test.go file
as requested by pd93.