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.0.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.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: loltasks-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 13bd4f011539f1868534ecfd96c24fc5ac40f1421f8313f68d070bef39eb775f
MD5 acab17f2442d6b847bff2635b8abea13
BLAKE2b-256 49cfbe4717fa5dd91930905d4f9d6489717f078dbf609197caaacb806c992163

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loltasks-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d452709abfe063bd26e7ad307e910f6780b2d65353b9f2b119bd6046c5a2268
MD5 9529cf63e954afaa4b26ae86f3bbf4e1
BLAKE2b-256 3b682af565513bc34c25f4d57e6c74bb65756c04fbf887c8789fc056d0c568d0

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