TODOs - search TODO, FIXME and similar comments in project files
todos.sh [OPTIONS] DIRECTORY [DIRECTORY...]
TODOs is a small command-line utility to search TODO, FIXME and similar
comments in project files. It is written in Python 3 and licensed under the
terms of GNU GPL 3 license. Supported output formats are TXT, HTML and XML.
DIRECTORY the input directory to search in (default:
['.'])
-h, --help show this help message and exit
-V, --version show version and exit
-v, --verbose increase output verbosity (default: False)
-c COMMENT [COMMENT ...], --comment COMMENT [COMMENT ...]
the comment characters (default: ['#',
'//', '/*', '<!--'])
-e PATTERN [PATTERN ...], --regexp PATTERN [PATTERN ...]
pattern to search; see Python re module for
proper syntax (default: ['\\bTODO\\b',
'\\bFIXME\\b'])
-A NUM, --after-context NUM
number of lines that are sent to the output
together with the matching line (default:
1)
-t EXT [EXT ...], --file-ext EXT [EXT ...]
check only files with the specified
extension (default: None)
-D DIR [DIR ...], --suppressed DIR [DIR ...]
suppress the specified directory; directory
name or path (default: ['.git', '.svn',
'CVS'])
-n ENCODING, --encoding ENCODING
the files encoding (default: utf-8)
-i, --ignore-case ignore case distinctions (default: False)
-o TXT, --out-txt TXT
output text file; standard output will be
used if no output file is specified
(default: None)
-x XML, --out-xml XML
output XML file (default: None)
-m HTML, --out-html HTML
output HTML file (default: None)
-f, --force override existing output files (default:
False)
Show help and exit.
todos.sh -h
Search default comments with default settings in a current directory and display the results on standard output.
todos.sh
Search default comments with verbose/debug output, rewrite any output file if it exists, skip .git and build directories and put the results to three files in TXT, XML and HTML formats.
todos.sh -v -f -D .git build -o todos.txt -x todos.xml -m todos.html
Search TODO, FIXME, OPEN and @2-3 letters@ in all files under src directory, ignore case, append additional lines that follows the line with the occurrence and generate a HTML report.
todos.sh -f -e '\\bTODO\\b' '\\bFIXME\\b' '\\bOPEN\\b' '@[a-zA-Z]{2,3}@' \
-i -A 5 -m todos.html src
No bugs are known at the moment.
See the TODOs website at http://todos.sourceforge.net/.
Written by Michal Turek.
Copyright (C) 2013 Michal Turek. This file is part of TODOs.
TODOs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.
TODOs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with TODOs. If not, see http://www.gnu.org/licenses/.