Mommy's here to support you when running cargo~

Overview

cargo-mommy

Mommy's here to support you when running cargo~ ❤️

Installation

Install cargo-mommy like you would any other cargo extension~

> cargo install cargo-mommy

Usage

Run whatever cargo command you would normally but add mommy after cargo~

> cargo mommy test

    Finished test [unoptimized + debuginfo] target(s) in 0.00s
     Running unittests src\main.rs (target\debug\deps\cargo_mommy-3804b5c850d46137.exe)

running 1 test
test test ... FAILED

failures:

---- test stdout ----
thread 'test' panicked at 'oops!!', src\main.rs:26:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    test

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `--bin cargo-mommy`

mommy knows her little girl can do better~ ❤️

>_

Configuration

Mommy will read the following environment variables to make her messages better for you~ ❤️

  • CARGO_MOMMYS_LITTLE - what to call you~ (default: "girl")
  • CARGO_MOMMYS_PRONOUNS - what pronouns mommy will use for themself~ (default: "her")
  • CARGO_MOMMYS_ROLES - what role mommy will have~ (default "mommy")

All of these options can take a / separated list. Mommy will randomly select one of them whenever she talks to you~

For example, the phrase "mommy loves her little girl~ ❤️ " is "CARGO_MOMMYS_ROLE loves CARGO_MOMMYS_PRONOUNS little CARGO_MOMMYS_LITTLE~ ❤️ "

So if you set CARGO_MOMMYS_ROLES="daddy", CARGO_MOMMYS_PRONOUNS="his/their", and CARGO_MOMMYS_LITTLE="boy/pet/baby" then you might get any of

  • daddy loves their little boy~ ❤️
  • daddy loves his little pet~ ❤️
  • daddy loves their little baby~ ❤️

And so on~ ❤️

Comments
  • Randomized responses. Mommy has all sorts of differents things to tell you~

    Randomized responses. Mommy has all sorts of differents things to tell you~

    I said I would spend days of my life on this. Day 1.

    This PR adds line delimited files included into the binary at compile time with negative, and positive responses for mommy. For example, mommy will choose one line from the positive-responses.txt file if you've been a good girl for her, then replace the affectionate term placeholder (currently AFFECTIONATE_TERM) with your chosen affectionate term, then finally print it out.

    There is some questions that should probably be answered sometime:

    One is what guidelines should surround writing these responses? How NSFW are you allowed to get? Perhaps it should be an option for the user? May you hard code gender neutral affectionate terms such as "sweetie"? Must all responses end with a ~ ❤️? etc.

    Another is about the use of placeholders. Do you have a better idea than just replacing every instance of AFFECTIONATE_TERM?

    Another about newlines. You obviously can't have a response with a newline inside if the file is newline separated. Perhaps this is a good or acceptable limitation?

    opened by VixieTSQ 4
  • Would a standalone binary work the same or better than a cargo extension?

    Would a standalone binary work the same or better than a cargo extension?

    The more I've been thinking, the more I think that this doesn't actually need to a cargo extension. It doesn't get much from it at all. Although this probably is just a side product of wanting to learn how cargo extensions work, I think it's done it's job for that use case. I can see one problem stemming from converting this to a standalone binary: people may try to use it in contexts outside of the rust compiler, and that means any 'compiling'-specific responses may not make sense, which I think would be quite sad and restrictive.

    opened by VixieTSQ 2
  • even older little ones need mommy

    even older little ones need mommy

    I love how simple and silly this project is! Some legacy codebases can't use ExitCode as a stable API, so they have trouble working with this extension. Here's an attempt at supporting those poor developers.

    opened by goakley 1
  • Consider adding a license file

    Consider adding a license file

    Project license is specified as MIT in Cargo.toml:

    https://github.com/Gankra/cargo-mommy/blob/df726f21340dca34f565d8ff1b5e59c5a602f84a/Cargo.toml#L4

    But LICENSE file is not present in the repository. You might consider adding it.

    opened by orhun 3
  • Some handling of +toolchain syntax

    Some handling of +toolchain syntax

    I've setup an alias cargo="cargo mommy", sadly when doing something like cargo +nightly check, cargo tells me

    error: no such command: `+nightly`
    
    	Cargo does not handle `+toolchain` directives.
    	Did you mean to invoke `cargo` through `rustup` instead?
    

    and mommy tells me I can do better. I'd very much like to, but I don't think I can

    opened by trinity-1686a 0
Owner
Aria Beingessner
Aria Beingessner
cargo-lambda is a Cargo subcommand to help you work with AWS Lambda.

