<commit_before>![leasot](media/leasot.png)

> Parse and output TODOs and FIXMEs from comments in your files

[![NPM Version](http://img.shields.io/npm/v/leasot.svg?style=flat)](https://npmjs.org/package/leasot)
[![NPM Downloads](http://img.shields.io/npm/dm/leasot.svg?style=flat)](https://npmjs.org/package/leasot)
[![Build Status](http://img.shields.io/travis/pgilad/leasot.svg?style=flat)](https://travis-ci.org/pgilad/leasot)

Easily extract, collect and report TODOs and FIXMEs in your code. This project uses regex in order
to extract your todos from comments.

![Basic output example of leasot](media/table.png)

## Comment format

`TODO: add some info`

- Spaces are optional.
- Colon is optional.
- Must be in a comment (line or block) in its' own line (`some code(); //TODO: do something` is not supported).
- Can be prefixed with a @ (i.e @TODO).
- Spaces are trimmed around comment text.
- Supported default types are `TODO` and `FIXME` - case insensitive.
- Additional types can be added (using `tags` in cli and `customTags` in `leasot.parse`)

## Supported languages:

| Filetype     | Extension            | Notes                              |
| ------------ | -------------------- | -----------------------------------|
| C#           | `.cs`                | Supports `// and /* */` comments.  |
| C++/C        | `.cpp` `.c` `.h`     | Supports `// and /* */` comments.  |
| CSS          | `.css`               | Supports `/* */` comments.         |
| Coffee-React | `.cjsx`              | Supports `#` comments.             |
| Coffeescript | `.coffee`            | Supports `#` comments.             |
| EJS          | `.ejs`               | Supports `<!-- -->` and `<%# %>`   |
| erb          | `.erb`               | Supports `<!-- -->`                |
| Erlang       | `.erl`               | Supports `%` comments.             |
| Go           | `.go`                | Supports `// and /* */` comments.  |
| Haml         | `.haml`              | Supports `/ -# <!-- --> and <%# %>`|
| HTML         | `.html` `.htm`       | Supports `<!-- -->`                |
| Handlebars   | `.hbs` `.handlebars` | Supports `{{! }}` and `{{!-- --}}` |
| Haskell      | `.hs`                | Supports `--`                      |
| Hogan        | `.hgn` `.hogan`      | Supports `{{! }}` and `{{!-- --}}` |
| Jade         | `.jade`              | Supports `//` and `//-` comments.  |
| Javascript   | `.js` `.es` `.es6`   | Supports `// and /* */` comments   |
| Jsx          | `.jsx`               | Supports `// and /* */` comments.  |
| Less         | `.less`              | Supports `// and /* */` comments.  |
| Mustache     | `.mustache`          | Supports `{{! }}` and `{{!-- --}}` |
| Pascal       | `.pas`               | Supports `// and { }` comments.    |
| PHP          | `.php`               | Supports `// and /* */` comments.  |
| Perl         | `.pl`, `.pm`         | Supports `#` comments.             |<commit_msg>Update Erlang supported files section<commit_after>![leasot](media/leasot.png)

> Parse and output TODOs and FIXMEs from comments in your files

[![NPM Version](http://img.shields.io/npm/v/leasot.svg?style=flat)](https://npmjs.org/package/leasot)
[![NPM Downloads](http://img.shields.io/npm/dm/leasot.svg?style=flat)](https://npmjs.org/package/leasot)
[![Build Status](http://img.shields.io/travis/pgilad/leasot.svg?style=flat)](https://travis-ci.org/pgilad/leasot)

Easily extract, collect and report TODOs and FIXMEs in your code. This project uses regex in order
to extract your todos from comments.

![Basic output example of leasot](media/table.png)

## Comment format

`TODO: add some info`

- Spaces are optional.
- Colon is optional.
- Must be in a comment (line or block) in its' own line (`some code(); //TODO: do something` is not supported).
- Can be prefixed with a @ (i.e @TODO).
- Spaces are trimmed around comment text.
- Supported default types are `TODO` and `FIXME` - case insensitive.
- Additional types can be added (using `tags` in cli and `customTags` in `leasot.parse`)

## Supported languages:

| Filetype     | Extension            | Notes                              |
| ------------ | -------------------- | -----------------------------------|
| C#           | `.cs`                | Supports `// and /* */` comments.  |
| C++/C        | `.cpp` `.c` `.h`     | Supports `// and /* */` comments.  |
| CSS          | `.css`               | Supports `/* */` comments.         |
| Coffee-React | `.cjsx`              | Supports `#` comments.             |
| Coffeescript | `.coffee`            | Supports `#` comments.             |
| EJS          | `.ejs`               | Supports `<!-- -->` and `<%# %>`   |
| erb          | `.erb`               | Supports `<!-- -->`                |
| Erlang       | `.erl` `.hrl`        | Supports `%` comments.             |
| Go           | `.go`                | Supports `// and /* */` comments.  |
| Haml         | `.haml`              | Supports `/ -# <!-- --> and <%# %>`|
| HTML         | `.html` `.htm`       | Supports `<!-- -->`                |
| Handlebars   | `.hbs` `.handlebars` | Supports `{{! }}` and `{{!-- --}}` |
| Haskell      | `.hs`                | Supports `--`                      |
| Hogan        | `.hgn` `.hogan`      | Supports `{{! }}` and `{{!-- --}}` |
| Jade         | `.jade`              | Supports `//` and `//-` comments.  |
| Javascript   | `.js` `.es` `.es6`   | Supports `// and /* */` comments   |
| Jsx          | `.jsx`               | Supports `// and /* */` comments.  |
| Less         | `.less`              | Supports `// and /* */` comments.  |
| Mustache     | `.mustache`          | Supports `{{! }}` and `{{!-- --}}` |
| Pascal       | `.pas`               | Supports `// and { }` comments.    |
| PHP          | `.php`               | Supports `// and /* */` comments.  |
| Perl         | `.pl`, `.pm`         | Supports `#` comments.             |
{'fraction_non_alphanumeric': 0.211336717428088, 'fraction_numerical': 0.00033840947546531303, 'mean_word_length': 1.4836134453781513, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 17, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1903203', 'n_tokens_mistral': 1963, 'n_tokens_neox': 1903, 'n_words': 445}