1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/usr/bin/env python3
import yaml
import urllib.request as request
url = 'https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml'
data = yaml.safe_load(request.urlopen(url))
lines = []
def language(name,
filetype=None,
polyglot=None,
extensions=None,
filenames=None,
extra_extensions=[],
extra_filenames=[]
):
language = data.get(name, {})
filetype_name = filetype or name.lower().replace(" ", "")
polyglot_name = polyglot or filetype_name
lines.append(f"if index(g:polyglot_disabled, '{polyglot_name}') == -1")
for ext in (extensions or language.get("extensions", [])) + extra_extensions:
lines.append(f" au BufNewFile,BufRead *{ext} set ft={filetype_name}")
for fn in (filenames or language.get("filenames", [])) + extra_filenames:
lines.append(f" au BufNewFile,BufRead {fn} set ft={filetype_name}")
lines.append("endif")
lines.append("")
language("ASL", polyglot="acpiasl", extensions=[".asl", ".dsl"])
language("API Blueprint")
language("AppleScript")
language("Processing", filetype="arduino", extra_extensions=[".ino"])
language("AsciiDoc")
language("Blade")
language("Caddyfile", extensions=["Caddyfile"])
language("Carp", extensions=[".carp"])
language("CoffeeScript", filetype="coffee")
language("Clojure")
f = open("ftdetect/polyglot_auto.vim", "w")
f.write("\n".join(lines))
f.close()
|