diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index 78aee90b..210b244d 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -269,8 +269,12 @@ module Linguist # Public: A List of languages compatible with Ace. # + # TODO: Remove this method in a 5.x release. Every language now needs an ace_mode + # key, so this function isn't doing anything unique anymore. + # # Returns an Array of Languages. def self.ace_modes + warn "This method will be deprecated in a future 5.x release. Every language now has an `ace_mode` set." @ace_modes ||= all.select(&:ace_mode).sort_by { |lang| lang.name.downcase } end diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index d89aefdb..21ca139f 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -5,7 +5,7 @@ # includes name.downcase) # ace_mode - A String name of the Ace Mode used for highlighting whenever # a file is edited. This must match one of the filenames in http://git.io/3XO_Cg. -# Use "none" if a mode does not exist. +# Use "text" if a mode does not exist. # wrap - Boolean wrap to enable line wrapping (default: false) # extensions - An Array of associated extensions (the first one is # considered the primary extension) @@ -46,7 +46,7 @@ ANTLR: color: "#9DC3FF" extensions: - .g4 - ace_mode: none + ace_mode: text APL: type: programming @@ -55,7 +55,7 @@ APL: - .apl - .dyalog tm_scope: none - ace_mode: none + ace_mode: text ASP: type: programming @@ -72,7 +72,7 @@ ASP: - .asmx - .aspx - .axd - ace_mode: none + ace_mode: text ATS: type: programming @@ -116,14 +116,14 @@ Agda: color: "#467C91" extensions: - .agda - ace_mode: none + ace_mode: text Alloy: type: programming # 'modeling' would be more appropiate color: "#cc5c24" extensions: - .als - ace_mode: none + ace_mode: text Ant Build System: type: data @@ -168,7 +168,7 @@ Arc: extensions: - .arc tm_scope: none - ace_mode: none + ace_mode: text Arduino: type: programming @@ -194,7 +194,7 @@ AspectJ: extensions: - .aj tm_scope: none - ace_mode: none + ace_mode: text Assembly: type: programming @@ -214,7 +214,7 @@ Augeas: extensions: - .aug tm_scope: none - ace_mode: none + ace_mode: text AutoHotkey: type: programming @@ -252,7 +252,7 @@ Awk: - gawk - mawk - nawk - ace_mode: none + ace_mode: text Batchfile: type: programming @@ -272,14 +272,14 @@ Batchfile: Befunge: extensions: - .befunge - ace_mode: none + ace_mode: text Bison: type: programming tm_scope: source.bison extensions: - .y - ace_mode: none + ace_mode: text BlitzBasic: type: programming @@ -292,7 +292,7 @@ BlitzBasic: - .bb - .decls tm_scope: source.blitzmax - ace_mode: none + ace_mode: text BlitzMax: type: programming @@ -301,7 +301,7 @@ BlitzMax: - .bmx aliases: - bmax - ace_mode: none + ace_mode: text Bluespec: type: programming @@ -315,27 +315,27 @@ Boo: color: "#d4bec1" extensions: - .boo - ace_mode: none + ace_mode: text Brainfuck: extensions: - .b - .bf tm_scope: source.bf - ace_mode: none + ace_mode: text Brightscript: type: programming extensions: - .brs tm_scope: none - ace_mode: none + ace_mode: text Bro: type: programming extensions: - .bro - ace_mode: none + ace_mode: text C: type: programming @@ -407,7 +407,7 @@ CLIPS: extensions: - .clp tm_scope: none - ace_mode: none + ace_mode: text CMake: extensions: @@ -415,7 +415,7 @@ CMake: - .in filenames: - CMakeLists.txt - ace_mode: none + ace_mode: text COBOL: type: programming @@ -440,13 +440,13 @@ Cap'n Proto: tm_scope: source.capnp extensions: - .capnp - ace_mode: none + ace_mode: text Ceylon: type: programming extensions: - .ceylon - ace_mode: none + ace_mode: text Chapel: type: programming @@ -455,7 +455,7 @@ Chapel: - chpl extensions: - .chpl - ace_mode: none + ace_mode: text ChucK: extensions: @@ -477,7 +477,7 @@ Clean: - .icl - .dcl tm_scope: none - ace_mode: none + ace_mode: text Clojure: type: programming @@ -579,14 +579,14 @@ Cool: extensions: - .cl tm_scope: source.cool - ace_mode: none + ace_mode: text Coq: type: programming extensions: - .coq - .v - ace_mode: none + ace_mode: text Cpp-ObjDump: type: data @@ -607,7 +607,7 @@ Creole: extensions: - .creole tm_scope: none - ace_mode: none + ace_mode: text Crystal: type: programming @@ -624,7 +624,7 @@ Cucumber: tm_scope: text.gherkin.feature aliases: - gherkin - ace_mode: none + ace_mode: text Cuda: type: programming @@ -650,7 +650,7 @@ Cython: - .pxi aliases: - pyrex - ace_mode: none + ace_mode: text D: type: programming @@ -685,7 +685,7 @@ Darcs Patch: - .darcspatch - .dpatch tm_scope: none - ace_mode: none + ace_mode: text Dart: type: programming @@ -717,7 +717,7 @@ Dogescript: extensions: - .djs tm_scope: none - ace_mode: none + ace_mode: text Dylan: type: programming @@ -727,7 +727,7 @@ Dylan: - .dyl - .intr - .lid - ace_mode: none + ace_mode: text E: type: programming @@ -735,7 +735,7 @@ E: extensions: - .E tm_scope: none - ace_mode: none + ace_mode: text ECL: type: programming @@ -744,7 +744,7 @@ ECL: - .ecl - .eclxml tm_scope: none - ace_mode: none + ace_mode: text Eagle: type: markup @@ -831,7 +831,7 @@ F#: - .fsi - .fsx tm_scope: source.fsharp - ace_mode: none + ace_mode: text FLUX: type: programming @@ -840,7 +840,7 @@ FLUX: - .fx - .flux tm_scope: none - ace_mode: none + ace_mode: text FORTRAN: type: programming @@ -863,7 +863,7 @@ FORTRAN: - .for - .fpp tm_scope: source.fortran.modern - ace_mode: none + ace_mode: text Factor: type: programming @@ -873,7 +873,7 @@ Factor: filenames: - .factor-boot-rc - .factor-rc - ace_mode: none + ace_mode: text Fancy: type: programming @@ -883,7 +883,7 @@ Fancy: - .fancypack filenames: - Fakefile - ace_mode: none + ace_mode: text Fantom: type: programming @@ -891,7 +891,7 @@ Fantom: extensions: - .fan tm_scope: source.fan - ace_mode: none + ace_mode: text Forth: type: programming @@ -930,7 +930,7 @@ GAMS: extensions: - .gms tm_scope: none - ace_mode: none + ace_mode: text GAP: type: programming @@ -940,7 +940,7 @@ GAP: - .gd - .gi tm_scope: none - ace_mode: none + ace_mode: text GAS: type: programming @@ -956,7 +956,7 @@ GDScript: extensions: - .gd tm_scope: none - ace_mode: none + ace_mode: text GLSL: group: C @@ -1018,7 +1018,7 @@ Gettext Catalog: - .po - .pot tm_scope: source.po - ace_mode: none + ace_mode: text Glyph: type: programming @@ -1039,7 +1039,7 @@ Gnuplot: - .plt interpreters: - gnuplot - ace_mode: none + ace_mode: text Go: type: programming @@ -1054,7 +1054,7 @@ Golo: extensions: - .golo tm_scope: none - ace_mode: none + ace_mode: text Gosu: type: programming @@ -1065,21 +1065,21 @@ Gosu: - .gsx - .vark tm_scope: source.gosu.2 - ace_mode: none + ace_mode: text Grace: type: programming extensions: - .grace tm_scope: none - ace_mode: none + ace_mode: text Gradle: type: data extensions: - .gradle tm_scope: source.groovy.gradle - ace_mode: none + ace_mode: text Grammatical Framework: type: programming @@ -1098,7 +1098,7 @@ Graph Modeling Language: extensions: - .gml tm_scope: none - ace_mode: none + ace_mode: text Graphviz (DOT): type: data @@ -1107,7 +1107,7 @@ Graphviz (DOT): - .dot - .DOT - .gv - ace_mode: none + ace_mode: text Groff: extensions: @@ -1122,7 +1122,7 @@ Groff: tm_scope: text.groff aliases: - nroff - ace_mode: none + ace_mode: text Groovy: type: programming @@ -1196,7 +1196,7 @@ HTTP: extensions: - .http tm_scope: none - ace_mode: none + ace_mode: text Hack: type: programming @@ -1230,7 +1230,7 @@ Harbour: extensions: - .hb tm_scope: none - ace_mode: none + ace_mode: text Haskell: type: programming @@ -1265,7 +1265,7 @@ IDL: extensions: - .pro - .dlm - ace_mode: none + ace_mode: text IGOR Pro: type: programming @@ -1275,7 +1275,7 @@ IGOR Pro: - igor - igorpro tm_scope: none - ace_mode: none + ace_mode: text INI: type: data @@ -1298,14 +1298,14 @@ IRC log: - .irclog - .weechatlog tm_scope: none - ace_mode: none + ace_mode: text Idris: type: programming extensions: - .idr - .lidr - ace_mode: none + ace_mode: text Inform 7: type: programming @@ -1317,13 +1317,13 @@ Inform 7: aliases: - i7 - inform7 - ace_mode: none + ace_mode: text Inno Setup: extensions: - .iss tm_scope: none - ace_mode: none + ace_mode: text Io: type: programming @@ -1339,7 +1339,7 @@ Ioke: - .ik interpreters: - ioke - ace_mode: none + ace_mode: text Isabelle: type: programming @@ -1347,14 +1347,14 @@ Isabelle: extensions: - .thy tm_scope: source.isabelle.theory - ace_mode: none + ace_mode: text J: type: programming extensions: - .ijs tm_scope: none - ace_mode: none + ace_mode: text JSON: type: data @@ -1468,7 +1468,7 @@ KRL: extensions: - .krl tm_scope: none - ace_mode: none + ace_mode: text Kit: type: markup @@ -1484,7 +1484,7 @@ Kotlin: - .ktm - .kts tm_scope: source.Kotlin - ace_mode: none + ace_mode: text LFE: type: programming @@ -1498,7 +1498,7 @@ LFE: LLVM: extensions: - .ll - ace_mode: none + ace_mode: text LOLCODE: type: programming @@ -1506,7 +1506,7 @@ LOLCODE: - .lol color: "#cc9900" tm_scope: none - ace_mode: none + ace_mode: text LSL: type: programming @@ -1522,7 +1522,7 @@ LabVIEW: extensions: - .lvproj tm_scope: none - ace_mode: none + ace_mode: text Lasso: type: programming @@ -1536,7 +1536,7 @@ Lasso: tm_scope: file.lasso aliases: - lassoscript - ace_mode: none + ace_mode: text Latte: type: markup @@ -1559,7 +1559,7 @@ LilyPond: extensions: - .ly - .ily - ace_mode: none + ace_mode: text Liquid: type: markup @@ -1574,7 +1574,7 @@ Literate Agda: extensions: - .lagda tm_scope: none - ace_mode: none + ace_mode: text Literate CoffeeScript: type: programming @@ -1587,7 +1587,7 @@ Literate CoffeeScript: - litcoffee extensions: - .litcoffee - ace_mode: none + ace_mode: text Literate Haskell: type: programming @@ -1599,7 +1599,7 @@ Literate Haskell: extensions: - .lhs tm_scope: text.tex.latex.haskell - ace_mode: none + ace_mode: text LiveScript: type: programming @@ -1620,14 +1620,14 @@ Logos: - .xm - .x - .xi - ace_mode: none + ace_mode: text Logtalk: type: programming extensions: - .lgt - .logtalk - ace_mode: none + ace_mode: text LookML: type: programming @@ -1642,7 +1642,7 @@ LoomScript: extensions: - .ls tm_scope: source.loomscript - ace_mode: none + ace_mode: text Lua: type: programming @@ -1698,7 +1698,7 @@ Mako: - .mako - .mao tm_scope: text.html.mako - ace_mode: none + ace_mode: text Markdown: type: prose @@ -1732,7 +1732,7 @@ Mathematica: - .nbp aliases: - mma - ace_mode: none + ace_mode: text Matlab: type: programming @@ -1771,7 +1771,7 @@ MediaWiki: extensions: - .mediawiki tm_scope: none - ace_mode: none + ace_mode: text Mercury: type: programming @@ -1790,7 +1790,7 @@ MiniD: # Legacy extensions: - .minid # Dummy extension tm_scope: none - ace_mode: none + ace_mode: text Mirah: type: programming @@ -1808,14 +1808,14 @@ Monkey: type: programming extensions: - .monkey - ace_mode: none + ace_mode: text Moocode: type: programming extensions: - .moo tm_scope: none - ace_mode: none + ace_mode: text MoonScript: type: programming @@ -1823,26 +1823,26 @@ MoonScript: - .moon interpreters: - moon - ace_mode: none + ace_mode: text Myghty: extensions: - .myt tm_scope: none - ace_mode: none + ace_mode: text NSIS: extensions: - .nsi - .nsh - ace_mode: none + ace_mode: text Nemerle: type: programming color: "#0d3c6e" extensions: - .n - ace_mode: none + ace_mode: text NetLogo: type: programming @@ -1859,7 +1859,7 @@ Nginx: tm_scope: source.nginx aliases: - nginx configuration file - ace_mode: none + ace_mode: text Nimrod: type: programming @@ -1867,14 +1867,14 @@ Nimrod: extensions: - .nim - .nimrod - ace_mode: none + ace_mode: text Ninja: type: data tm_scope: source.ninja extensions: - .ninja - ace_mode: none + ace_mode: text Nit: type: programming @@ -1882,7 +1882,7 @@ Nit: extensions: - .nit tm_scope: none - ace_mode: none + ace_mode: text Nix: type: programming @@ -1915,7 +1915,7 @@ NumPy: - .numpyw - .numsc tm_scope: none - ace_mode: none + ace_mode: text OCaml: type: programming @@ -1973,7 +1973,7 @@ Objective-J: - .j - .sj tm_scope: source.js.objj - ace_mode: none + ace_mode: text Omgrofl: type: programming @@ -1981,13 +1981,13 @@ Omgrofl: - .omgrofl color: "#cabbff" tm_scope: none - ace_mode: none + ace_mode: text Opa: type: programming extensions: - .opa - ace_mode: none + ace_mode: text Opal: type: programming @@ -1995,7 +1995,7 @@ Opal: extensions: - .opal tm_scope: none - ace_mode: none + ace_mode: text OpenCL: type: programming @@ -2016,14 +2016,14 @@ OpenEdge ABL: - .p - .cls tm_scope: source.abl - ace_mode: none + ace_mode: text OpenSCAD: type: programming extensions: - .scad tm_scope: none - ace_mode: none + ace_mode: text Org: type: prose @@ -2031,7 +2031,7 @@ Org: extensions: - .org tm_scope: none - ace_mode: none + ace_mode: text Ox: type: programming @@ -2040,7 +2040,7 @@ Ox: - .oxh - .oxo tm_scope: none - ace_mode: none + ace_mode: text Oxygene: type: programming @@ -2048,7 +2048,7 @@ Oxygene: extensions: - .oxygene tm_scope: none - ace_mode: none + ace_mode: text Oz: type: programming @@ -2056,7 +2056,7 @@ Oz: extensions: - .oz tm_scope: source.oz - ace_mode: none + ace_mode: text PAWN: type: programming @@ -2093,7 +2093,7 @@ Pan: extensions: - .pan tm_scope: none - ace_mode: none + ace_mode: text Papyrus: type: programming @@ -2101,7 +2101,7 @@ Papyrus: extensions: - .psc tm_scope: none - ace_mode: none + ace_mode: text Parrot: type: programming @@ -2109,7 +2109,7 @@ Parrot: extensions: - .parrot # Dummy extension tm_scope: none - ace_mode: none + ace_mode: text Parrot Assembly: group: Parrot @@ -2121,7 +2121,7 @@ Parrot Assembly: interpreters: - parrot tm_scope: none - ace_mode: none + ace_mode: text Parrot Internal Representation: group: Parrot @@ -2133,7 +2133,7 @@ Parrot Internal Representation: - .pir interpreters: - parrot - ace_mode: none + ace_mode: text Pascal: type: programming @@ -2191,7 +2191,7 @@ PigLatin: extensions: - .pig tm_scope: none - ace_mode: none + ace_mode: text Pike: type: programming @@ -2199,7 +2199,7 @@ Pike: extensions: - .pike - .pmod - ace_mode: none + ace_mode: text Pod: type: prose @@ -2215,7 +2215,7 @@ PogoScript: extensions: - .pogo tm_scope: none - ace_mode: none + ace_mode: text PostScript: type: markup @@ -2225,7 +2225,7 @@ PostScript: tm_scope: source.postscript aliases: - postscr - ace_mode: none + ace_mode: text PowerShell: type: programming @@ -2242,7 +2242,7 @@ Processing: color: "#2779ab" extensions: - .pde - ace_mode: none + ace_mode: text Prolog: type: programming @@ -2262,7 +2262,7 @@ Propeller Spin: extensions: - .spin tm_scope: none - ace_mode: none + ace_mode: text Protocol Buffer: type: markup @@ -2280,7 +2280,7 @@ Public Key: - .asc - .pub tm_scope: none - ace_mode: none + ace_mode: text Puppet: type: programming @@ -2289,7 +2289,7 @@ Puppet: - .pp filenames: - Modulefile - ace_mode: none + ace_mode: text Pure Data: type: programming @@ -2297,7 +2297,7 @@ Pure Data: extensions: - .pd tm_scope: none - ace_mode: none + ace_mode: text PureScript: type: programming @@ -2342,7 +2342,7 @@ Python traceback: extensions: - .pytb tm_scope: text.python.traceback - ace_mode: none + ace_mode: text QML: type: markup @@ -2350,7 +2350,7 @@ QML: extensions: - .qml tm_scope: source.qml - ace_mode: none + ace_mode: text QMake: extensions: @@ -2358,7 +2358,7 @@ QMake: - .pri interpreters: - qmake - ace_mode: none + ace_mode: text R: type: programming @@ -2406,7 +2406,7 @@ REALbasic: - .rbtbar - .rbuistate tm_scope: source.vbnet - ace_mode: none + ace_mode: text RHTML: type: markup @@ -2447,7 +2447,7 @@ Ragel in Ruby Host: - ragel-rb - ragel-ruby tm_scope: none - ace_mode: none + ace_mode: text Raw token data: search_term: raw @@ -2456,7 +2456,7 @@ Raw token data: extensions: - .raw tm_scope: none - ace_mode: none + ace_mode: text Rebol: type: programming @@ -2467,7 +2467,7 @@ Rebol: - .r2 - .r3 - .rebol - ace_mode: none + ace_mode: text Red: type: programming @@ -2478,13 +2478,13 @@ Red: aliases: - red/system tm_scope: none - ace_mode: none + ace_mode: text Redcode: extensions: - .cw tm_scope: none - ace_mode: none + ace_mode: text RobotFramework: type: programming @@ -2492,7 +2492,7 @@ RobotFramework: - .robot # - .txt tm_scope: text.robot - ace_mode: none + ace_mode: text Rouge: type: programming @@ -2563,7 +2563,7 @@ SAS: extensions: - .sas tm_scope: none - ace_mode: none + ace_mode: text SCSS: type: markup @@ -2580,7 +2580,7 @@ SQF: - .sqf - .hqf tm_scope: source.sqf - ace_mode: none + ace_mode: text SQL: type: data @@ -2634,7 +2634,7 @@ Scaml: extensions: - .scaml tm_scope: source.scaml - ace_mode: none + ace_mode: text Scheme: type: programming @@ -2658,7 +2658,7 @@ Scilab: - .sci - .sce - .tst - ace_mode: none + ace_mode: text Self: type: programming @@ -2666,7 +2666,7 @@ Self: extensions: - .self tm_scope: none - ace_mode: none + ace_mode: text Shell: type: programming @@ -2708,7 +2708,7 @@ Shen: extensions: - .shen tm_scope: none - ace_mode: none + ace_mode: text Slash: type: programming @@ -2716,7 +2716,7 @@ Slash: extensions: - .sl tm_scope: text.html.slash - ace_mode: none + ace_mode: text Slim: group: HTML @@ -2724,7 +2724,7 @@ Slim: color: "#ff8877" extensions: - .slim - ace_mode: none + ace_mode: text Smalltalk: type: programming @@ -2733,7 +2733,7 @@ Smalltalk: - .st aliases: - squeak - ace_mode: none + ace_mode: text Smarty: extensions: @@ -2748,7 +2748,7 @@ SourcePawn: extensions: - .sp tm_scope: source.sp - ace_mode: none + ace_mode: text Squirrel: type: programming @@ -2768,7 +2768,7 @@ Standard ML: - .sig - .sml tm_scope: source.ml - ace_mode: none + ace_mode: text Stata: type: programming @@ -2780,7 +2780,7 @@ Stata: - .mata - .matah - .sthlp - ace_mode: none + ace_mode: text Stylus: type: markup @@ -2797,14 +2797,14 @@ SuperCollider: - .scd - .sc tm_scope: none - ace_mode: none + ace_mode: text Swift: type: programming color: "#ffac45" extensions: - .swift - ace_mode: none + ace_mode: text SystemVerilog: type: programming @@ -2827,7 +2827,7 @@ TXL: extensions: - .txl tm_scope: none - ace_mode: none + ace_mode: text Tcl: type: programming @@ -2879,7 +2879,7 @@ Tea: extensions: - .tea tm_scope: source.tea - ace_mode: none + ace_mode: text Textile: type: prose @@ -2894,7 +2894,7 @@ Thrift: tm_scope: source.thrift extensions: - .thrift - ace_mode: none + ace_mode: text Turing: type: programming @@ -2903,7 +2903,7 @@ Turing: - .t - .tu tm_scope: none - ace_mode: none + ace_mode: text Twig: type: markup @@ -2991,7 +2991,7 @@ VimL: - _vimrc - gvimrc - vimrc - ace_mode: none + ace_mode: text Visual Basic: type: programming @@ -3009,7 +3009,7 @@ Visual Basic: aliases: - vb.net - vbnet - ace_mode: none + ace_mode: text Volt: type: programming @@ -3150,13 +3150,13 @@ Xojo: - .xojo_toolbar - .xojo_window tm_scope: source.vbnet - ace_mode: none + ace_mode: text Xtend: type: programming extensions: - .xtend - ace_mode: none + ace_mode: text YAML: type: data @@ -3185,7 +3185,7 @@ Zimpl: - .zmpl - .zpl tm_scope: none - ace_mode: none + ace_mode: text eC: type: programming @@ -3194,7 +3194,7 @@ eC: - .ec - .eh tm_scope: none - ace_mode: none + ace_mode: text edn: type: data @@ -3210,26 +3210,26 @@ fish: extensions: - .fish tm_scope: none - ace_mode: none + ace_mode: text mupad: extensions: - .mu - ace_mode: none + ace_mode: text nesC: type: programming color: "#ffce3b" extensions: - .nc - ace_mode: none + ace_mode: text ooc: type: programming color: "#b0b77e" extensions: - .ooc - ace_mode: none + ace_mode: text reStructuredText: type: prose @@ -3240,7 +3240,7 @@ reStructuredText: extensions: - .rst - .rest - ace_mode: none + ace_mode: text text: type: prose @@ -3249,7 +3249,7 @@ text: - .txt - .fr tm_scope: none - ace_mode: none + ace_mode: text wisp: type: programming @@ -3265,4 +3265,4 @@ xBase: extensions: - .prg tm_scope: none - ace_mode: none + ace_mode: text diff --git a/test/test_language.rb b/test/test_language.rb index 2bfec9fa..10b714c8 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -308,11 +308,12 @@ class TestLanguage < Test::Unit::TestCase assert_equal 'css', Language['CSS'].ace_mode assert_equal 'lsl', Language['LSL'].ace_mode assert_equal 'javascript', Language['JavaScript'].ace_mode - assert_equal 'none', Language['FORTRAN'].ace_mode + assert_equal 'text', Language['FORTRAN'].ace_mode end def test_ace_modes assert Language.ace_modes.include?(Language['Ruby']) + assert Language.ace_modes.include?(Language['FORTRAN']) end def test_wrap @@ -366,9 +367,9 @@ class TestLanguage < Test::Unit::TestCase File.basename(ace_github_mode["name"], ".js") if ace_github_mode["name"] !~ /_highlight_rules|_test|_worker/ end.compact.uniq.sort.map(&:downcase) - missing = Language.all.reject { |language| language.ace_mode == "none" || existing_ace_modes.include?(language.ace_mode) } + missing = Language.all.reject { |language| language.ace_mode == "text" || existing_ace_modes.include?(language.ace_mode) } message = "The following languages do not have an Ace mode listed in languages.yml. Please add an Ace mode for all new languages.\n" - message << "If no Ace mode exists for a language, mark the language with `ace_mode: none` in lib/linguist/languages.yml.\n" + message << "If no Ace mode exists for a language, mark the language with `ace_mode: text` in lib/linguist/languages.yml.\n" width = missing.map { |language| language.name.length }.max message << missing.map { |language| sprintf("%-#{width}s %s", language.name, language.ace_mode) }.sort.join("\n")