mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Validate codemirror modes
This commit is contained in:
@@ -234,8 +234,6 @@ Apollo Guidance Computer:
|
||||
- ".agc"
|
||||
tm_scope: source.agc
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 18
|
||||
AppleScript:
|
||||
type: programming
|
||||
@@ -298,8 +296,6 @@ Assembly:
|
||||
- ".nasm"
|
||||
tm_scope: source.assembly
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 24
|
||||
Augeas:
|
||||
type: programming
|
||||
@@ -516,8 +512,6 @@ C-ObjDump:
|
||||
- ".c-objdump"
|
||||
tm_scope: objdump.x86asm
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 44
|
||||
C2hs Haskell:
|
||||
type: programming
|
||||
@@ -568,7 +562,7 @@ COLLADA:
|
||||
tm_scope: text.xml
|
||||
ace_mode: xml
|
||||
codemirror_mode: xml
|
||||
codemirror_mime_mode: text/x-xml
|
||||
codemirror_mime_mode: text/xml
|
||||
language_id: 49
|
||||
CSS:
|
||||
type: markup
|
||||
@@ -799,8 +793,6 @@ Cpp-ObjDump:
|
||||
aliases:
|
||||
- c++-objdump
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 70
|
||||
Creole:
|
||||
type: prose
|
||||
@@ -909,8 +901,6 @@ D-ObjDump:
|
||||
- ".d-objdump"
|
||||
tm_scope: objdump.x86asm
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 81
|
||||
DIGITAL Command Language:
|
||||
type: programming
|
||||
@@ -972,7 +962,7 @@ Dart:
|
||||
- dart
|
||||
ace_mode: dart
|
||||
codemirror_mode: dart
|
||||
codemirror_mime_mode: text/x-dart
|
||||
codemirror_mime_mode: application/dart
|
||||
language_id: 87
|
||||
Diff:
|
||||
type: data
|
||||
@@ -1337,8 +1327,6 @@ GAS:
|
||||
- ".ms"
|
||||
tm_scope: source.assembly
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 120
|
||||
GCC Machine Description:
|
||||
type: programming
|
||||
@@ -1632,7 +1620,7 @@ HTML:
|
||||
type: markup
|
||||
tm_scope: text.html.basic
|
||||
ace_mode: html
|
||||
codemirror_mode: htmlembedded
|
||||
codemirror_mode: htmlmixed
|
||||
codemirror_mime_mode: text/html
|
||||
color: "#e44b23"
|
||||
aliases:
|
||||
@@ -1671,7 +1659,7 @@ HTML+ECR:
|
||||
extensions:
|
||||
- ".ecr"
|
||||
ace_mode: text
|
||||
codemirror_mode: htmlembedded
|
||||
codemirror_mode: htmlmixed
|
||||
codemirror_mime_mode: text/html
|
||||
language_id: 148
|
||||
HTML+EEX:
|
||||
@@ -1683,7 +1671,7 @@ HTML+EEX:
|
||||
extensions:
|
||||
- ".eex"
|
||||
ace_mode: text
|
||||
codemirror_mode: htmlembedded
|
||||
codemirror_mode: htmlmixed
|
||||
codemirror_mime_mode: text/html
|
||||
language_id: 149
|
||||
HTML+ERB:
|
||||
@@ -1752,7 +1740,6 @@ Handlebars:
|
||||
- ".hbs"
|
||||
tm_scope: text.html.handlebars
|
||||
ace_mode: handlebars
|
||||
codemirror_mode: handlebars
|
||||
language_id: 155
|
||||
Harbour:
|
||||
type: programming
|
||||
@@ -1962,8 +1949,6 @@ JSONLD:
|
||||
type: data
|
||||
group: JavaScript
|
||||
ace_mode: javascript
|
||||
codemirror_mode: javascript
|
||||
codemirror_mime_mode: application/ld+json
|
||||
extensions:
|
||||
- ".jsonld"
|
||||
tm_scope: source.js
|
||||
@@ -1985,6 +1970,7 @@ JSX:
|
||||
- ".jsx"
|
||||
tm_scope: source.js.jsx
|
||||
ace_mode: javascript
|
||||
codemirror_mode: jsx
|
||||
codemirror_mime_mode: text/jsx
|
||||
language_id: 178
|
||||
Jade:
|
||||
@@ -2118,7 +2104,7 @@ KiCad:
|
||||
Kit:
|
||||
type: markup
|
||||
ace_mode: html
|
||||
codemirror_mode: htmlembedded
|
||||
codemirror_mode: htmlmixed
|
||||
codemirror_mime_mode: text/html
|
||||
extensions:
|
||||
- ".kit"
|
||||
@@ -2419,7 +2405,7 @@ MTML:
|
||||
- ".mtml"
|
||||
tm_scope: text.html.basic
|
||||
ace_mode: html
|
||||
codemirror_mode: htmlembedded
|
||||
codemirror_mode: htmlmixed
|
||||
codemirror_mime_mode: text/html
|
||||
language_id: 218
|
||||
MUF:
|
||||
@@ -2474,7 +2460,7 @@ Mako:
|
||||
Markdown:
|
||||
type: prose
|
||||
ace_mode: markdown
|
||||
codemirror_mode: markdown
|
||||
codemirror_mode: gfm
|
||||
codemirror_mime_mode: text/x-gfm
|
||||
wrap: true
|
||||
extensions:
|
||||
@@ -2837,8 +2823,6 @@ ObjDump:
|
||||
- ".objdump"
|
||||
tm_scope: objdump.x86asm
|
||||
ace_mode: assembly_x86
|
||||
codemirror_mode: gas
|
||||
codemirror_mime_mode: text/x-gas
|
||||
language_id: 256
|
||||
Objective-C:
|
||||
type: programming
|
||||
@@ -3247,7 +3231,7 @@ PowerShell:
|
||||
type: programming
|
||||
ace_mode: powershell
|
||||
codemirror_mode: powershell
|
||||
codemirror_mime_mode: text/x-powershell
|
||||
codemirror_mime_mode: application/x-powershell
|
||||
aliases:
|
||||
- posh
|
||||
extensions:
|
||||
@@ -3482,7 +3466,7 @@ RMarkdown:
|
||||
type: prose
|
||||
wrap: true
|
||||
ace_mode: markdown
|
||||
codemirror_mode: markdown
|
||||
codemirror_mode: gfm
|
||||
codemirror_mime_mode: text/x-gfm
|
||||
extensions:
|
||||
- ".rmd"
|
||||
@@ -4048,7 +4032,6 @@ Stylus:
|
||||
- ".styl"
|
||||
tm_scope: source.stylus
|
||||
ace_mode: stylus
|
||||
codemirror_mode: stylus
|
||||
language_id: 359
|
||||
SubRip Text:
|
||||
type: data
|
||||
@@ -4263,7 +4246,7 @@ TypeScript:
|
||||
tm_scope: source.ts
|
||||
ace_mode: typescript
|
||||
codemirror_mode: javascript
|
||||
codemirror_mime_mode: text/x-typescript
|
||||
codemirror_mime_mode: application/typescript
|
||||
language_id: 378
|
||||
Unified Parallel C:
|
||||
type: programming
|
||||
@@ -4418,7 +4401,6 @@ Vue:
|
||||
- ".vue"
|
||||
tm_scope: text.html.vue
|
||||
ace_mode: html
|
||||
codemirror_mode: vue
|
||||
language_id: 391
|
||||
Wavefront Material:
|
||||
type: data
|
||||
|
||||
@@ -452,6 +452,15 @@ class TestLanguage < Minitest::Test
|
||||
assert missing.empty?, message
|
||||
end
|
||||
|
||||
def test_codemirror_modes_present
|
||||
Language.all.each do |language|
|
||||
if language.codemirror_mode || language.codemirror_mime_mode
|
||||
assert language.codemirror_mode, "#{language.inspect} missing CodeMirror mode"
|
||||
assert language.codemirror_mime_mode, "#{language.inspect} missing CodeMirror MIME mode"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_valid_codemirror_mode
|
||||
Language.all.each do |language|
|
||||
if mode = language.codemirror_mode
|
||||
@@ -460,6 +469,23 @@ class TestLanguage < Minitest::Test
|
||||
end
|
||||
end
|
||||
|
||||
def test_codemirror_mode_and_mime_defined_by_meta_mapping
|
||||
meta = File.read(File.expand_path("../../vendor/CodeMirror/mode/meta.js", __FILE__))
|
||||
Language.all.each do |language|
|
||||
next unless language.codemirror_mode && language.codemirror_mime_mode
|
||||
assert meta.match(/^.+#{Regexp.escape(language.codemirror_mime_mode)}.+#{Regexp.escape(language.codemirror_mode)}.+$/), "#{language.inspect}: #{language.codemirror_mime_mode} not defined under #{language.codemirror_mode}"
|
||||
end
|
||||
end
|
||||
|
||||
def test_codemirror_mime_declared_in_mode_file
|
||||
Language.all.each do |language|
|
||||
next unless language.codemirror_mode && language.codemirror_mime_mode
|
||||
filename = File.expand_path("../../vendor/CodeMirror/mode/#{language.codemirror_mode}/#{language.codemirror_mode}.js", __FILE__)
|
||||
assert File.exist?(filename), "#{filename} does not exist"
|
||||
assert File.read(filename).match(language.codemirror_mime_mode), "#{language.inspect}: #{language.codemirror_mime_mode} not defined in #{filename}"
|
||||
end
|
||||
end
|
||||
|
||||
def test_all_popular_languages_exist
|
||||
popular = YAML.load(File.read(File.expand_path("../../lib/linguist/popular.yml", __FILE__)))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user