All Projects → Milo123459 → glitter

Milo123459 / glitter

Licence: MIT License
🌌⭐ Git tooling of the future.

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to glitter

cargo-valgrind
A cargo subcommand, that runs valgrind and displays its output in a helpful manner.
Stars: ✭ 66 (-56%)
Mutual labels:  cargo
build-rust
Script helper for building rustc and cargo from source on OpenBSD (without rustup)
Stars: ✭ 33 (-78%)
Mutual labels:  cargo
nixcrates
DEPRECATED reads rust-lang/crates.io-index and outputs nix expressions into fractalide/nix-crates-index
Stars: ✭ 14 (-90.67%)
Mutual labels:  cargo
RustLabs
The Ultimate Workshop Track for #Rust Developer
Stars: ✭ 22 (-85.33%)
Mutual labels:  cargo
cargo-esr
Extended Search & Ranking tool for crates.
Stars: ✭ 23 (-84.67%)
Mutual labels:  cargo
cargo-clone
A cargo subcommand to fetch the source code of a Rust crate
Stars: ✭ 72 (-52%)
Mutual labels:  cargo
crates.nvim
A neovim plugin that helps managing crates.io dependencies
Stars: ✭ 252 (+68%)
Mutual labels:  cargo
cargo-llvm-cov
Cargo subcommand to easily use LLVM source-based code coverage (-C instrument-coverage).
Stars: ✭ 181 (+20.67%)
Mutual labels:  cargo
dcos-k8s-rust-skaffold-demo
A demo of pipelining Rust application development to Kubernetes on DC/OS with Skaffold.
Stars: ✭ 40 (-73.33%)
Mutual labels:  cargo
project
☕️ Create node, rust, python or ruby project locally and on github (private or public)
Stars: ✭ 19 (-87.33%)
Mutual labels:  cargo
cargo-trim
Binary application to clean up .cargo/registry & .cargo/git cache
Stars: ✭ 15 (-90%)
Mutual labels:  cargo
cargo-deny-action
❌ GitHub Action for cargo-deny 🦀
Stars: ✭ 45 (-70%)
Mutual labels:  cargo
cargo-testify
Watches changes in a rust project, runs test and shows friendly notification
Stars: ✭ 76 (-49.33%)
Mutual labels:  cargo
rust-kernel-barebones
A minimal 64-bit rust kernel and a bunch of configuration scripts that can be used to bootstrap Operating system development using Nightly-Rust compiler.
Stars: ✭ 42 (-72%)
Mutual labels:  cargo
rhack
Temporary edit external crates that your project depends on
Stars: ✭ 104 (-30.67%)
Mutual labels:  cargo
www
my website built using Rust (stdweb) → .wasm (also: dat://ricky.codes)
Stars: ✭ 12 (-92%)
Mutual labels:  cargo
packagehub
An extension for displaying dependencies of projects on GitHub
Stars: ✭ 71 (-52.67%)
Mutual labels:  cargo
panamax
Mirror rustup and crates.io repositories, for offline Rust and cargo usage.
Stars: ✭ 119 (-20.67%)
Mutual labels:  cargo
vcpkg-rs
Build library for finding native libraries in vcpkg for Rust - Windows (msvc), Linux and macOS
Stars: ✭ 68 (-54.67%)
Mutual labels:  cargo
fe
A super-fast and easy to use command line fuzzy file searcher built with the rust programming language.
Stars: ✭ 23 (-84.67%)
Mutual labels:  cargo

Glitter

❯ Glitter

Git tooling of the future

👀 Features

  • Config files (with defaults!)
  • Fast
  • Easy to use
  • Friendly errors (how to fix them included!)
  • Multi branch support (defaults to the one you are on!)
  • Beautiful, as if it just rolled in Glitter!
  • Glitter Hooks (Git hooks natively built into Glitter)

📚 Documentation

For proper docs, see here, this also includes examples.

What, how and why should you use Glitter?

Glitter is a wrapper for Git essentially, allowing you to compress multiple commands into one. Glitter is written in rust which not only makes it fast but also efficient. We simply parse your .glitterrc (if it exists, if not it'll use the default config) and run a few git commands under the hood. Why? Simplicity. If you maintain a project, this is probably the thing for you.

😀 Installation

Windows

Scoop

scoop install glitter

Linux

This is a bash script that can install on any platform other than windows, not just linux.

curl -fsSL https://raw.githubusercontent.com/Milo123459/glitter/master/install.sh | bash

Other

Check the releases and download the appropriate binary. Or build from source.

To build from source run this:

You need rust installed!

git clone https://github.com/Milo123459/glitter
cd glitter
cargo install --path .

To update:

cd glitter
git pull
cargo install --path .

🛑 Please report any bug reports in issues, I'll try and respond ASAP

🎉 Get started

We're so happy to see your interest in Glitter! Leave a if you like Glitter!

Firstly, lets create a .glitterrc - the configuration file for Glitter.

The glitterrc is basically JSON but a fancy extension. If we want to make it so it automatically templates our commit message we can do it like so:

{
    "commit_message": "$1($2): $3+"
}

and you can use it like so: glitter push chore deps bump deps, this would produce the message chore(deps): bump deps. As you probably understand, $ is the prefix of arguments, ie, you can do $1 for the first argument, $2 for the second, etc. The + basically means all arguments after the one you specify will be placed there. Lets say we want it to be chore(Deps): bump deps and it formats with that case. How? Easy. Lets add another key to our file:

{
    ...
    "commit_message_arguments": []
}

inside this key we can then add the argument to configure, in this case, the 2nd one, let's add that.

{
    ...
    "commit_message_arguments": [
        {
            "argument": 2
        }
    ]
}

and then, to configure the case, add the key case and watch the magic!

{
    ...
    "commit_message_arguments": [
        {
            "argument": 2,
            "case": "pascal"
        }
    ]

}

Running glitter push chore deps bump deps would then give us the commit message of chore(Deps): bump deps 🎉!

📷 FAQ

Does "this hello" count as 1 or 2 arguments?

This example counts as 1. For example glitter push hello "world how" are you would give the following arguments:

1: hello
2: world how
3: are
4: you

Why is it fast sometimes but not the next?

That's reliant on your internet connection. - We are just running git commands under the hood. Git will be the thing taking it's sweet time.

🎣 Glitter Hooks

Glitter Hooks are Git hooks without the bash. Here is an example of how we can run cargo fmt before commiting to this codebase.

{
    ...
    "custom_tasks": [
        {
            "name": "fmt",
            "execute": ["cargo fmt"]
        }
    ],
    "hooks": ["fmt"]
}

From this, before we commit, cargo fmt will be executed. You can add more commands to be executed by simply adding another command to the fmt field, or, adding another custom_task and referencing that in hooks. If you need help, you can make a discussion, and if you find a bug, please make a bug report!

📣 Available Cases

  • lower
  • upper
  • snake
  • screaming-snake
  • kebab
  • train
  • sentence
  • title
  • class
  • pascal

.. got a suggestion? Please make a discussion.

Installation errors are to go in issues.

Hope Glitter helps you!

Alt

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].