Skip to content
Snippets Groups Projects
Commit c3d6fc5a authored by Joshua Peek's avatar Joshua Peek
Browse files

Colors!

parent dd628516
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -194,6 +194,13 @@ module Linguist
@unpopular ||= all.select(&:unpopular?).sort_by { |lang| lang.name.downcase }
end
 
# Public: A List of languages with assigned colors.
#
# Returns an Array of Languages.
def self.colors
@colors ||= all.select(&:color).sort_by { |lang| lang.name.downcase }
end
# Public: A List of languages compatible with Ace.
#
# Returns an Array of Languages.
Loading
Loading
@@ -214,6 +221,8 @@ module Linguist
raise ArgumentError, "invalid type: #{@type}"
end
 
@color = attributes[:color]
# Set aliases
@aliases = [default_alias_name] + (attributes[:aliases] || [])
 
Loading
Loading
@@ -269,6 +278,11 @@ module Linguist
# Returns a type Symbol or nil.
attr_reader :type
 
# Public: Get color.
#
# Returns a hex color String.
attr_reader :color
# Public: Get aliases
#
# Examples
Loading
Loading
@@ -434,6 +448,7 @@ module Linguist
YAML.load_file(File.expand_path("../languages.yml", __FILE__)).each do |name, options|
Language.create(
:name => name,
:color => options['color'],
:type => options['type'],
:aliases => options['aliases'],
:lexer => options['lexer'],
Loading
Loading
Loading
Loading
@@ -17,6 +17,7 @@
# searchable - Boolean flag to enable searching (defaults to true)
# search_term - Deprecated: Some languages maybe indexed under a
# different alias. Avoid defining new exceptions.
# color - CSS hex color to represent the language.
#
# Any additions or modifications (even trivial) should have corresponding
# test change in `test/test_blob.rb`.
Loading
Loading
@@ -25,6 +26,7 @@
 
ASP:
type: programming
color: "#6a40fd"
lexer: aspx-vb
search_term: aspx-vb
aliases:
Loading
Loading
@@ -43,6 +45,7 @@ ASP:
ActionScript:
type: programming
lexer: ActionScript 3
color: "#e3491a"
search_term: as3
aliases:
- as3
Loading
Loading
@@ -51,6 +54,7 @@ ActionScript:
 
Ada:
type: programming
color: "#02f88c"
extensions:
- .adb
- .ads
Loading
Loading
@@ -71,12 +75,14 @@ AppleScript:
 
Arc:
type: programming
color: "#ca2afe"
lexer: Text only
extensions:
- .arc
 
Arduino:
type: programming
color: "#bd79d1"
lexer: C++
extensions:
- .ino
Loading
Loading
@@ -84,6 +90,7 @@ Arduino:
Assembly:
type: programming
lexer: NASM
color: "#a67219"
search_term: nasm
aliases:
- nasm
Loading
Loading
@@ -98,6 +105,7 @@ Augeas:
AutoHotkey:
type: programming
lexer: autohotkey
color: "#6594b9"
aliases:
- ahk
extensions:
Loading
Loading
@@ -124,6 +132,7 @@ BlitzMax:
 
Boo:
type: programming
color: "#d4bec1"
extensions:
- .boo
 
Loading
Loading
@@ -139,6 +148,7 @@ Bro:
 
C:
type: programming
color: "#555"
overrides:
- .h
primary_extension: .c
Loading
Loading
@@ -151,6 +161,7 @@ C#:
type: programming
ace_mode: csharp
search_term: csharp
color: "#5a25a2"
aliases:
- csharp
extensions:
Loading
Loading
@@ -160,6 +171,7 @@ C++:
type: programming
ace_mode: c_cpp
search_term: cpp
color: "#f34b7d"
aliases:
- cpp
primary_extension: .cpp
Loading
Loading
@@ -211,6 +223,7 @@ ChucK:
Clojure:
type: programming
ace_mode: clojure
color: "#db5855"
primary_extension: .clj
extensions:
- .clj
Loading
Loading
@@ -219,6 +232,7 @@ Clojure:
CoffeeScript:
type: programming
ace_mode: coffee
color: "#244776"
aliases:
- coffee
extensions:
Loading
Loading
@@ -230,6 +244,7 @@ ColdFusion:
type: programming
lexer: Coldfusion HTML
ace_mode: coldfusion
color: "#ed2cd6"
search_term: cfm
aliases:
- cfm
Loading
Loading
@@ -240,6 +255,7 @@ ColdFusion:
 
Common Lisp:
type: programming
color: "#3fb68b"
aliases:
- lisp
primary_extension: .lisp
Loading
Loading
@@ -277,6 +293,7 @@ Cython:
 
D:
type: programming
color: "#fcd46d"
extensions:
- .d
- .di
Loading
Loading
@@ -302,6 +319,7 @@ Dart:
 
Delphi:
type: programming
color: "#b0ce4e"
primary_extension: .pas
extensions:
- .dpr
Loading
Loading
@@ -325,6 +343,7 @@ Diff:
 
Dylan:
type: programming
color: "#3ebc27"
extensions:
- .dylan
 
Loading
Loading
@@ -338,11 +357,13 @@ Ecere Projects:
Eiffel:
type: programming
lexer: Text only
color: "#946d57"
extensions:
- .e
 
Elixir:
type: programming
color: "#6e4a7e"
primary_extension: .ex
extensions:
- .ex
Loading
Loading
@@ -351,6 +372,7 @@ Elixir:
Emacs Lisp:
type: programming
lexer: Scheme
color: "#c065db"
aliases:
- elisp
- emacs
Loading
Loading
@@ -361,6 +383,7 @@ Emacs Lisp:
 
Erlang:
type: programming
color: "#949e0e"
primary_extension: .erl
extensions:
- .erl
Loading
Loading
@@ -369,6 +392,7 @@ Erlang:
F#:
type: programming
lexer: FSharp
color: "#b845fc"
search_term: ocaml
extensions:
- .fs
Loading
Loading
@@ -378,6 +402,7 @@ F#:
FORTRAN:
type: programming
lexer: Fortran
color: "#4d41b1"
primary_extension: .f90
extensions:
- .F
Loading
Loading
@@ -399,11 +424,13 @@ FORTRAN:
 
Factor:
type: programming
color: "#636746"
extensions:
- .factor
 
Fancy:
type: programming
color: "#7b9db4"
primary_extension: .fy
extensions:
- .fancypack
Loading
Loading
@@ -411,6 +438,7 @@ Fancy:
 
Fantom:
type: programming
color: "#dbded5"
extensions:
- .fan
 
Loading
Loading
@@ -449,11 +477,13 @@ Gettext Catalog:
 
Go:
type: programming
color: "#8d04eb"
extensions:
- .go
 
Gosu:
type: programming
color: "#82937f"
primary_extension: .gs
extensions:
- .gs
Loading
Loading
@@ -477,6 +507,7 @@ Groff:
Groovy:
type: programming
ace_mode: groovy
color: "#e69f56"
primary_extension: .groovy
extensions:
- .gradle
Loading
Loading
@@ -528,6 +559,7 @@ HaXe:
type: programming
lexer: haXe
ace_mode: haxe
color: "#346d51"
extensions:
- .hx
- .hxml
Loading
Loading
@@ -541,6 +573,7 @@ Haml:
 
Haskell:
type: programming
color: "#29b544"
extensions:
- .hs
- .hsc
Loading
Loading
@@ -565,11 +598,13 @@ IRC log:
 
Io:
type: programming
color: "#a9188d"
extensions:
- .io
 
Ioke:
type: programming
color: "#078193"
extensions:
- .ik
 
Loading
Loading
@@ -584,6 +619,7 @@ JSON:
Java:
type: programming
ace_mode: java
color: "#b07219"
extensions:
- .java
- .pde
Loading
Loading
@@ -600,6 +636,7 @@ Java Server Pages:
JavaScript:
type: programming
ace_mode: javascript
color: "#f15501"
aliases:
- js
- node
Loading
Loading
@@ -658,6 +695,7 @@ Logtalk:
Lua:
type: programming
ace_mode: lua
color: "#fa1fa1"
extensions:
- .lua
- .nse
Loading
Loading
@@ -690,6 +728,7 @@ Markdown:
 
Matlab:
type: programming
color: "#bb92ac"
primary_extension: .matlab
extensions:
- .m
Loading
Loading
@@ -697,6 +736,7 @@ Matlab:
 
Max/MSP:
type: programming
color: "#ce279c"
lexer: Text only
extensions:
- .mxt
Loading
Loading
@@ -709,6 +749,7 @@ Mirah:
type: programming
lexer: Ruby
search_term: ruby
color: "#c7a938"
extensions:
- .duby
- .mir
Loading
Loading
@@ -725,11 +766,13 @@ Myghty:
 
Nemerle:
type: programming
color: "#0d3c6e"
extensions:
- .n
 
Nimrod:
type: programming
color: "#37775b"
extensions:
- .nim
- .nimrod
Loading
Loading
@@ -737,6 +780,7 @@ Nimrod:
Nu:
type: programming
lexer: Scheme
color: "#c9df40"
aliases:
- nush
extensions:
Loading
Loading
@@ -755,6 +799,7 @@ NumPy:
OCaml:
type: programming
ace_mode: ocaml
color: "#3be133"
primary_extension: .ml
extensions:
- .ml
Loading
Loading
@@ -770,6 +815,7 @@ ObjDump:
 
Objective-C:
type: programming
color: "#438eff"
overrides:
- .m
primary_extension: .m
Loading
Loading
@@ -780,6 +826,7 @@ Objective-C:
 
Objective-J:
type: programming
color: "#ff0c5a"
extensions:
- .j
- .sj
Loading
Loading
@@ -810,6 +857,7 @@ OpenEdge ABL:
PHP:
type: programming
ace_mode: php
color: "#6e03c1"
extensions:
- .aw
- .ctp
Loading
Loading
@@ -823,6 +871,7 @@ PHP:
 
Parrot:
type: programming
color: "#f3ca0a"
lexer: Text only
primary_extension: .parrot # Dummy extension
 
Loading
Loading
@@ -847,6 +896,7 @@ Parrot Assembly:
Perl:
type: programming
ace_mode: perl
color: "#0298c3"
overrides:
- .pl
- .t
Loading
Loading
@@ -873,6 +923,7 @@ PowerShell:
 
Prolog:
type: programming
color: "#74283c"
extensions:
- .pl
- .pro
Loading
Loading
@@ -880,6 +931,7 @@ Prolog:
 
Puppet:
type: programming
color: "#cc5555"
extensions:
- .pp
filenames:
Loading
Loading
@@ -887,6 +939,7 @@ Puppet:
 
Pure Data:
type: programming
color: "#91de79"
lexer: Text only
extensions:
- .pd
Loading
Loading
@@ -894,6 +947,7 @@ Pure Data:
Python:
type: programming
ace_mode: python
color: "#3581ba"
primary_extension: .py
extensions:
- .py
Loading
Loading
@@ -911,6 +965,7 @@ Python traceback:
 
R:
type: programming
color: "#198ce7"
lexer: S
overrides:
- .r
Loading
Loading
@@ -928,6 +983,7 @@ RHTML:
Racket:
type: programming
lexer: Scheme
color: "#ae17ff"
primary_extension: .rkt
extensions:
- .rkt
Loading
Loading
@@ -945,6 +1001,7 @@ Raw token data:
Rebol:
type: programming
lexer: REBOL
color: "#358a5b"
extensions:
- .r
- .r2
Loading
Loading
@@ -958,6 +1015,7 @@ Redcode:
Ruby:
type: programming
ace_mode: ruby
color: "#701516"
aliases:
- jruby
- macruby
Loading
Loading
@@ -990,6 +1048,7 @@ Ruby:
 
Rust:
type: programming
color: "#dea584"
lexer: Text only
extensions:
- .rs
Loading
Loading
@@ -1024,6 +1083,7 @@ Sass:
Scala:
type: programming
ace_mode: scala
color: "#7dd3b0"
primary_extension: .scala
extensions:
- .sbt
Loading
Loading
@@ -1031,6 +1091,7 @@ Scala:
 
Scheme:
type: programming
color: "#1e4aec"
primary_extension: .scm
extensions:
- .scm
Loading
Loading
@@ -1047,6 +1108,7 @@ Scilab:
 
Self:
type: programming
color: "#0579aa"
lexer: Text only
extensions:
- .self
Loading
Loading
@@ -1055,6 +1117,7 @@ Shell:
type: programming
lexer: Bash
search_term: bash
color: "#5861ce"
aliases:
- sh
- bash
Loading
Loading
@@ -1076,6 +1139,7 @@ Shell:
 
Smalltalk:
type: programming
color: "#596706"
extensions:
- .st
 
Loading
Loading
@@ -1085,6 +1149,7 @@ Smarty:
 
Standard ML:
type: programming
color: "#dc566d"
aliases:
- sml
primary_extension: .sml
Loading
Loading
@@ -1094,12 +1159,14 @@ Standard ML:
 
SuperCollider:
type: programming
color: "#46390b"
lexer: Text only
extensions:
- .sc
 
Tcl:
type: programming
color: "#e4cc98"
extensions:
- .tcl
 
Loading
Loading
@@ -1148,6 +1215,7 @@ Textile:
 
Turing:
type: programming
color: "#45f715"
lexer: Text only
extensions:
- .t
Loading
Loading
@@ -1163,12 +1231,14 @@ Twig:
VHDL:
type: programming
lexer: vhdl
color: "#543978"
extensions:
- .vhd
- .vhdl
 
Vala:
type: programming
color: "#ee7d06"
extensions:
- .vala
- .vapi
Loading
Loading
@@ -1176,6 +1246,7 @@ Vala:
Verilog:
type: programming
lexer: verilog
color: "#848bf3"
overrides:
- .v
extensions:
Loading
Loading
@@ -1183,6 +1254,7 @@ Verilog:
 
VimL:
type: programming
color: "#199c4b"
search_term: vim
aliases:
- vim
Loading
Loading
@@ -1197,6 +1269,7 @@ VimL:
Visual Basic:
type: programming
lexer: VB.net
color: "#945db7"
primary_extension: .vb
extensions:
- .bas
Loading
Loading
@@ -1234,6 +1307,7 @@ XML:
 
XQuery:
type: programming
color: "#2700e2"
extensions:
- .xq
- .xqm
Loading
Loading
@@ -1270,6 +1344,7 @@ mupad:
ooc:
type: programming
lexer: Ooc
color: "#b0b77e"
extensions:
- .ooc
 
Loading
Loading
Loading
Loading
@@ -309,6 +309,17 @@ class TestLanguage < Test::Unit::TestCase
end
end
 
def test_color
assert_equal '#701516', Language['Ruby'].color
assert_equal '#3581ba', Language['Python'].color
assert_equal '#f15501', Language['JavaScript'].color
end
def test_colors
assert Language.colors.include?(Language['Ruby'])
assert Language.colors.include?(Language['Python'])
end
def test_ace_mode
assert_equal 'c_cpp', Language['C++'].ace_mode
assert_equal 'coffee', Language['CoffeeScript'].ace_mode
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment