mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-11 04:53:51 -05:00
44 lines
1.4 KiB
Python
Executable File
44 lines
1.4 KiB
Python
Executable File
#!/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()
|