summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-09-01 23:38:17 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-09-01 23:38:17 +0200
commit63119f09d1390b61155cc0dc3ff497356d2fc7e5 (patch)
tree06dd676bd4df62105f24499a9a3398f179f30ff2 /scripts
parentf2ef4cedecf554c0c9f0694f93df1d53a57bf70c (diff)
downloadvim-polyglot-63119f09d1390b61155cc0dc3ff497356d2fc7e5.tar.gz
vim-polyglot-63119f09d1390b61155cc0dc3ff497356d2fc7e5.zip
Automatically detect indentation, closes #529v4.8.0
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/build b/scripts/build
index 1fe148e7..2fcbe235 100755
--- a/scripts/build
+++ b/scripts/build
@@ -716,6 +716,39 @@ def detect_filetypes
}]
end
+def generate_plugins(packages)
+ FileUtils.mkdir_p('autoload/polyglot')
+
+ output = "let s:globs = {\n"
+
+ patterns = Hash.new { |h, k| h[k] = [] }
+
+ for package in packages
+ for filetype in package["filetypes"]
+ extensions = (filetype["extensions"] || []).map { |e| "*.#{e}" }
+ files = (filetype["filenames"] || []).reject { |e| e.match(/\*\*|\//) }
+ patterns[filetype["name"]].concat(extensions)
+ patterns[filetype["name"]].concat(files)
+ end
+ end
+
+ for filetype in patterns.keys.sort
+ output << " \\ '#{filetype}': '{#{patterns[filetype].uniq.join(",")},}',\n"
+ end
+ output << " \\}\n\n"
+
+
+ output << <<~EOS
+ func! sleuth#GlobForFiletype(type)
+ return get(s:globs, a:type, '')
+ endfunc
+ EOS
+
+
+ File.write('autoload/sleuth.vim', output)
+end
+
+
if __FILE__ == $0
if !ENV["DEV"]
FileUtils.rm_rf("tmp")
@@ -725,6 +758,7 @@ if __FILE__ == $0
download(packages)
extract(packages)
generate_ftdetect(packages, heuristics)
+ generate_plugins(packages)
generate_tests(packages)
puts(" Bye! Have a wonderful time!")