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] || []
@filenames = attributes[:filenames] || []
# Set popular, common, and searchable flags
# Set popular, major, and searchable flags
@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
# If group name is set, save the name so we can lazy load it later
if attributes[:group_name]
if common?
if major?
warn "#{name} is a major langauage, it should not be grouped with #{attributes[:group_name]}"
end
@@ -303,11 +303,24 @@ module Linguist
!popular?
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
def common?
@common
def major?
@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
# Public: Is it searchable?
@@ -358,7 +371,6 @@ module Linguist
end
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|
Language.create(
@@ -370,8 +382,8 @@ module Linguist
:search_term => options['search_term'],
:extensions => options['extensions'],
:filenames => options['filenames'],
:popular => popular.include?(name),
:common => common.include?(name)
:major => options['major'],
:popular => popular.include?(name)
)
end
end

View File

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

View File

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

View File

@@ -196,9 +196,9 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Language['reStructuredText'], Language.find_by_alias('rst')
end
def test_common_groups
def test_major_groups
Language.all.each do |language|
if language.common?
if language.major?
assert_equal language, language.group
end
end
@@ -216,6 +216,7 @@ class TestLanguage < Test::Unit::TestCase
assert_equal Language['Shell'], Language['Batchfile'].group
assert_equal Language['Shell'], Language['Gentoo Ebuild'].group
assert_equal Language['Shell'], Language['Gentoo Eclass'].group
assert_equal Language['Shell'], Language['Tcsh'].group
end
# Used for code search indexing. Changing any of these values may
@@ -267,12 +268,71 @@ class TestLanguage < Test::Unit::TestCase
assert Language['Brainfuck'].unpopular?
end
def test_common
assert Language['Perl'].common?
assert Language['Python'].common?
assert Language['Ruby'].common?
assert !Language['Brainfuck'].common?
assert !Language['Makefile'].common?
def test_major
# Add an assertion to this list if you add/change any major
# settings in languages.yml. Please keep this list alphabetized.
assert Language['ASP'].major?
assert Language['ActionScript'].major?
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
def test_searchable