mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-13 23:12:24 +00:00
100 lines
2.5 KiB
Cheetah
100 lines
2.5 KiB
Cheetah
|
package data
|
||
|
|
||
|
// LanguageInfo exposes the data for a language's Linguist YAML entry as a Go struct.
|
||
|
// See https://github.com/github/linguist/blob/master/lib/linguist/languages.yml
|
||
|
type LanguageInfo struct {
|
||
|
Name string
|
||
|
FSName string
|
||
|
Type Type
|
||
|
Color string
|
||
|
Group string
|
||
|
Aliases []string
|
||
|
Extensions []string
|
||
|
Interpreters []string
|
||
|
Filenames []string
|
||
|
MimeType string
|
||
|
TMScope string
|
||
|
AceMode string
|
||
|
CodemirrorMode string
|
||
|
Wrap bool
|
||
|
LanguageID int
|
||
|
}
|
||
|
|
||
|
// LanguageInfoByName allows accessing LanguageInfo by a language's primary name.
|
||
|
var LanguageInfoByName = map[string]LanguageInfo{
|
||
|
{{range $language, $info := . -}}
|
||
|
"{{$language}}": LanguageInfo{
|
||
|
Name: "{{$language}}",
|
||
|
FSName: "{{$info.FSName}}",
|
||
|
Type: TypeForString("{{$info.Type}}"),
|
||
|
Color: "{{$info.Color}}",
|
||
|
Group: "{{$info.Group}}",
|
||
|
Aliases: []string{
|
||
|
{{range $alias := $info.Aliases -}}
|
||
|
"{{$alias}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Extensions: []string{
|
||
|
{{range $extension := $info.Extensions -}}
|
||
|
"{{$extension}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Interpreters: []string{
|
||
|
{{range $interpreter := $info.Interpreters -}}
|
||
|
"{{$interpreter}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Filenames: []string{
|
||
|
{{range $filename := $info.Filenames -}}
|
||
|
"{{$filename}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
MimeType: "{{$info.MimeType}}",
|
||
|
TMScope: "{{$info.TMScope}}",
|
||
|
AceMode: "{{$info.AceMode}}",
|
||
|
CodemirrorMode: "{{$info.CodemirrorMode}}",
|
||
|
Wrap: {{$info.Wrap}},
|
||
|
LanguageID: {{$info.LanguageID}},
|
||
|
},
|
||
|
{{end -}}
|
||
|
}
|
||
|
|
||
|
// LanguageInfoByID allows accessing LanguageInfo by a language's ID.
|
||
|
var LanguageInfoByID = map[int]LanguageInfo{
|
||
|
{{range $language, $info := . -}}
|
||
|
{{$info.LanguageID}}: LanguageInfo{
|
||
|
Name: "{{$language}}",
|
||
|
FSName: "{{$info.FSName}}",
|
||
|
Type: TypeForString("{{$info.Type}}"),
|
||
|
Color: "{{$info.Color}}",
|
||
|
Group: "{{$info.Group}}",
|
||
|
Aliases: []string{
|
||
|
{{range $alias := $info.Aliases -}}
|
||
|
"{{$alias}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Extensions: []string{
|
||
|
{{range $extension := $info.Extensions -}}
|
||
|
"{{$extension}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Interpreters: []string{
|
||
|
{{range $interpreter := $info.Interpreters -}}
|
||
|
"{{$interpreter}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
Filenames: []string{
|
||
|
{{range $filename := $info.Filenames -}}
|
||
|
"{{$filename}}",
|
||
|
{{end -}}
|
||
|
},
|
||
|
MimeType: "{{$info.MimeType}}",
|
||
|
TMScope: "{{$info.TMScope}}",
|
||
|
AceMode: "{{$info.AceMode}}",
|
||
|
CodemirrorMode: "{{$info.CodemirrorMode}}",
|
||
|
Wrap: {{$info.Wrap}},
|
||
|
LanguageID: {{$info.LanguageID}},
|
||
|
},
|
||
|
{{end -}}
|
||
|
}
|