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