because touch lacks meaning
Poke is a bash command, much like
touch but with some brains to it. It is used
to create a template for the programming language of your file.
To install poke, clone the repository and install with the
git clone https://github.com/GleasonK/poke.git cd poke/ make install
If you just want to see poke in action, clone the repository and call the poke command:
git clone https://github.com/GleasonK/poke.git cd poke/ ./poke Test.java
poke [-lang|--flag] filename
The most basic usage is creating a new file, simply include the extension and if there is a template, poke will use it.
Flags can be used to edit templates, or specify which template to use regardless of file extension. Available flags include:
|-h|--help||The full filename with extension|
|--edit [lang]||The filename without extension|
|--global [key] [val]||Save a global poke value (more below)|
|-j|--java||Creates file with Java template|
|-c||Creates file with C template|
|-cpp|--c++||Creates file with C++ template|
|-cs|--c#||Creates file with C# template|
|-f|--f#||Creates file with F# template|
|-g|--go||Creates file with Go template|
poke --global AUTHOR "Your Name"
Saves the author to a global config file. Now all $AUTHOR template variables will be filled in with AUTHOR value.
Currently the following langauges have templates:
Some of these languages I do not use often, so templates are based off internet searches, feel free to enhance them and submit a pull request!
Please do contribute to this repository, I only use so many languages so the templates I provide are probably not the best. However, creating or modifying templates is easy!
The poke script checks the file extension (Ex: Kevin__.java__) and looks for a
matching file poke__.java__ in the
/tmpl folder. When making templates, you
have access to a few variables:
|$FILE||The full filename with extension|
|$FNAME||The filename without extension|
|$DATE||Date that the file was created|
|$DIR||The files current directory|
See poke.java for a good example of template creation.
Let me know if you have any suggestions for the future of this script!