Rename major to common

This commit is contained in:
Joshua Peek
2011-06-22 10:37:20 -05:00
parent a881cde6fd
commit 69f4c9cc6e
5 changed files with 150 additions and 81 deletions

View File

@@ -1,62 +0,0 @@
# The languages which will appear on http://github.com/languages
#
# This file should only be edited by GitHub staff
- Ada
- ActionScript
- Arc
- Assembly
- ASP
- Boo
- C
- "C#"
- C++
- Clojure
- CoffeeScript
- ColdFusion
- Common Lisp
- D
- Delphi
- Dylan
- Eiffel
- Emacs Lisp
- Erlang
- "F#"
- Factor
- FORTRAN
- Go
- Groovy
- Haskell
- HaXe
- Io
- Java
- JavaScript
- Lua
- Max/MSP
- Mirah
- Nu
- Objective-C
- Objective-J
- OCaml
- ooc
- Perl
- PHP
- Pure Data
- Python
- R
- Racket
- Ruby
- Scala
- Scheme
- sclang
- Self
- Shell
- Smalltalk
- SuperCollider
- Tcl
- Vala
- Verilog
- VHDL
- VimL
- Visual Basic
- XQuery

View File

@@ -193,14 +193,14 @@ module Linguist
@extensions = attributes[:extensions] || [] @extensions = attributes[:extensions] || []
@filenames = attributes[:filenames] || [] @filenames = attributes[:filenames] || []
# Set popular, common, and searchable flags # Set popular, major, and searchable flags
@popular = attributes.key?(:popular) ? attributes[:popular] : false @popular = attributes.key?(:popular) ? attributes[:popular] : false
@common = attributes.key?(:common) ? attributes[:common] : false @major = attributes.key?(:major) ? attributes[:major] : false
@searchable = attributes.key?(:searchable) ? attributes[:searchable] : true @searchable = attributes.key?(:searchable) ? attributes[:searchable] : true
# If group name is set, save the name so we can lazy load it later # If group name is set, save the name so we can lazy load it later
if attributes[:group_name] if attributes[:group_name]
if common? if major?
warn "#{name} is a major langauage, it should not be grouped with #{attributes[:group_name]}" warn "#{name} is a major langauage, it should not be grouped with #{attributes[:group_name]}"
end end
@@ -303,11 +303,24 @@ module Linguist
!popular? !popular?
end end
# Public: Is it common? # Public: Is it major language?
#
# Major languages should be actual programming
# languages. Configuration formats should be excluded.
# #
# Returns true or false # Returns true or false
def common? def major?
@common @major
end
# Public: Is it a minor language?
#
# Minor langauage include variants of major languages and
# markup languages like HTML and YAML.
#
# Returns true or false
def minor?
!major?
end end
# Public: Is it searchable? # Public: Is it searchable?
@@ -358,7 +371,6 @@ module Linguist
end end
popular = YAML.load_file(File.expand_path("../popular.yml", __FILE__)) popular = YAML.load_file(File.expand_path("../popular.yml", __FILE__))
common = YAML.load_file(File.expand_path("../common.yml", __FILE__))
YAML.load_file(File.expand_path("../languages.yml", __FILE__)).each do |name, options| YAML.load_file(File.expand_path("../languages.yml", __FILE__)).each do |name, options|
Language.create( Language.create(
@@ -370,8 +382,8 @@ module Linguist
:search_term => options['search_term'], :search_term => options['search_term'],
:extensions => options['extensions'], :extensions => options['extensions'],
:filenames => options['filenames'], :filenames => options['filenames'],
:popular => popular.include?(name), :major => options['major'],
:common => common.include?(name) :popular => popular.include?(name)
) )
end end
end end

View File

