mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
first commit
This commit is contained in:
58
README.md
Normal file
58
README.md
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user