cargo-lambda cargo-lambda is a Cargo subcommand to help you work with AWS Lambda. The new subcommand creates a basic Rust package from a well defined

null 184 Jan 5, 2023
A cargo subcommand that extends cargo's capabilities when it comes to code generation.

cargo-px Cargo Power eXtensions Check out the announcement post to learn more about cargo-px and the problems it solves with respect to code generatio

Luca Palmieri 33 May 7, 2023
Error context library with support for type-erased sources and backtraces, targeting full support of all features on stable Rust

Error context library with support for type-erased sources and backtraces, targeting full support of all features on stable Rust, and with an eye towards serializing runtime errors using serde.

Findora Foundation 1 Feb 12, 2022
Detect if code is running inside a virtual machine (x86 and x86-64 only).

inside-vm Detect if code is running inside a virtual machine. Only works on x86 and x86-64. How does it work Measure average cpu cycles when calling c

null 34 Oct 3, 2022
Open-source Rewind.ai clone written in Rust and Vue running 100% locally with whisper.cpp

mind-overflow Open-source Rewind.AI clone built with Tauri and Vue. Leverages whisper.cpp for Speech-to-Text and (wip: llama.cpp for Text generation a

Maxime Dolores 4 Aug 9, 2023
Async Rust cron scheduler running on Tokio.

Grizzly Cron Scheduler A simple and easy to use scheduler, built on top of Tokio, that allows you to schedule async tasks using cron expressions (with

Ivan Brko 4 Feb 27, 2024
Searchbuddy is a browser extension that lets you chat with people that are searching for what you're searching for.

searchbuddy Make friends while searching! Searchbuddy is a browser extension that lets you chat with people that are searching for what you're searchi

Joseph Gerber 14 May 23, 2022
Flexcord! A custom Discord client to allow you to do what you want!

Disclaimer Flexcord is NO WHERE near done. Flexcord What is it? Flexcord is a Discord client that flexes for your needs, it allows you to do exactly w

null 2 Dec 5, 2022
Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. After all it's just a cat.

Bongo Copy Cat Introduction Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. Afte

Abhijeet Singh 4 Jan 23, 2023
cargo, make me a project

cargo-generate cargo, make me a project cargo-generate is a developer tool to help you get up and running quickly with a new Rust project by leveragin

null 1.2k Jan 3, 2023
Render cargo dependency tree in online

Cargo Tree Online Check out rendered page Render cargo dependency tree in online. Usage trunk serve Copy and paste the content of Cargo.lock file to

Kangwook Lee (이강욱) 2 Sep 23, 2021
Generate a THIRDPARTY file with all licenses in a cargo project.

cargo-bundle-licenses Bundle all third-party licenses into a single file. NOTE This tools is not a lawyer and no guarantee of correctness can be made

Seth 58 Jan 7, 2023
Rust+Cargo lightweight hello world with the most minimum binary size possible.

Lightweight Cargo Hello World Rust+Cargo lightweight hello world with the most minimum binary size possible. requirements 1: Rustup (Rustc, Cargo) Ins

Raymond 1 Dec 13, 2021
Plugin to request a relaunch when uploading a Skyline plugin through cargo skyline

restart-plugin A skyline plugin for allowing cargo-skyline (or other tools) to restart your game without you having to touch your controller. Install

null 1 Nov 21, 2021
Convenience wrapper for cargo buildscript input/output

A convenience wrapper for cargo buildscript input/output. Why? The cargo buildscript API is (necessarily) stringly-typed.

Christopher Durham 6 Sep 25, 2022
A cargo subcommand that displays the assembly generated for Rust source code

cargo-show-asm A cargo subcommand that displays the assembly generated for Rust source code.

null 193 Dec 29, 2022
Cargo subcommand for optimizing binaries with PGO and BOLT.

cargo-pgo Cargo subcommand that makes it easier to use PGO and BOLT to optimize Rust binaries. Installation $ cargo install cargo-pgo You will also ne

Jakub Beránek 229 Dec 28, 2022
Load and resolve Cargo configuration.

cargo-config2 Load and resolve Cargo configuration. This library is intended to accurately emulate the actual behavior of Cargo configuration, for exa

Taiki Endo 6 Jan 10, 2023
Cargo-BOJ: test and submit solutions to BOJ problems

Cargo-BOJ Test and submit solutions to BOJ (Baekjoon Online Judge) problems. Defaults are geared towards Rust solutions, but non-Rust usage is support

null 5 Apr 3, 2023