<commit_before>ctodo
=====
A simple ncurses-based task list manager

Website: http://ctodo.apakoh.dk

License
-------
Copyright (C) 2012 <NAME> (http://apakoh.dk)

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Requirements
------------
* `ncurses`
* A C-compiler like `gcc`
* `cmake` (not actually necessary)

Installation
------------
* Run cmake:

        cmake .

* Compile:

         make

* Install:

         make install

Alternatively you could just use `gcc` to compile the
single source file:

    gcc -lncurses -o ctodo ctodo.c

Usage
-----
Run from a console using:

    ctodo

This will create a `todo.txt` file in the current
directory or open the file if it exists.

Alternatively you can run ctodo using:

    ctodo someotherfile.txt

Which will open/create `someotherfile.txt` in the current directory.

Commands
--------
* Navigation:

  Use `UP` and `DOWN` arrows to move between tasks
  (or `J` and `K`).

  `PAGE UP` moves 5 tasks up and `PAGE DOWN` moves
  5 tasks down.

  `HOME` moves to the top of the list and `END` moves
  to the bottom.

* Managing tasks:

  `SPACE` and `ENTER` checks/unchecks the selected task.

  `D` and `DELETE` deletes the selected task.

  Press `E` to edit the description of the selected task.

  Press `SHIFT-E` to delete the current task description
  and create a new one.
  
  Press `N` or `INSERT` to create a new task.<commit_msg>Information about installing and running on Windows.<commit_after># ctodo
A simple ncurses-based task list manager

Website: http://ctodo.apakoh.dk

## License
Copyright (C) 2012 <NAME> (http://apakoh.dk)

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

## Requirements
### Linux
* `ncurses`
* A C-compiler like `gcc`
* `cmake` (not actually necessary)

### Windows
* Windows XP or newer

## Installation
### Linux
* Run cmake:

        cmake .

* Compile:

         make

* Install:

         make install

Alternatively you could just use `gcc` to compile the
single source file:

    gcc -lncurses -o ctodo ctodo.c

### Windows
Run the installer, e.g. `ctodo-1.1-setup.exe`.

## Usage
### Linux
Run from a console using:

    ctodo

This will create a `todo.txt` file in the current
directory or open the file if it exists.

Alternatively you can run ctodo using:

    ctodo someotherfile.txt

Which will open/create `someotherfile.txt` in the current directory.

### Windows
Right click in any directory (or on the desktop) and open the `New`-menu. If ctodo was installed
using the installer, the option `Task List` should be available. Click on it.

This will create an empty task list which you can open with ctodo by double clicking on it
(if you installed using the installer).

##Commands
* Navigation:

  Use `UP` and `DOWN` arrows to move between tasks
  (or `J` and `K`).

  `PAGE UP` moves 5 tasks up and `PAGE DOWN` moves
  5 tasks down.

  `HOME` moves to the top of the list and `END` moves
  to the bottom.

* Managing tasks:

  `SPACE` and `ENTER` checks/unchecks the selected task.

  `D` and `DELETE` deletes the selected task.

  Press `E` to edit the description of the selected task.

  Press `SHIFT-E` to delete the current task description
  and create a new one.
  
  Press `N` or `INSERT` to create a new task.
{'fraction_non_alphanumeric': 0.07334491410924532, 'fraction_numerical': 0.0027021810461300907, 'mean_word_length': 3.6642664266426643, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4680724', 'n_tokens_mistral': 1529, 'n_tokens_neox': 1414, 'n_words': 761}