@@ -9,6 +9,7 @@
# aliases - An Array of additional aliases (implicitly # aliases - An Array of additional aliases (implicitly
# includes name.downcase) # includes name.downcase)
# extension - An Array of associated extensions # extension - An Array of associated extensions
# major - Boolean flag major programming languages
# searchable - Boolean flag to enable searching (defaults to true) # searchable - Boolean flag to enable searching (defaults to true)
# search_term - Deprecated: Some langauges maybe indexed under a # search_term - Deprecated: Some langauges maybe indexed under a
# different alias. Avoid defining new exceptions. # different alias. Avoid defining new exceptions.
@@ -19,6 +20,7 @@
# Please keep this list alphabetized. # Please keep this list alphabetized.
ASP: ASP:
major: true
lexer: aspx-vb lexer: aspx-vb
search_term: aspx-vb search_term: aspx-vb
aliases: aliases:
@@ -34,6 +36,7 @@ ASP:
- .asp - .asp
ActionScript: ActionScript:
major: true
lexer: ActionScript 3 lexer: ActionScript 3
search_term: as3 search_term: as3
aliases: aliases:
@@ -42,6 +45,7 @@ ActionScript:
- .as - .as
Ada: Ada:
major: true
extensions: extensions:
- .adb - .adb
- .ads - .ads
@@ -52,11 +56,13 @@ AppleScript:
- .applescript - .applescript
Arc: Arc:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .arc - .arc
Assembly: Assembly:
major: true
lexer: NASM lexer: NASM
search_term: nasm search_term: nasm
aliases: aliases:
@@ -82,6 +88,7 @@ BlitzMax:
- .bmx - .bmx
Boo: Boo:
major: true
extensions: extensions:
- .boo - .boo
@@ -91,11 +98,13 @@ Brainfuck:
- .bf - .bf
C: C:
major: true
extensions: extensions:
- .c - .c
- .h - .h
C#: C#:
major: true
search_term: csharp search_term: csharp
aliases: aliases:
- csharp - csharp
@@ -103,6 +112,7 @@ C#:
- .cs - .cs
C++: C++:
major: true
search_term: cpp search_term: cpp
aliases: aliases:
- cpp - cpp
@@ -133,16 +143,19 @@ ChucK:
- .ck - .ck
Clojure: Clojure:
major: true
extensions: extensions:
- .clj - .clj
CoffeeScript: CoffeeScript:
major: true
extensions: extensions:
- .coffee - .coffee
filenames: filenames:
- Cakefile - Cakefile
ColdFusion: ColdFusion:
major: true
lexer: Coldfusion HTML lexer: Coldfusion HTML
search_term: cfm search_term: cfm
aliases: aliases:
@@ -152,6 +165,7 @@ ColdFusion:
- .cfc - .cfc
Common Lisp: Common Lisp:
major: true
aliases: aliases:
- lisp - lisp
extensions: extensions:
@@ -178,6 +192,7 @@ Cython:
- .pxi - .pxi
D: D:
major: true
extensions: extensions:
- .d - .d
- .di - .di
@@ -196,6 +211,7 @@ Darcs Patch:
- .dpatch - .dpatch
Delphi: Delphi:
major: true
extensions: extensions:
- .pas - .pas
@@ -205,15 +221,18 @@ Diff:
- .patch - .patch
Dylan: Dylan:
major: true
extensions: extensions:
- .dylan - .dylan
Eiffel: Eiffel:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .e - .e
Emacs Lisp: Emacs Lisp:
major: true
lexer: Scheme lexer: Scheme
aliases: aliases:
- elisp - elisp
@@ -222,11 +241,13 @@ Emacs Lisp:
- .emacs - .emacs
Erlang: Erlang:
major: true
extensions: extensions:
- .hrl - .hrl
- .erl - .erl
F#: F#:
major: true
lexer: OCaml lexer: OCaml
search_term: ocaml search_term: ocaml
extensions: extensions:
@@ -235,6 +256,7 @@ F#:
- .fsx - .fsx
FORTRAN: FORTRAN:
major: true
lexer: Fortran lexer: Fortran
extensions: extensions:
- .f - .f
@@ -243,6 +265,7 @@ FORTRAN:
- .F90 - .F90
Factor: Factor:
major: true
extensions: extensions:
- .factor - .factor
@@ -278,6 +301,7 @@ Gettext Catalog:
- .pot - .pot
Go: Go:
major: true
extensions: extensions:
- .go - .go
@@ -293,6 +317,7 @@ Groff:
- .7 - .7
Groovy: Groovy:
major: true
lexer: Java lexer: Java
extensions: extensions:
- .groovy - .groovy
@@ -323,6 +348,7 @@ HTML+PHP:
- .phtml - .phtml
HaXe: HaXe:
major: true
lexer: haXe lexer: haXe
extensions: extensions:
- .hx - .hx
@@ -334,6 +360,7 @@ Haml:
- .haml - .haml
Haskell: Haskell:
major: true
extensions: extensions:
- .hs - .hs
- .hsc - .hsc
@@ -355,6 +382,7 @@ IRC log:
- .weechatlog - .weechatlog
Io: Io:
major: true
extensions: extensions:
- .io - .io
@@ -366,6 +394,7 @@ JSON:
- .json - .json
Java: Java:
major: true
extensions: extensions:
- .java - .java
- .pde - .pde
@@ -380,6 +409,7 @@ Java Server Pages:
- .jsp - .jsp
JavaScript: JavaScript:
major: true
aliases: aliases:
- js - js
- node - node
@@ -406,6 +436,7 @@ Literate Haskell:
- .lhs - .lhs
Lua: Lua:
major: true
extensions: extensions:
- .lua - .lua
- .nse - .nse
@@ -434,6 +465,7 @@ Matlab:
- .matlab - .matlab
Max/MSP: Max/MSP:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .mxt - .mxt
@@ -442,6 +474,7 @@ MiniD: # Legacy
searchable: false searchable: false
Mirah: Mirah:
major: true
lexer: Ruby lexer: Ruby
search_term: ruby search_term: ruby
extensions: extensions:
@@ -463,6 +496,7 @@ Nimrod:
- .nim - .nim
Nu: Nu:
major: true
lexer: Scheme lexer: Scheme
aliases: aliases:
- nush - nush
@@ -479,6 +513,7 @@ NumPy:
- .numpyw - .numpyw
OCaml: OCaml:
major: true
extensions: extensions:
- .ml - .ml
- .mly - .mly
@@ -491,11 +526,13 @@ ObjDump:
- .objdump - .objdump
Objective-C: Objective-C:
major: true
extensions: extensions:
- .m - .m
- .mm - .mm
Objective-J: Objective-J:
major: true
extensions: extensions:
- .j - .j
- .sj - .sj
@@ -507,6 +544,7 @@ OpenCL:
- .cl - .cl
PHP: PHP:
major: true
extensions: extensions:
- .php - .php
- .aw - .aw
@@ -525,6 +563,7 @@ Parrot Internal Representation:
- .pasm - .pasm
Perl: Perl:
major: true
extensions: extensions:
- .pl - .pl
- .ph - .ph
@@ -536,11 +575,13 @@ Perl:
- .psgi - .psgi
Pure Data: Pure Data:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .pd - .pd
Python: Python:
major: true
extensions: extensions:
- .py - .py
- .pyw - .pyw
@@ -555,6 +596,7 @@ Python traceback:
- .pytb - .pytb
R: R:
major: true
lexer: S lexer: S
extensions: extensions:
- .r - .r
@@ -566,6 +608,7 @@ RHTML:
- .rhtml - .rhtml
Racket: Racket:
major: true
lexer: Scheme lexer: Scheme
extensions: extensions:
- .rkt - .rkt
@@ -591,6 +634,7 @@ Redcode:
- .cw - .cw
Ruby: Ruby:
major: true
aliases: aliases:
- jruby - jruby
- macruby - macruby
@@ -624,10 +668,12 @@ Sass:
- .sass - .sass
Scala: Scala:
major: true
extensions: extensions:
- .scala - .scala
Scheme: Scheme:
major: true
extensions: extensions:
- .sls - .sls
- .ss - .ss
@@ -635,11 +681,13 @@ Scheme:
- .scm - .scm
Self: Self:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .self - .self
Shell: Shell:
major: true
lexer: Bash lexer: Bash
search_term: bash search_term: bash
aliases: aliases:
@@ -658,6 +706,7 @@ Shell:
- .zshrc - .zshrc
Smalltalk: Smalltalk:
major: true
extensions: extensions:
- .st - .st
@@ -674,15 +723,18 @@ Standard ML:
- .sml - .sml
SuperCollider: SuperCollider:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .sc - .sc
Tcl: Tcl:
major: true
extensions: extensions:
- .tcl - .tcl
Tcsh: Tcsh:
group: Shell
extensions: extensions:
- .tcsh - .tcsh
- .csh - .csh
@@ -706,21 +758,25 @@ Textile:
- .textile - .textile
VHDL: VHDL:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .vhdl - .vhdl
- .vhd - .vhd
Vala: Vala:
major: true
extensions: extensions:
- .vala - .vala
Verilog: Verilog:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .v - .v
VimL: VimL:
major: true
search_term: vim search_term: vim
aliases: aliases:
- vim - vim
@@ -731,6 +787,7 @@ VimL:
- .gvimrc - .gvimrc
Visual Basic: Visual Basic:
major: true
lexer: Text only lexer: Text only
extensions: extensions:
- .bas - .bas
@@ -752,6 +809,7 @@ XML:
- .rdf - .rdf
XQuery: XQuery:
major: true
extensions: extensions:
- .xq - .xq
- .xqm - .xqm
@@ -776,6 +834,7 @@ mupad:
- .mu - .mu
ooc: ooc:
major: true
lexer: Ooc lexer: Ooc
extensions: extensions:
- .ooc - .ooc

