Permalink
Browse files

first commit

  • Loading branch information...
josh committed May 9, 2011
0 parents commit 559097ed6bae9b58987f969937f6c1de622b6487
Showing with 58 additions and 0 deletions.
  1. +58 −0 README.md
@@ -0,0 +1,58 @@
Linguist
========

We use this library on GitHub to detect file language types for syntax highlighting, ignore binary files, suppress generated code in diffs and generate language breakdown graphs.

Features
--------

### Language detection

* Common extensions
* Shebang
* C header files *(C/C++/Obj-C)*

### Binary detection

### Generated file detection

* Generated JS files *(minified js, compiled CoffeeScript)*
* Generated config files *(Xcode project files and nibs)*

### Ignore vendored libs

* Ignores common vendored libs conventions *(deps/, vendor/, jquery, prototype)*

### Stats

* Generates project LOC stats

Usage
-----

file = Linguist::SourceFile.new("linguist.rb")
file.language.name #=> "Ruby"

file = Linguist::SourceFile.new("linguist.gem")
file.binary? #=> true

project = Linguist::Project.new(".")
project.language.name #=> "Ruby"
project.language_stats #=> { "Ruby" => 0.98, "Shell" => 0.02 }

# Using Grit backend
repo = Grit::Repo.new("./.git")
project = Linguist::Project.new(repo)


Contributing
------------

Once you've made your great commits:

1. Fork it.
2. Create a branch (`git checkout -b detect-foo-language`)
3. Commit your changes (`git commit -am "Added detection for the new Foo language"`)
4. Push to the branch (`git push origin detect-foo-language`)
5. Create a [Pull Request](http://help.github.com/pull-requests/) from your branch.
6. Promote it. Mention a public repository to demostration the value of your changes. Get others to drop in and :+1: it.

0 comments on commit 559097e

Please sign in to comment.