leasot
Parse and output TODOs and FIXMEs from comments in your files
Easily extract, collect and report TODOs and FIXMEs in your code. This project uses regex in order
to extract your todos from comments.
TODO: add some info
- Spaces are optional
- Colon is optional
- Must be in a comment (line or block) in its' own line (
some code(); //TOOD: do something
is not supported) - Spaces are trimmed from comment text
- Supported types are
TODO
and FIXME
- case insensitive
Supported languages:
Filetype | Extension | Notes |
---|
Coffeescript | .coffee | using regex. Supports # comments. |
Handlebars | .hbs | using regex. Supports {{! }} and {{!-- --}} |
Jade | .jade | using regex. |
Javascript | .js | using regex. Supports // and /* */ comments |
Sass | .sass .scss | using regex. Supports // and /* */ comments. |
Stylus | .styl | using regex. Supports // and /* */ comments. |
Typescript | .ts | using regex. Supports // and /* */ comments. |
Javascript is the default parser.
PRs for additional filetypes is most welcomed!!
Usage
Command Line
Installation
$ npm install --global leasot
Examples
❯ leasot --help
Usage: leasot [options] [file]
Options:
-h, --help output usage information
-V, --version output the version number
-t, --filetype [filetype] Force filetype to parse. Useful for handling files in streams [.js]
-r, --reporter [reporter] Which reporter to use (table|json|xml|markdown|raw) [table]
Examples:
$ leasot index.js
$ leasot --reporter json index.js
$ cat index.js | leasot
$ cat index.coffee | leasot --filetype .coffee
Programmatic
Installation
$ npm install --save-dev leasot
Examples
var fs = require('fs');
var leasot = require('leasot');
var contents = fs.readFileSync('./contents.js', 'utf8');
var filetype = path.extname('./contents.js');
var file = 'contents.js';
var todos = leasot.parse(filetype, contents, file);
var output = leasot.reporter(todos, {
reporter: 'json',
spacing: 2
});
console.log(output);
Build Time
Built-in Reporters
Each reporter might contain config params that are useful only for that reporter:
JSON
Return a JSON valid representation of the todos.
Options
spacing
Type: Number
Default: 2
API
License
MIT ©Gilad Peleg