Giter Club home page Giter Club logo

homebrew-desc's Introduction

brew-desc.rb - Searchable descriptions for Homebrew formulas

What is it?

It's an external command for Homebrew. It provides short descriptions for Homebrew packages. You can also search for packages by description. So if you know you want to install a mail program, but you're not sure which one, brew-desc is for you.

Usage

Although the script's name is brew-desc.rb, Homebrew external commands work in such a way that you invoke it as brew desc. (It functions exactly like a sub-command built into Homebrew.)

If you already know the name of a package, and you want to see a bit about it, that's easy:

$ brew desc mutt
mutt: Mongrel of Mail User Agents (part Elm, Pine, Mush, mh, etc)

If you know the kind of thing you're interested in, but not the name of specific items, that's easy too:

$ brew desc -s key-value
redis: A persistent key-value database with built-in net interface
kumofs: A scalable and highly available distributed key-value store
cassandra: Highly scalable, eventually consistent, distributed key-value store

Both -s and --search are acceptable. Searches are always case insensitive, and the argument you pass to -s or --search is interpreted as a Ruby regular expression. So you can even do silly searches like this:

$ brew desc -s 'm\b'
abnfgen: Quickly generate random documents that match an ABFN grammar
aescrypt: Program for encryption/decryption
...<way too much output>

Installation

You can install brew desc in two ways.

  1. Tap this repository and install via brew itself.
  2. Install manually.

For the first method, do the following:

brew tap telemachus/homebrew-desc && brew install brew-desc

For the second method clone or download this repository. Then simply put the file brew-desc.rb anywhere in your $PATH. For example:

mv brew-desc.rb ~/bin

Leave the name as is if you follow this method. Homebrew knows how to find it.

Once you've installed via either method, you can use the command as described above.

Contributors

I started this project with the descriptions from the MacPorts ports tree. I also used the Debian package descriptions. In both cases, I edited many items for consistency and length.

The following people have also contributed to the project:

Contributing

All formulas now have descriptions. However, many could probably be improved to be clearer or more precise. There are also probably typos and flat-out mistakes. If you want to help, please fork, edit one or more descriptions and send a pull request.

The most important style rule: Please keep descriptions < 80 characters. That will make the output neater in standard terminal windows.

A less important guideline: Please trim out boilerplate. For example, nearly all commandline tools claim to be small, simple and fast. I learned this by editing thousands of descriptions for this project. Let's just agree that Homebrew installs small, simple and fast as the norm. But feel free to mention if the package you're describing is large, complicated or slow.

Thanks.

homebrew-desc's People

Contributors

coruus avatar cschwang avatar isbadawi avatar johnspeno avatar mayersj1 avatar mistydemeo avatar mkwr avatar osscca avatar targeter avatar tjkirch avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.