chore: update docs, rename to "ldr"

This commit is contained in:
swaits committed 2025-07-27 18:14:12 -04:00
1 parent 5c56eab61c
commit 94dbbf630e
6 files changed
+57 -35

No files matched your search

Generated
+10 -10
View File
@@ -156,6 +156,16 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "ldr"
version = "1.0.0"
dependencies = [
"clap",
"tempfile",
"termion",
"xdg",
]
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.174" version = "0.2.174"
@@ -197,16 +207,6 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
[[package]]
name = "parts"
version = "0.1.0"
dependencies = [
"clap",
"tempfile",
"termion",
"xdg",
]
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.95" version = "1.0.95"
+7 -3
View File
@@ -1,10 +1,14 @@
[package] [package]
name = "parts" name = "ldr"
version = "0.1.0" version = "1.0.0"
edition = "2021" edition = "2021"
description = "Prepend and Review ToDo System" description = "Log, Do, Review - A simple todo system"
license = "MIT" license = "MIT"
authors = ["Stephen Waits <steve@waits.net>"] authors = ["Stephen Waits <steve@waits.net>"]
repository = "https://github.com/swaits/ldr"
homepage = "https://github.com/swaits/ldr"
keywords = ["todo", "cli", "productivity"]
categories = ["command-line-utilities"]
[dependencies] [dependencies]
clap = { version = "4.5.41", features = ["derive"] } clap = { version = "4.5.41", features = ["derive"] }
+28 -10
View File
@@ -1,13 +1,31 @@
# PARTS - Prepend and Review ToDo System # LDR - Log, Do, Review
A simple command-line productivity system that lets you add items to the top of your list and review them interactively. A simple command-line productivity system that lets you add items to the top of
your list and review them interactively.
## Inspiration ## Inspiration
This tool was inspired by Andrej Karpathy's blog post ["The append-and-review note"](https://karpathy.bearblog.dev/the-append-and-review-note/), which describes a simple but effective productivity system using a single text file where you append new items to the top and periodically review from the top down. This tool was inspired by Andrej Karpathy's blog post ["The append-and-review
note"](https://karpathy.bearblog.dev/the-append-and-review-note/), which
describes a simple but effective productivity system using a single text file
where you append new items to the top and periodically review from the top down.
## Installation ## Installation
### From crates.io
```bash
cargo install ldr
```
### Using mise
```bash
mise use -g cargo:ldr
```
### From source
1. Clone this repository 1. Clone this repository
2. Build with Cargo: 2. Build with Cargo:
@@ -18,17 +36,17 @@ This tool was inspired by Andrej Karpathy's blog post ["The append-and-review no
3. Copy the binary to your PATH: 3. Copy the binary to your PATH:
```bash ```bash
cp target/release/parts ~/.local/bin/ cp target/release/ldr ~/.local/bin/
``` ```
## Usage ## Usage
- `parts add "Your todo item"` - Add a new item to the top - `ldr add "Your todo item"` - Add a new item to the top
- `parts ls` - List your items - `ldr ls` - List your items
- `parts scan` - Review items interactively - `ldr scan` - Review items interactively
- `parts do 1 2 3` - Archive completed items by number - `ldr do 1 2 3` - Archive completed items by number
- `parts up 1 2 3` - Prioritize items by moving them to the top - `ldr up 1 2 3` - Prioritize items by moving them to the top
- `parts edit` - Edit your todo list in $EDITOR - `ldr edit` - Edit your todo list in $EDITOR
## License ## License
+2 -2
View File
@@ -1,4 +1,4 @@
//! Command implementations for the parts todo system. //! Command implementations for the ldr todo system.
//! //!
//! This module contains all the core functionality for managing todo items, //! This module contains all the core functionality for managing todo items,
//! including adding, listing, prioritizing, archiving, and interactive review. //! including adding, listing, prioritizing, archiving, and interactive review.
@@ -301,7 +301,7 @@ pub fn review_note(note_path: &Path, archive_path: &Path) -> io::Result<()> {
print!("\x1B[2J\x1B[H"); print!("\x1B[2J\x1B[H");
println!( println!(
"{}=== PARTS Review Mode ==={}", "{}=== LDR Review Mode ==={}",
color::Fg(color::Cyan), color::Fg(color::Cyan),
color::Fg(color::Reset) color::Fg(color::Reset)
); );
+9 -9
View File
@@ -1,4 +1,4 @@
//! Parts - A Prepend and Review ToDo System //! LDR - Log, Do, Review
//! //!
//! A command-line todo application that emphasizes adding items to the top //! A command-line todo application that emphasizes adding items to the top
//! and provides an interactive review mode for processing items. //! and provides an interactive review mode for processing items.
@@ -14,17 +14,17 @@ mod input;
#[cfg(test)] #[cfg(test)]
mod tests; mod tests;
/// Command-line interface structure for the parts todo system /// Command-line interface structure for the ldr todo system
#[derive(Parser)] #[derive(Parser)]
#[command(name = "parts")] #[command(name = "ldr")]
#[command(about = "Prepend and Review ToDo System", long_about = None)] #[command(about = "Log, Do, Review - A simple todo system", long_about = None)]
#[command(version)] #[command(version)]
struct Cli { struct Cli {
#[command(subcommand)] #[command(subcommand)]
command: Commands, command: Commands,
} }
/// Available subcommands for the parts todo system /// Available subcommands for the ldr todo system
#[derive(Subcommand)] #[derive(Subcommand)]
enum Commands { enum Commands {
/// Add a new item at the top /// Add a new item at the top
@@ -47,19 +47,19 @@ enum Commands {
/// Raise the priority of items (move toward top) /// Raise the priority of items (move toward top)
#[command(alias = "prioritize")] #[command(alias = "prioritize")]
Up { Up {
/// Item numbers to prioritize (from "parts ls") /// Item numbers to prioritize (from "ldr ls")
numbers: Vec<usize>, numbers: Vec<usize>,
}, },
/// Archive completed items /// Archive completed items
#[command(aliases = ["done", "finish", "check"])] #[command(aliases = ["done", "finish", "check"])]
Do { Do {
/// Item numbers to archive (from "parts ls") /// Item numbers to archive (from "ldr ls")
numbers: Vec<usize>, numbers: Vec<usize>,
}, },
/// Remove items without archiving /// Remove items without archiving
#[command(aliases = ["remove", "delete", "destroy", "forget"])] #[command(aliases = ["remove", "delete", "destroy", "forget"])]
Rm { Rm {
/// Item numbers to remove (from "parts ls") /// Item numbers to remove (from "ldr ls")
numbers: Vec<usize>, numbers: Vec<usize>,
}, },
/// Scan and review items interactively, from top to bottom /// Scan and review items interactively, from top to bottom
@@ -73,7 +73,7 @@ enum Commands {
/// Sets up XDG-compliant data directory paths for note.txt and archive.txt files. /// Sets up XDG-compliant data directory paths for note.txt and archive.txt files.
fn main() -> io::Result<()> { fn main() -> io::Result<()> {
let cli = Cli::parse(); let cli = Cli::parse();
let base = BaseDirectories::with_prefix("parts"); let base = BaseDirectories::with_prefix("ldr");
let note_path = base let note_path = base
.place_data_file("note.txt") .place_data_file("note.txt")
.expect("Failed to create data directory"); .expect("Failed to create data directory");
+1 -1
View File
@@ -1,4 +1,4 @@
//! Comprehensive test suite for the parts todo system. //! Comprehensive test suite for the ldr todo system.
//! //!
//! Tests cover all core functionality including content manipulation, //! Tests cover all core functionality including content manipulation,
//! command operations, filtering, and edge cases. //! command operations, filtering, and edge cases.