View File

@@ -90,8 +90,8 @@ module Linguist
language = blob.language language = blob.language
# Only include common langauges # Only include major langauges
if language && language.common? if language && language.major?
@sizes[language] += blob.size @sizes[language] += blob.size
end end
end end

View File

@@ -196,9 +196,9 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Language['reStructuredText'], Language.find_by_alias('rst') assert_equal Language['reStructuredText'], Language.find_by_alias('rst')
end end
def test_common_groups def test_major_groups
Language.all.each do |language| Language.all.each do |language|
if language.common? if language.major?
assert_equal language, language.group assert_equal language, language.group
end end
end end
@@ -216,6 +216,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Language['Shell'], Language['Batchfile'].group assert_equal Language['Shell'], Language['Batchfile'].group
assert_equal Language['Shell'], Language['Gentoo Ebuild'].group assert_equal Language['Shell'], Language['Gentoo Ebuild'].group
assert_equal Language['Shell'], Language['Gentoo Eclass'].group assert_equal Language['Shell'], Language['Gentoo Eclass'].group
assert_equal Language['Shell'], Language['Tcsh'].group
end end
# Used for code search indexing. Changing any of these values may # Used for code search indexing. Changing any of these values may
@@ -267,12 +268,71 @@ class TestLanguage < Test::Unit::TestCase
assert Language['Brainfuck'].unpopular? assert Language['Brainfuck'].unpopular?
end end
def test_common def test_major
assert Language['Perl'].common? # Add an assertion to this list if you add/change any major
assert Language['Python'].common? # settings in languages.yml. Please keep this list alphabetized.
assert Language['Ruby'].common? assert Language['ASP'].major?
assert !Language['Brainfuck'].common? assert Language['ActionScript'].major?
assert !Language['Makefile'].common? assert Language['Ada'].major?
assert Language['Arc'].major?
assert Language['Assembly'].major?
assert Language['Boo'].major?
assert Language['C#'].major?
assert Language['C'].major?
assert Language['C++'].major?
assert Language['Clojure'].major?
assert Language['CoffeeScript'].major?
assert Language['ColdFusion'].major?
assert Language['Common Lisp'].major?
assert Language['D'].major?
assert Language['Delphi'].major?
assert Language['Dylan'].major?
assert Language['Eiffel'].major?
assert Language['Emacs Lisp'].major?
assert Language['Erlang'].major?
assert Language['F#'].major?
assert Language['FORTRAN'].major?
assert Language['Factor'].major?
assert Language['Go'].major?
assert Language['Groovy'].major?
assert Language['HaXe'].major?
assert Language['Haskell'].major?
assert Language['Io'].major?
assert Language['Java'].major?
assert Language['JavaScript'].major?
assert Language['Lua'].major?
assert Language['Max/MSP'].major?
assert Language['Nu'].major?
assert Language['OCaml'].major?
assert Language['Objective-C'].major?
assert Language['Objective-J'].major?
assert Language['PHP'].major?
assert Language['Perl'].major?
assert Language['Pure Data'].major?
assert Language['Python'].major?
assert Language['R'].major?
assert Language['Racket'].major?
assert Language['Ruby'].major?
assert Language['Scala'].major?
assert Language['Scheme'].major?
assert Language['Self'].major?
assert Language['Smalltalk'].major?
assert Language['SuperCollider'].major?
assert Language['Tcl'].major?
assert Language['VHDL'].major?
assert Language['Vala'].major?
assert Language['Verilog'].major?
assert Language['VimL'].major?
assert Language['Visual Basic'].major?
assert Language['XQuery'].major?
assert Language['ooc'].major?
end
def test_minor
assert Language['Brainfuck'].minor?
assert Language['HTML'].minor?
assert Language['Makefile'].minor?
assert Language['YAML'].minor?
end end
def test_searchable def test_searchable