Skip to main content

A terminal-based weekly task management application with advanced text editing

Project description

lolTasks

A powerful terminal-based weekly task management application built with Python and curses.

Features

  • Weekly Task Management: Organize tasks by week with a clean, intuitive interface
  • Advanced Text Editing: Full-featured line editor with undo/redo, word navigation, and standard shortcuts
  • Cross-Platform: Works on macOS, Linux, and Windows (with appropriate terminal)
  • Persistent Storage: JSON-based data storage in your home directory
  • Vim-Style Shortcuts: Familiar key bindings for power users

Installation

From PyPI (Recommended)

pip install lolTasks

From Source

git clone https://github.com/lstephensFederation/lolTasks.git
cd lolTasks
pip install .

Usage

Basic Usage

lolTasks
# or
task

Command Line Options

lolTasks --help  # Show help and key bindings

Key Bindings

Navigation

  • ↑/↓ or k/j: Move selection up/down
  • ←/→ or h/l: Navigate to previous/next week
  • Tab: Cycle task state forward (TO-DO → PENDING → COMPLETED)
  • Shift+Tab: Cycle task state backward

Task Management

  • a: Add new task after selected item
  • Enter: Edit selected task (or week title if none selected)
  • I: Edit task at beginning of line (vim-style)
  • d: Delete selected task
  • r: Toggle reorder mode for moving tasks up/down
  • Esc: Exit edit mode

Global Actions

  • Ctrl + U: Undo last action
  • Ctrl + R: Redo last undone action
  • n: Move task to next week
  • p: Move task to previous week
  • q: Quit application

Text Editing (when in edit mode)

  • Esc + U: Undo last change (vim-style)
  • Esc + R: Redo last undone change
  • Option + Left (macOS): Skip to previous word
  • Option + Right (macOS): Skip to next word
  • Ctrl + A: Move to start of line
  • Ctrl + E: Move to end of line
  • Left/Right: Move cursor
  • Home/End: Move to start/end of line
  • Backspace/Delete: Delete characters
  • Enter/Esc: Save and exit edit mode

Data Storage

Tasks are stored in ~/.lolTasks/weekly_tasks.json. The application automatically creates this directory and file on first run.

Requirements

  • Python 3.6+
  • A terminal that supports curses (most modern terminals)

Development

Setup Development Environment

git clone https://github.com/lstephensFederation/lolTasks.git
cd lolTasks
pip install -e .

Running Tests

# No tests implemented yet

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Changelog

Version 1.0.0

  • Initial release
  • Complete task management functionality
  • Advanced text editing features
  • Cross-platform compatibility
  • Comprehensive documentation

Support

For issues, questions, or contributions, please visit: https://github.com/lstephensFederation/lolTasks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loltasks-1.0.1.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loltasks-1.0.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file loltasks-1.0.1.tar.gz.

File metadata

  • Download URL: loltasks-1.0.1.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for loltasks-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9226e5906726601b4b8dc3ed67e0e21c214f72f8933112ce356014832b3ea8dd
MD5 904da2a8a1d64f6e5ef586c990c27397
BLAKE2b-256 f74371b2ba0ef3c8c79494891196f5eacc4129c3fff1fadf370416bf2d1f1a62

See more details on using hashes here.

File details

Details for the file loltasks-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: loltasks-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for loltasks-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c15f12649939560a0424ca32ca6eb6e3a23820e7c733960b8124fe5e1bb97f51
MD5 5b060529b53f0865b796584e292d4c80
BLAKE2b-256 9b7fff1ce453ba14f3c940eaca3613f8fb1c06fd76aed01353ee3c0589c90cbd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page