From 897c2c5ab60c2e2d0c3637e593b8ed714b67ccce Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Sun, 23 Nov 2014 21:16:21 -0800 Subject: [PATCH 01/14] Add missing `ace_mode` values wherever necessary --- lib/linguist/languages.yml | 68 +++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 51200cb5..39bf115d 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -36,6 +36,7 @@ AGS Script: - .asc - .ash tm_scope: source.c++ + ace_mode: c_cpp ANTLR: type: programming @@ -78,6 +79,7 @@ ATS: - .hats - .sats tm_scope: source.ocaml + ace_mode: ocaml ActionScript: type: programming @@ -119,6 +121,7 @@ Ant Build System: filenames: - ant.xml - build.xml + ace_mode: xml ApacheConf: type: markup @@ -129,12 +132,14 @@ ApacheConf: - .apacheconf - .conf tm_scope: source.apache-config + ace_mode: apache_conf Apex: type: programming extensions: - .cls tm_scope: source.java + ace_mode: java AppleScript: type: programming @@ -159,6 +164,7 @@ Arduino: extensions: - .ino tm_scope: source.c++ + ace_mode: c_cpp AsciiDoc: type: prose @@ -188,6 +194,7 @@ Assembly: - .ASM - .a51 tm_scope: source.asm.x86 + ace_mode: assembly_x86 Augeas: type: programming @@ -215,6 +222,7 @@ AutoIt: extensions: - .au3 tm_scope: source.autoit.3 + ace_mode: autohotkey Awk: type: programming @@ -279,6 +287,7 @@ Bluespec: extensions: - .bsv tm_scope: source.verilog + ace_mode: verilog Boo: type: programming @@ -356,6 +365,7 @@ C-ObjDump: extensions: - .c-objdump tm_scope: objdump.x86asm + ace_mode: assembly_x86 C2hs Haskell: type: programming @@ -365,6 +375,7 @@ C2hs Haskell: extensions: - .chs tm_scope: source.haskell + ace_mode: haskell CLIPS: type: programming @@ -419,6 +430,7 @@ ChucK: extensions: - .ck tm_scope: source.java + ace_mode: java Cirru: type: programming @@ -515,6 +527,7 @@ Common Lisp: - ccl - clisp - ecl + ace_mode: lisp Component Pascal: type: programming @@ -526,6 +539,7 @@ Component Pascal: aliases: - delphi - objectpascal + ace_mode: pascal Coq: type: programming @@ -544,6 +558,7 @@ Cpp-ObjDump: tm_scope: objdump.x86asm aliases: - c++-objdumb + ace_mode: assembly_x86 Creole: type: prose @@ -572,12 +587,14 @@ Cuda: - .cu - .cuh tm_scope: source.cuda-c++ + ace_mode: c_cpp Cycript: type: programming extensions: - .cy tm_scope: source.js + ace_mode: javascript Cython: type: programming @@ -601,6 +618,7 @@ D-ObjDump: extensions: - .d-objdump tm_scope: objdump.x86asm + ace_mode: assembly_x86 DM: type: programming @@ -610,6 +628,7 @@ DM: aliases: - byond tm_scope: source.c++ + ace_mode: c_cpp Darcs Patch: search_term: dpatch @@ -679,6 +698,7 @@ Eagle: - .sch - .brd tm_scope: text.xml + ace_mode: xml Ecere Projects: type: data @@ -686,6 +706,7 @@ Ecere Projects: extensions: - .epj tm_scope: source.json + ace_mode: json Eiffel: type: programming @@ -718,6 +739,7 @@ Emacs Lisp: extensions: - .el - .emacs + ace_mode: lisp EmberScript: type: programming @@ -726,6 +748,7 @@ EmberScript: - .em - .emberscript tm_scope: source.coffee + ace_mode: coffee Erlang: type: programming @@ -821,6 +844,7 @@ Frege: extensions: - .fr tm_scope: source.haskell + ace_mode: haskell G-code: type: data @@ -852,6 +876,7 @@ GAS: - .s - .S tm_scope: source.asm.x86 + ace_mode: assembly_x86 GDScript: type: programming @@ -883,6 +908,7 @@ Game Maker Language: extensions: - .gml tm_scope: source.js + ace_mode: javascript Genshi: extensions: @@ -891,6 +917,7 @@ Genshi: aliases: - xml+genshi - xml+kid + ace_mode: xml Gentoo Ebuild: group: Shell @@ -920,6 +947,7 @@ Glyph: extensions: - .glf tm_scope: source.tcl + ace_mode: tcl Gnuplot: type: programming @@ -936,6 +964,7 @@ Go: color: "#375eab" extensions: - .go + ace_mode: golang Golo: type: programming @@ -970,6 +999,7 @@ Grammatical Framework: searchable: true color: "#ff0000" tm_scope: source.haskell + ace_mode: haskell Graph Modeling Language: type: data @@ -1019,6 +1049,7 @@ Groovy Server Pages: extensions: - .gsp tm_scope: text.html.jsp + ace_mode: jsp HTML: type: markup @@ -1044,6 +1075,7 @@ HTML+Django: - html+django/jinja - html+jinja - htmldjango + ace_mode: django HTML+ERB: type: markup @@ -1054,6 +1086,7 @@ HTML+ERB: extensions: - .erb - .deface + ace_mode: html_ruby HTML+PHP: type: markup @@ -1061,6 +1094,7 @@ HTML+PHP: group: HTML extensions: - .phtml + ace_mode: php HTTP: type: data @@ -1234,11 +1268,12 @@ JSON5: extensions: - .json5 tm_scope: source.js + ace_mode: javascript JSONLD: type: data group: JavaScript - ace_mode: json + ace_mode: javascript extensions: - .jsonld tm_scope: source.js @@ -1272,6 +1307,7 @@ Java Server Pages: extensions: - .jsp tm_scope: text.html.jsp + ace_mode: jsp JavaScript: type: programming @@ -1339,6 +1375,7 @@ LFE: color: "#004200" group: Erlang tm_scope: source.lisp + ace_mode: lisp LLVM: extensions: @@ -1386,6 +1423,7 @@ Latte: extensions: - .latte tm_scope: source.smarty + ace_mode: smarty Less: type: markup @@ -1491,6 +1529,7 @@ M: - .mumps - .m tm_scope: source.lisp + ace_mode: lisp MTML: type: markup @@ -1498,6 +1537,7 @@ MTML: extensions: - .mtml tm_scope: text.html.basic + ace_mode: html Makefile: type: programming @@ -1566,6 +1606,7 @@ Maven POM: tm_scope: text.xml.pom filenames: - pom.xml + ace_mode: xml Max: type: programming @@ -1581,6 +1622,7 @@ Max: - .mxt - .pat tm_scope: source.json + ace_mode: json MediaWiki: type: prose @@ -1597,6 +1639,7 @@ Mercury: - .m - .moo tm_scope: source.prolog + ace_mode: prolog MiniD: # Legacy searchable: false @@ -1614,6 +1657,7 @@ Mirah: - .mir - .mirah tm_scope: source.ruby + ace_mode: ruby Monkey: type: programming @@ -1655,6 +1699,7 @@ NetLogo: extensions: - .nlogo tm_scope: source.lisp + ace_mode: lisp Nginx: type: markup @@ -1702,6 +1747,7 @@ Nu: filenames: - Nukefile tm_scope: source.scheme + ace_mode: scheme NumPy: group: Python @@ -1729,6 +1775,7 @@ ObjDump: extensions: - .objdump tm_scope: objdump.x86asm + ace_mode: assembly_x86 Objective-C: type: programming @@ -1741,6 +1788,7 @@ Objective-C: extensions: - .m - .h + ace_mode: objectivec Objective-C++: type: programming @@ -1752,6 +1800,7 @@ Objective-C++: - objectivec++ extensions: - .mm + ace_mode: objectivec Objective-J: type: programming @@ -1791,6 +1840,7 @@ OpenCL: - .cl - .opencl tm_scope: source.c + ace_mode: c_cpp OpenEdge ABL: type: programming @@ -1837,6 +1887,7 @@ PAWN: extensions: - .pwn tm_scope: source.c++ + ace_mode: c_cpp PHP: type: programming @@ -1941,6 +1992,7 @@ Perl6: - .pl6 - .pm6 tm_scope: none + ace_mode: perl PigLatin: type: programming @@ -2020,6 +2072,7 @@ Protocol Buffer: extensions: - .proto tm_scope: source.protobuf + ace_mode: protobuf Puppet: type: programming @@ -2042,6 +2095,7 @@ PureScript: extensions: - .purs tm_scope: source.haskell + ace_mode: haskell Python: type: programming @@ -2133,6 +2187,7 @@ RHTML: tm_scope: text.html.erb aliases: - html+ruby + ace_mode: html_ruby RMarkdown: type: prose @@ -2152,6 +2207,7 @@ Racket: - .rktl - .scrbl tm_scope: source.racket + ace_mode: lisp Ragel in Ruby Host: type: programming @@ -2303,6 +2359,7 @@ STON: extensions: - .ston tm_scope: source.json + ace_mode: lisp Sage: type: programming @@ -2310,6 +2367,7 @@ Sage: extensions: - .sage tm_scope: source.python + ace_mode: python Sass: type: markup @@ -2443,6 +2501,7 @@ Squirrel: extensions: - .nut tm_scope: source.c++ + ace_mode: c_cpp Standard ML: type: programming @@ -2610,6 +2669,7 @@ UnrealScript: extensions: - .uc tm_scope: source.java + ace_mode: java VCL: type: programming @@ -2683,12 +2743,14 @@ Volt: extensions: - .volt tm_scope: source.d + ace_mode: d XC: type: programming extensions: - .xc tm_scope: source.c + ace_mode: c_cpp XML: type: markup @@ -2773,6 +2835,7 @@ XProc: - .xpl - .xproc tm_scope: text.xml + ace_mode: xml XQuery: type: programming @@ -2788,6 +2851,7 @@ XS: extensions: - .xs tm_scope: source.c + ace_mode: c_cpp XSLT: type: programming @@ -2797,6 +2861,7 @@ XSLT: - .xslt - .xsl tm_scope: text.xml.xsl + ace_mode: xml Xojo: type: programming @@ -2831,6 +2896,7 @@ Zephir: extensions: - .zep tm_scope: source.php.zephir + ace_mode: php Zimpl: type: programming From 9d6b8b4715acf520da2b1ac0fdf38ef3470baf18 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Mon, 24 Nov 2014 10:58:13 -0800 Subject: [PATCH 02/14] Add test for catching missing `ace_mode` values --- test/test_language.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/test_language.rb b/test/test_language.rb index 1ad47e33..aeb73127 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -371,4 +371,19 @@ class TestLanguage < Test::Unit::TestCase message << missing.map { |language| sprintf("%-#{width}s %s", language.name, language.tm_scope) }.sort.join("\n") assert missing.empty?, message end + + def test_all_languages_have_a_valid_ace_mode + ace_github_modes = JSON.parse `curl https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode` + existing_ace_modes = ace_github_modes.map do |ace_github_mode| + File.basename(ace_github_mode["name"], ".js") if ace_github_mode["name"] !~ /_highlight_rules|_test|_worker/ + end.compact.uniq.sort + + missing = Language.all.reject { |language| language.ace_mode == "none" || 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" + + width = missing.map { |language| language.name.length }.max + message << missing.map { |language| sprintf("%-#{width}s %s", language.name, language.ace_mode) }.sort.join("\n") + assert missing.empty?, message + end end From 4603f3b2e72da00888cc87a62679da2cbcb64def Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Mon, 24 Nov 2014 11:38:51 -0800 Subject: [PATCH 03/14] Update languages.yml to always include ace_mode --- lib/linguist/languages.yml | 214 ++++++++++++++++++++++++++++++++++++- test/test_language.rb | 4 +- 2 files changed, 211 insertions(+), 7 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 39bf115d..82436932 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3,7 +3,8 @@ # type - Either data, programming, markup, prose, or nil # aliases - An Array of additional aliases (implicitly # includes name.downcase) -# ace_mode - A String name of Ace Mode (if available) +# ace_mode - A String name of the Ace Mode used for highlighting. Use +# "none" if one 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) @@ -26,6 +27,7 @@ ABAP: type: programming extensions: - .abap + ace_mode: abap AGS Script: type: programming @@ -43,6 +45,7 @@ ANTLR: color: "#9DC3FF" extensions: - .g4 + ace_mode: none APL: type: programming @@ -51,6 +54,7 @@ APL: - .apl - .dyalog tm_scope: none + ace_mode: none ASP: type: programming @@ -67,6 +71,7 @@ ASP: - .asmx - .aspx - .axd + ace_mode: none ATS: type: programming @@ -92,6 +97,7 @@ ActionScript: - as3 extensions: - .as + ace_mode: actionscript Ada: type: programming @@ -102,18 +108,21 @@ Ada: - .ads aliases: - ada95ada2005 + ace_mode: ada Agda: type: programming color: "#467C91" extensions: - .agda + ace_mode: none Alloy: type: programming # 'modeling' would be more appropiate color: "#cc5c24" extensions: - .als + ace_mode: none Ant Build System: type: data @@ -150,6 +159,7 @@ AppleScript: - .scpt interpreters: - osascript + ace_mode: applescript Arc: type: programming @@ -157,6 +167,7 @@ Arc: extensions: - .arc tm_scope: none + ace_mode: none Arduino: type: programming @@ -182,6 +193,7 @@ AspectJ: extensions: - .aj tm_scope: none + ace_mode: none Assembly: type: programming @@ -201,6 +213,7 @@ Augeas: extensions: - .aug tm_scope: none + ace_mode: none AutoHotkey: type: programming @@ -211,6 +224,7 @@ AutoHotkey: - .ahk - .ahkl tm_scope: none + ace_mode: autohotkey AutoIt: type: programming @@ -237,6 +251,7 @@ Awk: - gawk - mawk - nawk + ace_mode: none Batchfile: type: programming @@ -251,16 +266,19 @@ Batchfile: - .bat - .cmd tm_scope: source.dosbatch + ace_mode: batchfile Befunge: extensions: - .befunge + ace_mode: none Bison: type: programming tm_scope: source.bison extensions: - .y + ace_mode: none BlitzBasic: type: programming @@ -273,6 +291,7 @@ BlitzBasic: - .bb - .decls tm_scope: source.blitzmax + ace_mode: none BlitzMax: type: programming @@ -281,6 +300,7 @@ BlitzMax: - .bmx aliases: - bmax + ace_mode: none Bluespec: type: programming @@ -294,23 +314,27 @@ Boo: color: "#d4bec1" extensions: - .boo + ace_mode: none Brainfuck: extensions: - .b - .bf tm_scope: source.bf + ace_mode: none Brightscript: type: programming extensions: - .brs tm_scope: none + ace_mode: none Bro: type: programming extensions: - .bro + ace_mode: none C: type: programming @@ -321,6 +345,7 @@ C: - .h - .idc - .w + ace_mode: c_cpp C#: type: programming @@ -382,6 +407,7 @@ CLIPS: extensions: - .clp tm_scope: none + ace_mode: none CMake: extensions: @@ -389,6 +415,7 @@ CMake: - .in filenames: - CMakeLists.txt + ace_mode: none COBOL: type: programming @@ -400,6 +427,7 @@ COBOL: - .ccp - .cobol - .cpy + ace_mode: cobol CSS: ace_mode: css @@ -412,11 +440,13 @@ Cap'n Proto: tm_scope: source.capnp extensions: - .capnp + ace_mode: none Ceylon: type: programming extensions: - .ceylon + ace_mode: none Chapel: type: programming @@ -425,6 +455,7 @@ Chapel: - chpl extensions: - .chpl + ace_mode: none ChucK: extensions: @@ -446,6 +477,7 @@ Clean: - .icl - .dcl tm_scope: none + ace_mode: none Clojure: type: programming @@ -546,6 +578,7 @@ Coq: extensions: - .coq - .v + ace_mode: none Cpp-ObjDump: type: data @@ -566,6 +599,7 @@ Creole: extensions: - .creole tm_scope: none + ace_mode: none Crystal: type: programming @@ -580,6 +614,7 @@ Cucumber: tm_scope: text.gherkin.feature aliases: - gherkin + ace_mode: none Cuda: type: programming @@ -605,6 +640,7 @@ Cython: - .pxi aliases: - pyrex + ace_mode: none D: type: programming @@ -612,6 +648,7 @@ D: extensions: - .d - .di + ace_mode: d D-ObjDump: type: data @@ -638,12 +675,14 @@ Darcs Patch: - .darcspatch - .dpatch tm_scope: none + ace_mode: none Dart: type: programming color: "#98BAD6" extensions: - .dart + ace_mode: dart Diff: extensions: @@ -651,6 +690,7 @@ Diff: - .patch aliases: - udiff + ace_mode: diff Dockerfile: type: data @@ -659,6 +699,7 @@ Dockerfile: - .dockerfile filenames: - Dockerfile + ace_mode: dockerfile Dogescript: type: programming @@ -666,6 +707,7 @@ Dogescript: extensions: - .djs tm_scope: none + ace_mode: none Dylan: type: programming @@ -675,6 +717,7 @@ Dylan: - .dyl - .intr - .lid + ace_mode: none E: type: programming @@ -682,6 +725,7 @@ E: extensions: - .E tm_scope: none + ace_mode: none ECL: type: programming @@ -690,6 +734,7 @@ ECL: - .ecl - .eclxml tm_scope: none + ace_mode: none Eagle: type: markup @@ -713,6 +758,7 @@ Eiffel: color: "#946d57" extensions: - .e + ace_mode: eiffel Elixir: type: programming @@ -720,12 +766,14 @@ Elixir: extensions: - .ex - .exs + ace_mode: elixir Elm: type: programming extensions: - .elm tm_scope: source.haskell + ace_mode: elm Emacs Lisp: type: programming @@ -758,6 +806,7 @@ Erlang: - .es - .escript - .hrl + ace_mode: erlang F#: type: programming @@ -770,6 +819,7 @@ F#: - .fsi - .fsx tm_scope: source.fsharp + ace_mode: none FLUX: type: programming @@ -778,6 +828,7 @@ FLUX: - .fx - .flux tm_scope: none + ace_mode: none FORTRAN: type: programming @@ -800,6 +851,7 @@ FORTRAN: - .for - .fpp tm_scope: source.fortran.modern + ace_mode: none Factor: type: programming @@ -809,6 +861,7 @@ Factor: filenames: - .factor-boot-rc - .factor-rc + ace_mode: none Fancy: type: programming @@ -818,6 +871,7 @@ Fancy: - .fancypack filenames: - Fakefile + ace_mode: none Fantom: type: programming @@ -825,6 +879,7 @@ Fantom: extensions: - .fan tm_scope: source.fan + ace_mode: none Forth: type: programming @@ -837,6 +892,7 @@ Forth: - .for - .forth - .frt + ace_mode: forth Frege: type: programming @@ -853,12 +909,14 @@ G-code: - .gco - .gcode tm_scope: none + ace_mode: gcode GAMS: type: programming extensions: - .gms tm_scope: none + ace_mode: none GAP: type: programming @@ -868,6 +926,7 @@ GAP: - .gd - .gi tm_scope: none + ace_mode: none GAS: type: programming @@ -883,6 +942,7 @@ GDScript: extensions: - .gd tm_scope: none + ace_mode: none GLSL: group: C @@ -901,6 +961,7 @@ GLSL: - .vert - .vrx - .vshader + ace_mode: glsl Game Maker Language: type: programming @@ -924,12 +985,14 @@ Gentoo Ebuild: extensions: - .ebuild tm_scope: source.shell + ace_mode: sh Gentoo Eclass: group: Shell extensions: - .eclass tm_scope: source.shell + ace_mode: sh Gettext Catalog: search_term: pot @@ -940,6 +1003,7 @@ Gettext Catalog: - .po - .pot tm_scope: source.po + ace_mode: none Glyph: type: programming @@ -958,6 +1022,7 @@ Gnuplot: - .gnuplot - .plot - .plt + ace_mode: none Go: type: programming @@ -972,6 +1037,7 @@ Golo: extensions: - .golo tm_scope: none + ace_mode: none Gosu: type: programming @@ -982,12 +1048,14 @@ Gosu: - .gsx - .vark tm_scope: source.gosu.2 + ace_mode: none Grace: type: programming extensions: - .grace tm_scope: none + ace_mode: none Grammatical Framework: type: programming @@ -1006,6 +1074,7 @@ Graph Modeling Language: extensions: - .gml tm_scope: none + ace_mode: none Graphviz (DOT): type: data @@ -1014,6 +1083,7 @@ Graphviz (DOT): - .dot - .DOT - .gv + ace_mode: none Groff: extensions: @@ -1028,6 +1098,7 @@ Groff: tm_scope: text.groff aliases: - nroff + ace_mode: none Groovy: type: programming @@ -1101,6 +1172,7 @@ HTTP: extensions: - .http tm_scope: none + ace_mode: none Hack: type: programming @@ -1116,6 +1188,7 @@ Haml: extensions: - .haml - .deface + ace_mode: haml Handlebars: type: markup @@ -1125,6 +1198,7 @@ Handlebars: - .handlebars - .hbs tm_scope: text.html.handlebars + ace_mode: handlebars Harbour: type: programming @@ -1132,6 +1206,7 @@ Harbour: extensions: - .hb tm_scope: none + ace_mode: none Haskell: type: programming @@ -1139,6 +1214,7 @@ Haskell: extensions: - .hs - .hsc + ace_mode: haskell Haxe: type: programming @@ -1165,6 +1241,7 @@ IDL: extensions: - .pro - .dlm + ace_mode: none IGOR Pro: type: programming @@ -1174,6 +1251,7 @@ IGOR Pro: - igor - igorpro tm_scope: none + ace_mode: none INI: type: data @@ -1185,6 +1263,7 @@ INI: tm_scope: source.ini aliases: - dosini + ace_mode: ini IRC log: search_term: irc @@ -1195,12 +1274,14 @@ IRC log: - .irclog - .weechatlog tm_scope: none + ace_mode: none Idris: type: programming extensions: - .idr - .lidr + ace_mode: none Inform 7: type: programming @@ -1212,23 +1293,27 @@ Inform 7: aliases: - i7 - inform7 + ace_mode: none Inno Setup: extensions: - .iss tm_scope: none + ace_mode: none Io: type: programming color: "#a9188d" extensions: - .io + ace_mode: io Ioke: type: programming color: "#078193" extensions: - .ik + ace_mode: none Isabelle: type: programming @@ -1236,12 +1321,14 @@ Isabelle: extensions: - .thy tm_scope: none + ace_mode: none J: type: programming extensions: - .ijs tm_scope: none + ace_mode: none JSON: type: data @@ -1291,6 +1378,7 @@ Jade: extensions: - .jade tm_scope: source.jade + ace_mode: jade Java: type: programming @@ -1345,6 +1433,7 @@ Julia: extensions: - .jl color: "#a270ba" + ace_mode: julia KRL: type: programming @@ -1352,6 +1441,7 @@ KRL: extensions: - .krl tm_scope: none + ace_mode: none Kit: type: markup @@ -1367,6 +1457,7 @@ Kotlin: - .ktm - .kts tm_scope: source.Kotlin + ace_mode: none LFE: type: programming @@ -1380,6 +1471,7 @@ LFE: LLVM: extensions: - .ll + ace_mode: none LOLCODE: type: programming @@ -1387,6 +1479,7 @@ LOLCODE: - .lol color: "#cc9900" tm_scope: none + ace_mode: none LSL: type: programming @@ -1402,6 +1495,7 @@ LabVIEW: extensions: - .lvproj tm_scope: none + ace_mode: none Lasso: type: programming @@ -1415,6 +1509,7 @@ Lasso: tm_scope: file.lasso aliases: - lassoscript + ace_mode: none Latte: type: markup @@ -1431,17 +1526,20 @@ Less: extensions: - .less tm_scope: source.css.less + ace_mode: less LilyPond: extensions: - .ly - .ily + ace_mode: none Liquid: type: markup extensions: - .liquid tm_scope: none + ace_mode: liquid Literate Agda: type: programming @@ -1449,6 +1547,7 @@ Literate Agda: extensions: - .lagda tm_scope: none + ace_mode: none Literate CoffeeScript: type: programming @@ -1461,6 +1560,7 @@ Literate CoffeeScript: - litcoffee extensions: - .litcoffee + ace_mode: none Literate Haskell: type: programming @@ -1472,10 +1572,10 @@ Literate Haskell: extensions: - .lhs tm_scope: text.tex.latex.haskell + ace_mode: none LiveScript: type: programming - ace_mode: ls color: "#499886" aliases: - live-script @@ -1485,6 +1585,7 @@ LiveScript: - ._ls filenames: - Slakefile + ace_mode: livescript Logos: type: programming @@ -1492,12 +1593,14 @@ Logos: - .xm - .x - .xi + ace_mode: none Logtalk: type: programming extensions: - .lgt - .logtalk + ace_mode: none LookML: type: programming @@ -1554,12 +1657,14 @@ Makefile: - makefile interpreters: - make + ace_mode: makefile Mako: extensions: - .mako - .mao tm_scope: text.html.mako + ace_mode: none Markdown: type: prose @@ -1577,7 +1682,7 @@ Markdown: Mask: type: markup color: "#f97732" - ace_mode: scss + ace_mode: mask extensions: - .mask tm_scope: source.scss @@ -1593,6 +1698,7 @@ Mathematica: - .nbp aliases: - mma + ace_mode: none Matlab: type: programming @@ -1600,6 +1706,7 @@ Matlab: extensions: - .matlab - .m + ace_mode: matlab Maven POM: type: data @@ -1630,6 +1737,7 @@ MediaWiki: extensions: - .mediawiki tm_scope: none + ace_mode: none Mercury: type: programming @@ -1646,6 +1754,7 @@ MiniD: # Legacy extensions: - .minid # Dummy extension tm_scope: none + ace_mode: none Mirah: type: programming @@ -1663,12 +1772,14 @@ Monkey: type: programming extensions: - .monkey + ace_mode: none Moocode: type: programming extensions: - .moo tm_scope: none + ace_mode: none MoonScript: type: programming @@ -1676,22 +1787,26 @@ MoonScript: - .moon interpreters: - moon + ace_mode: none Myghty: extensions: - .myt tm_scope: none + ace_mode: none NSIS: extensions: - .nsi - .nsh + ace_mode: none Nemerle: type: programming color: "#0d3c6e" extensions: - .n + ace_mode: none NetLogo: type: programming @@ -1708,6 +1823,7 @@ Nginx: tm_scope: source.nginx aliases: - nginx configuration file + ace_mode: none Nimrod: type: programming @@ -1715,12 +1831,14 @@ Nimrod: extensions: - .nim - .nimrod + ace_mode: none Ninja: type: data tm_scope: source.ninja extensions: - .ninja + ace_mode: none Nit: type: programming @@ -1728,6 +1846,7 @@ Nit: extensions: - .nit tm_scope: none + ace_mode: none Nix: type: programming @@ -1736,6 +1855,7 @@ Nix: aliases: - nixos tm_scope: none + ace_mode: nix Nu: type: programming @@ -1756,6 +1876,7 @@ NumPy: - .numpyw - .numsc tm_scope: none + ace_mode: none OCaml: type: programming @@ -1813,6 +1934,7 @@ Objective-J: - .j - .sj tm_scope: source.js.objj + ace_mode: none Omgrofl: type: programming @@ -1820,11 +1942,13 @@ Omgrofl: - .omgrofl color: "#cabbff" tm_scope: none + ace_mode: none Opa: type: programming extensions: - .opa + ace_mode: none Opal: type: programming @@ -1832,6 +1956,7 @@ Opal: extensions: - .opal tm_scope: none + ace_mode: none OpenCL: type: programming @@ -1852,12 +1977,14 @@ OpenEdge ABL: - .p - .cls tm_scope: source.abl + ace_mode: none OpenSCAD: type: programming extensions: - .scad tm_scope: none + ace_mode: none Org: type: prose @@ -1865,6 +1992,7 @@ Org: extensions: - .org tm_scope: none + ace_mode: none Ox: type: programming @@ -1873,6 +2001,7 @@ Ox: - .oxh - .oxo tm_scope: none + ace_mode: none Oxygene: type: programming @@ -1880,6 +2009,7 @@ Oxygene: extensions: - .oxygene tm_scope: none + ace_mode: none PAWN: type: programming @@ -1917,6 +2047,7 @@ Pan: extensions: - .pan tm_scope: none + ace_mode: none Papyrus: type: programming @@ -1924,6 +2055,7 @@ Papyrus: extensions: - .psc tm_scope: none + ace_mode: none Parrot: type: programming @@ -1931,6 +2063,7 @@ Parrot: extensions: - .parrot # Dummy extension tm_scope: none + ace_mode: none Parrot Assembly: group: Parrot @@ -1940,6 +2073,7 @@ Parrot Assembly: extensions: - .pasm tm_scope: none + ace_mode: none Parrot Internal Representation: group: Parrot @@ -1949,6 +2083,7 @@ Parrot Internal Representation: - pir extensions: - .pir + ace_mode: none Pascal: type: programming @@ -1959,6 +2094,7 @@ Pascal: - .dpr - .lpr - .pp + ace_mode: pascal Perl: type: programming @@ -2000,6 +2136,7 @@ PigLatin: extensions: - .pig tm_scope: none + ace_mode: none Pike: type: programming @@ -2007,6 +2144,7 @@ Pike: extensions: - .pike - .pmod + ace_mode: none Pod: type: prose @@ -2022,6 +2160,7 @@ PogoScript: extensions: - .pogo tm_scope: none + ace_mode: none PostScript: type: markup @@ -2031,6 +2170,7 @@ PostScript: tm_scope: source.postscript aliases: - postscr + ace_mode: none PowerShell: type: programming @@ -2047,6 +2187,7 @@ Processing: color: "#2779ab" extensions: - .pde + ace_mode: none Prolog: type: programming @@ -2056,6 +2197,7 @@ Prolog: - .ecl - .pro - .prolog + ace_mode: prolog Propeller Spin: type: programming @@ -2063,6 +2205,7 @@ Propeller Spin: extensions: - .spin tm_scope: none + ace_mode: none Protocol Buffer: type: markup @@ -2081,6 +2224,7 @@ Puppet: - .pp filenames: - Modulefile + ace_mode: none Pure Data: type: programming @@ -2088,6 +2232,7 @@ Pure Data: extensions: - .pd tm_scope: none + ace_mode: none PureScript: type: programming @@ -2129,6 +2274,7 @@ Python traceback: extensions: - .pytb tm_scope: text.python.traceback + ace_mode: none QML: type: markup @@ -2136,11 +2282,13 @@ QML: extensions: - .qml tm_scope: source.qml + ace_mode: none QMake: extensions: - .pro - .pri + ace_mode: none R: type: programming @@ -2159,6 +2307,7 @@ R: - .Rprofile interpreters: - Rscript + ace_mode: r RDoc: type: prose @@ -2178,6 +2327,7 @@ REALbasic: - .rbtbar - .rbuistate tm_scope: source.vbnet + ace_mode: none RHTML: type: markup @@ -2187,7 +2337,7 @@ RHTML: tm_scope: text.html.erb aliases: - html+ruby - ace_mode: html_ruby + ace_mode: rhtml RMarkdown: type: prose @@ -2218,6 +2368,7 @@ Ragel in Ruby Host: - ragel-rb - ragel-ruby tm_scope: none + ace_mode: none Raw token data: search_term: raw @@ -2226,6 +2377,7 @@ Raw token data: extensions: - .raw tm_scope: none + ace_mode: none Rebol: type: programming @@ -2236,6 +2388,7 @@ Rebol: - .r2 - .r3 - .rebol + ace_mode: none Red: type: programming @@ -2246,11 +2399,13 @@ Red: aliases: - red/system tm_scope: none + ace_mode: none Redcode: extensions: - .cw tm_scope: none + ace_mode: none RobotFramework: type: programming @@ -2258,6 +2413,7 @@ RobotFramework: - .robot # - .txt tm_scope: text.robot + ace_mode: none Rouge: type: programming @@ -2318,6 +2474,7 @@ Rust: color: "#dea584" extensions: - .rs + ace_mode: rust SAS: type: programming @@ -2325,6 +2482,7 @@ SAS: extensions: - .sas tm_scope: none + ace_mode: none SCSS: type: markup @@ -2341,6 +2499,7 @@ SQF: - .sqf - .hqf tm_scope: source.sqf + ace_mode: none SQL: type: data @@ -2376,6 +2535,7 @@ Sass: extensions: - .sass - .scss + ace_mode: sass Scala: type: programming @@ -2392,6 +2552,7 @@ Scaml: extensions: - .scaml tm_scope: source.scaml + ace_mode: none Scheme: type: programming @@ -2407,6 +2568,7 @@ Scheme: - racket - bigloo - chicken + ace_mode: scheme Scilab: type: programming @@ -2414,6 +2576,7 @@ Scilab: - .sci - .sce - .tst + ace_mode: none Self: type: programming @@ -2421,6 +2584,7 @@ Self: extensions: - .self tm_scope: none + ace_mode: none Shell: type: programming @@ -2444,6 +2608,7 @@ Shell: - bash - sh - zsh + ace_mode: sh ShellSession: type: programming @@ -2453,6 +2618,7 @@ ShellSession: - bash session - console tm_scope: text.shell-session + ace_mode: sh Shen: type: programming @@ -2460,6 +2626,7 @@ Shen: extensions: - .shen tm_scope: none + ace_mode: none Slash: type: programming @@ -2467,6 +2634,7 @@ Slash: extensions: - .sl tm_scope: text.html.slash + ace_mode: none Slim: group: HTML @@ -2474,6 +2642,7 @@ Slim: color: "#ff8877" extensions: - .slim + ace_mode: none Smalltalk: type: programming @@ -2482,10 +2651,12 @@ Smalltalk: - .st aliases: - squeak + ace_mode: none Smarty: extensions: - .tpl + ace_mode: smarty SourcePawn: type: programming @@ -2495,6 +2666,7 @@ SourcePawn: extensions: - .sp tm_scope: source.sp + ace_mode: none Squirrel: type: programming @@ -2514,6 +2686,7 @@ Standard ML: - .sig - .sml tm_scope: source.ml + ace_mode: none Stata: type: programming @@ -2525,6 +2698,7 @@ Stata: - .mata - .matah - .sthlp + ace_mode: none Stylus: type: markup @@ -2532,6 +2706,7 @@ Stylus: extensions: - .styl tm_scope: none + ace_mode: stylus SuperCollider: type: programming @@ -2540,12 +2715,14 @@ SuperCollider: - .scd - .sc tm_scope: none + ace_mode: none Swift: type: programming color: "#ffac45" extensions: - .swift + ace_mode: none SystemVerilog: type: programming @@ -2554,18 +2731,21 @@ SystemVerilog: - .sv - .svh - .vh + ace_mode: verilog TOML: type: data extensions: - .toml tm_scope: source.toml + ace_mode: toml TXL: type: programming extensions: - .txl tm_scope: none + ace_mode: none Tcl: type: programming @@ -2577,6 +2757,7 @@ Tcl: interpreters: - tclsh - wish + ace_mode: tcl Tcsh: type: programming @@ -2585,11 +2766,12 @@ Tcsh: - .tcsh - .csh tm_scope: source.shell + ace_mode: sh TeX: type: markup color: "#3D6117" - ace_mode: latex + ace_mode: tex wrap: true aliases: - latex @@ -2615,6 +2797,7 @@ Tea: extensions: - .tea tm_scope: source.tea + ace_mode: none Textile: type: prose @@ -2629,6 +2812,7 @@ Thrift: tm_scope: source.thrift extensions: - .thrift + ace_mode: none Turing: type: programming @@ -2637,6 +2821,7 @@ Turing: - .t - .tu tm_scope: none + ace_mode: none Twig: type: markup @@ -2644,6 +2829,7 @@ Twig: extensions: - .twig tm_scope: text.html.twig + ace_mode: twig TypeScript: type: programming @@ -2653,6 +2839,7 @@ TypeScript: extensions: - .ts tm_scope: source.ts + ace_mode: typescript Unified Parallel C: type: programming @@ -2691,6 +2878,7 @@ VHDL: - .vhs - .vht - .vhw + ace_mode: vhdl Vala: type: programming @@ -2698,6 +2886,7 @@ Vala: extensions: - .vala - .vapi + ace_mode: vala Verilog: type: programming @@ -2705,6 +2894,7 @@ Verilog: extensions: - .v - .veo + ace_mode: verilog VimL: type: programming @@ -2719,6 +2909,7 @@ VimL: - _vimrc - gvimrc - vimrc + ace_mode: none Visual Basic: type: programming @@ -2736,6 +2927,7 @@ Visual Basic: aliases: - vb.net - vbnet + ace_mode: none Volt: type: programming @@ -2846,6 +3038,7 @@ XQuery: - .xql - .xqm - .xqy + ace_mode: xquery XS: extensions: @@ -2873,11 +3066,13 @@ Xojo: - .xojo_toolbar - .xojo_window tm_scope: source.vbnet + ace_mode: none Xtend: type: programming extensions: - .xtend + ace_mode: none YAML: type: data @@ -2889,6 +3084,7 @@ YAML: - .reek - .rviz - .yaml + ace_mode: yaml Zephir: type: programming @@ -2905,6 +3101,7 @@ Zimpl: - .zmpl - .zpl tm_scope: none + ace_mode: none eC: type: programming @@ -2913,6 +3110,7 @@ eC: - .ec - .eh tm_scope: none + ace_mode: none edn: type: data @@ -2928,22 +3126,26 @@ fish: extensions: - .fish tm_scope: none + ace_mode: none mupad: extensions: - .mu + ace_mode: none nesC: type: programming color: "#ffce3b" extensions: - .nc + ace_mode: none ooc: type: programming color: "#b0b77e" extensions: - .ooc + ace_mode: none reStructuredText: type: prose @@ -2954,6 +3156,7 @@ reStructuredText: extensions: - .rst - .rest + ace_mode: none wisp: type: programming @@ -2969,3 +3172,4 @@ xBase: extensions: - .prg tm_scope: none + ace_mode: none diff --git a/test/test_language.rb b/test/test_language.rb index aeb73127..29e6230c 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -323,11 +323,11 @@ 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 end def test_ace_modes assert Language.ace_modes.include?(Language['Ruby']) - assert !Language.ace_modes.include?(Language['FORTRAN']) end def test_wrap @@ -376,7 +376,7 @@ class TestLanguage < Test::Unit::TestCase ace_github_modes = JSON.parse `curl https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode` existing_ace_modes = ace_github_modes.map do |ace_github_mode| File.basename(ace_github_mode["name"], ".js") if ace_github_mode["name"] !~ /_highlight_rules|_test|_worker/ - end.compact.uniq.sort + end.compact.uniq.sort.map(&:downcase) missing = Language.all.reject { |language| language.ace_mode == "none" || 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" From 1d4149168d7fa649e91bb4daac8bf8544fbff8c1 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 11:48:26 -0800 Subject: [PATCH 04/14] Add Rake task to fetch ace_modes, and skip test if there's no internet --- .gitignore | 1 + Rakefile | 26 ++++++++++++++++++++++++-- test/test_language.rb | 5 ++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 90d94706..4c0e6662 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ benchmark/ lib/linguist/samples.json /grammars /node_modules +test/fixtures/ace_modes.json diff --git a/Rakefile b/Rakefile index 470dcec9..e36d1b6c 100644 --- a/Rakefile +++ b/Rakefile @@ -3,13 +3,15 @@ require 'rake/clean' require 'rake/testtask' require 'yaml' require 'yajl' +require 'open-uri' +require 'json' task :default => :test Rake::TestTask.new -# Extend test task to check for samples -task :test => :check_samples +# Extend test task to check for samples and fetch latest Ace modes +task :test => [:check_samples, :fetch_ace_modes] desc "Check that we have samples.json generated" task :check_samples do @@ -18,6 +20,26 @@ task :check_samples do end end +desc "Fetch the latest Ace modes from its GitHub repository" +task :fetch_ace_modes do + ACE_FIXTURE_PATH = File.join('test', 'fixtures', 'ace_modes.json') + + File.delete(ACE_FIXTURE_PATH) if File.exist?(ACE_FIXTURE_PATH) + + begin + ace_github_modes = (open("https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode").read) + File.write(ACE_FIXTURE_PATH, ace_github_modes) + rescue => e + case e + when OpenURI::HTTPError + when SocketError + # no internet? no problem. + else + raise e + end + end +end + task :samples do require 'linguist/samples' json = Yajl.dump(Linguist::Samples.data, :pretty => true) diff --git a/test/test_language.rb b/test/test_language.rb index c6a7b8eb..e825513d 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -371,7 +371,10 @@ class TestLanguage < Test::Unit::TestCase end def test_all_languages_have_a_valid_ace_mode - ace_github_modes = JSON.parse `curl https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode` + ace_fixture_path = File.join('test', 'fixtures', 'ace_modes.json') + skip("No ace_modes.json file") unless File.exist?(ace_fixture_path) + + ace_github_modes = JSON.parse(File.read(ace_fixture_path)) existing_ace_modes = ace_github_modes.map do |ace_github_mode| File.basename(ace_github_mode["name"], ".js") if ace_github_mode["name"] !~ /_highlight_rules|_test|_worker/ end.compact.uniq.sort.map(&:downcase) From 3fb4973aab8dc9d8882e1177b28e09b5dc95ae90 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 11:48:39 -0800 Subject: [PATCH 05/14] Add missing `ace_mode`s (introduced from `master`) --- lib/linguist/languages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index fea2d871..05ba1cd4 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -809,6 +809,7 @@ Erlang: - .es - .escript - .hrl + ace_mode: erlang F#: type: programming @@ -894,6 +895,7 @@ Forth: - .for - .forth - .frt + ace_mode: forth Frege: type: programming From 8655d966ad07ceda45bf898b1fc34035b68580e1 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 11:50:46 -0800 Subject: [PATCH 06/14] Make corrections from a bade merge resolution --- lib/linguist/languages.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 05ba1cd4..0b2e7399 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -810,6 +810,8 @@ Erlang: - .escript - .hrl ace_mode: erlang + interpreters: + - escript F#: type: programming @@ -895,6 +897,7 @@ Forth: - .for - .forth - .frt + - .fs ace_mode: forth Frege: From 526ca1761a461cb9e05dc91f78cb6cfb37e2d9f8 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 12:33:37 -0800 Subject: [PATCH 07/14] This `require` is no longer used --- Rakefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Rakefile b/Rakefile index e36d1b6c..8f7cfa74 100644 --- a/Rakefile +++ b/Rakefile @@ -4,7 +4,6 @@ require 'rake/testtask' require 'yaml' require 'yajl' require 'open-uri' -require 'json' task :default => :test From be82b554080fbd93c35a2335aaacd93d3132bf35 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 12:33:43 -0800 Subject: [PATCH 08/14] Simplify `rescue` catching --- Rakefile | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Rakefile b/Rakefile index 8f7cfa74..3cc28ae5 100644 --- a/Rakefile +++ b/Rakefile @@ -28,14 +28,8 @@ task :fetch_ace_modes do begin ace_github_modes = (open("https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode").read) File.write(ACE_FIXTURE_PATH, ace_github_modes) - rescue => e - case e - when OpenURI::HTTPError - when SocketError + rescue OpenURI::HTTPError, SocketError # no internet? no problem. - else - raise e - end end end From 66eabd8bdcbcbdb58d7d46ba077677ea2a44e280 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 12:34:02 -0800 Subject: [PATCH 09/14] Prefer `Yajl.load` --- test/test_language.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_language.rb b/test/test_language.rb index e825513d..795aeb62 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -374,7 +374,7 @@ class TestLanguage < Test::Unit::TestCase ace_fixture_path = File.join('test', 'fixtures', 'ace_modes.json') skip("No ace_modes.json file") unless File.exist?(ace_fixture_path) - ace_github_modes = JSON.parse(File.read(ace_fixture_path)) + ace_github_modes = Yajl.load(File.read(ace_fixture_path)) existing_ace_modes = ace_github_modes.map do |ace_github_mode| File.basename(ace_github_mode["name"], ".js") if ace_github_mode["name"] !~ /_highlight_rules|_test|_worker/ end.compact.uniq.sort.map(&:downcase) From 7a57a0b5945e7283df208caa6db030c9a28d2fac Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Fri, 28 Nov 2014 12:35:42 -0800 Subject: [PATCH 10/14] What is this, Lisp? --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 3cc28ae5..068af0bb 100644 --- a/Rakefile +++ b/Rakefile @@ -26,7 +26,7 @@ task :fetch_ace_modes do File.delete(ACE_FIXTURE_PATH) if File.exist?(ACE_FIXTURE_PATH) begin - ace_github_modes = (open("https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode").read) + ace_github_modes = open("https://api.github.com/repos/ajaxorg/ace/contents/lib/ace/mode").read File.write(ACE_FIXTURE_PATH, ace_github_modes) rescue OpenURI::HTTPError, SocketError # no internet? no problem. From dce00d01d94546c3df6754ce3b682413186d323e Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Mon, 1 Dec 2014 15:54:33 +0200 Subject: [PATCH 11/14] Add missing ace_mode values --- lib/linguist/languages.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index a7c4a913..8069a221 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -578,6 +578,7 @@ Cool: extensions: - .cl tm_scope: source.cool + ace_mode: none Coq: type: programming @@ -1076,6 +1077,7 @@ Gradle: extensions: - .gradle tm_scope: source.groovy.gradle + ace_mode: none Grammatical Framework: type: programming @@ -2044,6 +2046,7 @@ Oz: extensions: - .oz tm_scope: source.oz + ace_mode: none PAWN: type: programming From de4b538d829951c72ab85bb501e79df8a0af944f Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Wed, 3 Dec 2014 20:03:40 +0200 Subject: [PATCH 12/14] Update comment at the top of the file --- lib/linguist/languages.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 8069a221..6d251eb2 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3,8 +3,9 @@ # type - Either data, programming, markup, prose, or nil # aliases - An Array of additional aliases (implicitly # includes name.downcase) -# ace_mode - A String name of the Ace Mode used for highlighting. Use -# "none" if one does not exist +# 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. # wrap - Boolean wrap to enable line wrapping (default: false) # extensions - An Array of associated extensions (the first one is # considered the primary extension) From 81b8c57bae784b741c20a02930bb2f92dc717ca4 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Thu, 4 Dec 2014 21:10:28 +0200 Subject: [PATCH 13/14] Add Loomscript exclusion --- lib/linguist/languages.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 7b341927..b2e2a103 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1641,6 +1641,7 @@ LoomScript: extensions: - .ls tm_scope: source.loomscript + ace_mode: none Lua: type: programming @@ -2047,7 +2048,7 @@ Oxygene: - .oxygene tm_scope: none ace_mode: none - + Oz: type: programming color: "#fcaf3e" From 3aec4dd2ea92059381f2944a2ccc7e0ab0dfe726 Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Thu, 4 Dec 2014 21:27:07 +0200 Subject: [PATCH 14/14] Adjust to ignore generated --- lib/linguist/languages.yml | 1 - test/test_blob.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index b2e2a103..80adba13 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2605,7 +2605,6 @@ Sass: group: CSS extensions: - .sass - - .scss ace_mode: sass Scala: diff --git a/test/test_blob.rb b/test/test_blob.rb index b59fbec7..12ea1338 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -469,7 +469,7 @@ class TestBlob < Test::Unit::TestCase # Test language detection for files which shouldn't be used as samples root = File.expand_path('../fixtures', __FILE__) Dir.entries(root).each do |language| - next if language == '.' || language == '..' + next if language == '.' || language == '..' || File.basename(language) == 'ace_modes.json' # Each directory contains test files of a language dirname = File.join(root, language)