# todocom (Todo Comments)
CLI program that retrieves all TODO comments from file(s) and prints them in terminal/shell. It was created in order to automatically update a list of TODO tasks by simply adding "TODO:" comments in the code ([Comments Format](#comments-format)). It also enables prioritization of tasks by using "TODO soon:" or "TODO urgent".
To create the TODO list, simply open terminal and run the following command:
```
todo [folder/file]
```
![gen_todo](https://user-images.githubusercontent.com/73610201/211216011-27e057b0-0420-4d90-8950-999f75583566.gif)
This command will print out all TODO comments that were found in the code, sorted by their prioritization: urgent, soon and regular.
_Urgent_ tasks will be printed in RED, _soon_ in CYAN and _regular_ comments in WHITE to make it easier to read. There is also an option to filter comments by their priotization:
```
# Prints urgent TODOs
todo -u [folder/file]
```
![urgent_todo](https://user-images.githubusercontent.com/73610201/211216002-c00860d3-7a61-425f-8cb2-939de85c01ec.gif)
Or:
```
# Prints soon TODOs
todo -s [folder/file]
```
![soon_todo](https://user-images.githubusercontent.com/73610201/211216007-f4eabb81-76d0-42c5-9334-0f13857e809b.gif)
Comments can also be assigned to a user by adding "Todo @username" comment:
```
# Prints soon TODOs
todo -a [USERNAME] [folder/file]
```
![assigned_todo](https://user-images.githubusercontent.com/73610201/211216263-ca453589-e490-49b3-a839-65315366f34f.gif)
Finally, there is an option to save the list in a text file (stores as regular text without colors):
```
# Store results in a txt file![dummy](https://user-images.githubusercontent.com/73610201/211216021-a4859641-69a6-4e94-8f8c-2c0cafd0a455.png)
todo -o [path/to/sample.txt] [folder/file]
```
## Setup
```
pip install todocom
```
## Comments Format
There are two types of comments: single line and multi-line. Currently, multi-line comments (docstrings) are only supported in Python, but single line should work for most programming languages.
Format is flexible and can be lower-case, upper-case or a combination of both. Below are several examples:
```
1. TODO:
2. TODo:
3. TOD0:
4. ToD0:
5. To-D0:
6. to-do:
```
In _Urgent_ and _soon_ comments the TODO part is flexible as shown above, but must be followed by either _urgent_ or _soon_ in lower-case:
```
1. TO-DO soon:
2. tODo soon:
3. ToD0 urgent:
4. T0-D0 urgent:
```
Raw data
{
"_id": null,
"home_page": "https://github.com/avivfaraj/todocom",
"name": "todocom",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "todo,todo-list,todo-comments,cli",
"author": "avivfaraj",
"author_email": "avivfaraj4@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/db/34/3e4eea9df06bec578c17e8b979135738686aaaed6122d83f66bcfae0682a/todocom-0.2.9.tar.gz",
"platform": null,
"description": "# todocom (Todo Comments)\nCLI program that retrieves all TODO comments from file(s) and prints them in terminal/shell. It was created in order to automatically update a list of TODO tasks by simply adding \"TODO:\" comments in the code ([Comments Format](#comments-format)). It also enables prioritization of tasks by using \"TODO soon:\" or \"TODO urgent\". \nTo create the TODO list, simply open terminal and run the following command:\n```\ntodo [folder/file]\n```\n![gen_todo](https://user-images.githubusercontent.com/73610201/211216011-27e057b0-0420-4d90-8950-999f75583566.gif)\n\nThis command will print out all TODO comments that were found in the code, sorted by their prioritization: urgent, soon and regular. \n_Urgent_ tasks will be printed in RED, _soon_ in CYAN and _regular_ comments in WHITE to make it easier to read. There is also an option to filter comments by their priotization:\n```\n# Prints urgent TODOs\ntodo -u [folder/file]\n```\n![urgent_todo](https://user-images.githubusercontent.com/73610201/211216002-c00860d3-7a61-425f-8cb2-939de85c01ec.gif)\n\nOr:\n```\n# Prints soon TODOs\ntodo -s [folder/file]\n```\n![soon_todo](https://user-images.githubusercontent.com/73610201/211216007-f4eabb81-76d0-42c5-9334-0f13857e809b.gif)\n\nComments can also be assigned to a user by adding \"Todo @username\" comment:\n```\n# Prints soon TODOs\ntodo -a [USERNAME] [folder/file]\n```\n\n![assigned_todo](https://user-images.githubusercontent.com/73610201/211216263-ca453589-e490-49b3-a839-65315366f34f.gif)\n\nFinally, there is an option to save the list in a text file (stores as regular text without colors):\n```\n# Store results in a txt file![dummy](https://user-images.githubusercontent.com/73610201/211216021-a4859641-69a6-4e94-8f8c-2c0cafd0a455.png)\n\ntodo -o [path/to/sample.txt] [folder/file]\n```\n\n## Setup\n```\npip install todocom\n```\n\n## Comments Format\nThere are two types of comments: single line and multi-line. Currently, multi-line comments (docstrings) are only supported in Python, but single line should work for most programming languages.\n\nFormat is flexible and can be lower-case, upper-case or a combination of both. Below are several examples:\n```\n1. TODO:\n2. TODo:\n3. TOD0:\n4. ToD0:\n5. To-D0:\n6. to-do:\n```\n\nIn _Urgent_ and _soon_ comments the TODO part is flexible as shown above, but must be followed by either _urgent_ or _soon_ in lower-case:\n ```\n1. TO-DO soon:\n2. tODo soon: \n3. ToD0 urgent:\n4. T0-D0 urgent:\n```\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "CLI to retrieve a list of all TODO comments in the code",
"version": "0.2.9",
"split_keywords": [
"todo",
"todo-list",
"todo-comments",
"cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "21244681cfc2a9abca4fabf29ea2c03e7c7b840ced73cfda4094fd767a1fd393",
"md5": "8069c89299e514f4cd07b97fc58e9dc2",
"sha256": "021b3499f380658ebb0676c64812f421d833e99106e8a43a752efb2680662405"
},
"downloads": -1,
"filename": "todocom-0.2.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8069c89299e514f4cd07b97fc58e9dc2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 19982,
"upload_time": "2023-01-08T20:08:15",
"upload_time_iso_8601": "2023-01-08T20:08:15.359275Z",
"url": "https://files.pythonhosted.org/packages/21/24/4681cfc2a9abca4fabf29ea2c03e7c7b840ced73cfda4094fd767a1fd393/todocom-0.2.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "db343e4eea9df06bec578c17e8b979135738686aaaed6122d83f66bcfae0682a",
"md5": "66ea3963f0fec4d98c146b38a91f5b5c",
"sha256": "d52da2fd9a5b50aedc3c95a1369bb74fcf5c93cc688d97e926088a9ccafb4ce1"
},
"downloads": -1,
"filename": "todocom-0.2.9.tar.gz",
"has_sig": false,
"md5_digest": "66ea3963f0fec4d98c146b38a91f5b5c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 18853,
"upload_time": "2023-01-08T20:08:16",
"upload_time_iso_8601": "2023-01-08T20:08:16.551827Z",
"url": "https://files.pythonhosted.org/packages/db/34/3e4eea9df06bec578c17e8b979135738686aaaed6122d83f66bcfae0682a/todocom-0.2.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-08 20:08:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "avivfaraj",
"github_project": "todocom",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "todocom"
}