Made with <3 by Amazing Cow.
cowtodo
- Search and display tags in source files
cowtodo
helps to extract from source code, all the cow tags and
print them in a very organized way.
It will scan recursively all directories from the start path that aren't
in the exclude paths searching for files with recognizable extensions.
If such file is found cowtodo
will seek for tags on the file collecting
information about the tag like the filename, the description and line number.
Currently cowtodo
is collect the information about the following tags:
- COWTODO
- COWFIX
- COWHACK
- COWNOTE
So a piece of C++ code that contains those tags could be:
void SomeClass::AmazingMethod(int what)
{
//COWTODO: We must mark this method as deprecated...
moreAmazingMethod(what);
}
The comments containing cow tags can be multi line if them ends with the \
(backslash) char.
For example:
def some_function():
#COWNOTE: We're deliberated ignoring that some stuff can happen \
# while this is ok for this, and that situation \
# this function could be much more robust by treating \
# this and that according with the original intent \
#Some python code...
return;
cowtodo
try hard to understand the myriad of types of comments in various
languages that it supports.
- C -
.h
,.c
- C++ -
.cpp
,.cc
- HTML -
.html
,.htm
- Javascript -
.js
,.jsx
- Markdown -
.md
- ObjC -
.m
,.mm
- PHP -
.php
- Python -
.py
- Shell Script -
.sh
As usual, you are very welcomed to share and hack it.
Usage:
cowtodo [-hv] [-sl] [-e <path>] <search_path>
cowtodo [--list-exclude-dir]
cowtodo [--add-exclude-dir|remove-exclude-dir] <path>
Options:
*-h --help : Show this screen.
*-v --version : Show app version and copyright.
-s --short : Output the short listing.
-l --long : Output the long listing. (Default)
-V --verbose : Verbose mode, helps to see what it's doing.
--no-colors : Make the output uncolored.
-e --exclude <path> : Exclude the path from scan.
*--list-exclude-dir : List all exclude path in (RC_PATH).
--add-exclude-dir <path> : Add exclude path to (RC_PATH).
--remove-exclude-dir <path> : Remove exclude path from (RC_PATH).
Notes:
If <search_path> is blank the current dir is assumed.
Multiple --exclude <path> can be used.
Multiple --add-exclude-dir <path> can be used.
Multiple --remove-exclude-dir <path> can be used.
Options marked with * are exclusive, i.e. the cowtodo will run that
and exit successfully after the operation.
Use the Makefile.
make install
Or to uninstall
make uninstall
This project uses / depends on:
- Amazing Cow's cowtermcolor package to coloring the terminal.
~/.cowtodorc
- Directory containingcowtodo
info.~/.cowgoshrc/cowtodorc.txt
-cowtodo
exclude path list.
cowtodo
do not create any environments vars.
This software is released under GPLv3.
Check the TODO file for general things.
This projects uses the COWTODO tags.
So install cowtodo and run:
$ cd path/for/the/project
$ cowtodo
That's gonna give you all things to do :D.
We strive to make all our code the most bug-free as possible - But we know that few of them can pass without we notice ;).
Please if you find any bug report to bugs_opensource@amazingcow.com with the name of this project and/or create an issue here in Github.
- AUTHORS.txt
- CHANGELOG.txt
- COPYING.txt
- cowtodo.py
- Makefile
- README.md
- TODO.txt
Check our repos and take a look at our open source site.