diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-15 11:19:56 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-15 11:19:56 +0200 |
commit | 271679272c7bb1a281c7404408a2414068abf91c (patch) | |
tree | 2fc9d0360160659640ea75eefc1243c377507e35 /scripts | |
parent | d43d269bedbb6bcf725eaf5bb5b3c5a0bcfcb0c0 (diff) | |
download | vim-polyglot-4.10.1.tar.gz vim-polyglot-4.10.1.zip |
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build | 26 | ||||
-rwxr-xr-x | scripts/test | 2 | ||||
-rw-r--r-- | scripts/test_extensions.vim | 2 | ||||
-rw-r--r-- | scripts/test_filetypes.vim | 28 |
4 files changed, 29 insertions, 29 deletions
diff --git a/scripts/build b/scripts/build index b100b80a..07bc301b 100755 --- a/scripts/build +++ b/scripts/build @@ -29,15 +29,8 @@ def load_data() deps = Hash.new { |h, k| h[k] = [] } - for package in packages.values - for name in [package.fetch("after", [])].flatten - packages[name] or raise "#{package["name"]} depends on unknown package: #{name}" - deps[name] << package["name"] - end - end - each_node = lambda {|&b| packages.keys.each(&b) } - each_child = lambda {|n, &b| deps[n].each(&b) } + each_child = lambda {|n, &b| [packages[n].fetch("after", [])].flatten.each(&b) } languages = load_languages @@ -327,13 +320,13 @@ def rule_to_code(rule) if rule.has_key?("override") return <<~EOS if exists("#{rule["override"]}") - exe "setf " . #{rule["override"]} | return + call s:Setf(#{rule["override"]}) | return endif EOS end if rule.has_key?("filetype") - return "setf #{rule["filetype"]} | return" + return "call s:Setf('#{rule["filetype"]}') | return" end return "" @@ -350,8 +343,7 @@ def extract(packages) FileUtils.rm_rf(all_dirs) output = [] - # We need to reverse packages so they are included in proper order - packages.reverse.map do |package| + packages.map do |package| repo, branch, path, dir = parse_remote(package["remote"]) dirs = package.fetch("dirs", default_dirs) ignored_dirs = package.fetch("ignored_dirs", []) @@ -462,7 +454,7 @@ def generate_ftdetect(packages, heuristics) name = filetype.fetch("name") syntax = filetype["syntax"] ? " | set syntax=#{filetype["syntax"]}" : "" - set_command = "setf #{name}" + set_command = "call s:Setf('#{name}')" if filetype["syntax"] set_command = "if !did_filetype() | set ft=#{name} syntax=#{filetype["syntax"]} | endif" @@ -544,6 +536,14 @@ def generate_ftdetect(packages, heuristics) let s:cpo_save = &cpo set cpo&vim + " We need it because scripts.vim in vim uses "set ft=" which cannot be + " overridden with setf (and we can't use set ft= so our scripts.vim work) + func! s:Setf(ft) + if &filetype !~# '\<'.a:ft.'\>' + let &filetype = a:ft + endif + endfunc + func! polyglot#Heuristics() " Try to detect filetype from shebang let l:filetype = polyglot#Shebang() diff --git a/scripts/test b/scripts/test index e5418fa4..9e023bb9 100755 --- a/scripts/test +++ b/scripts/test @@ -6,7 +6,7 @@ vim --clean -N -u <(echo " let &rtp='$PWD,'.&rtp let g:polyglot_test = 1 source scripts/test_extensions.vim - \"source scripts/test_filetypes.vim + source scripts/test_filetypes.vim qa! ") diff --git a/scripts/test_extensions.vim b/scripts/test_extensions.vim index b0dad298..f2aaf66c 100644 --- a/scripts/test_extensions.vim +++ b/scripts/test_extensions.vim @@ -6,7 +6,7 @@ function! TestExtension(filetype, filename, content) 1delete _ filetype detect exec "if &filetype != '" . a:filetype . "' \nthrow &filetype\nendif" - exec ":q!" + exec ":bw!" catch echo g:message echo "Filename '" . a:filename . "' does not resolve to extension '" . a:filetype . "'" diff --git a/scripts/test_filetypes.vim b/scripts/test_filetypes.vim index 4d7cc0d8..a84b39e3 100644 --- a/scripts/test_filetypes.vim +++ b/scripts/test_filetypes.vim @@ -11,6 +11,7 @@ function! TestFiletype(filetype) endfunction call TestFiletype('8th') +call TestFiletype('haproxy') call TestFiletype('a2ps') call TestFiletype('a65') call TestFiletype('aap') @@ -26,16 +27,20 @@ call TestFiletype('aidl') call TestFiletype('alsaconf') call TestFiletype('aml') call TestFiletype('ampl') +call TestFiletype('xml') call TestFiletype('ant') call TestFiletype('apache') call TestFiletype('apiblueprint') call TestFiletype('applescript') call TestFiletype('aptconf') call TestFiletype('arch') +call TestFiletype('cpp') +call TestFiletype('c') call TestFiletype('arduino') call TestFiletype('art') call TestFiletype('asciidoc') call TestFiletype('autohotkey') +call TestFiletype('elf') call TestFiletype('automake') call TestFiletype('asn') call TestFiletype('aspvbs') @@ -44,9 +49,6 @@ call TestFiletype('atlas') call TestFiletype('autoit') call TestFiletype('ave') call TestFiletype('awk') -call TestFiletype('reason') -call TestFiletype('cpp') -call TestFiletype('c') call TestFiletype('caddyfile') call TestFiletype('carp') call TestFiletype('clojure') @@ -61,7 +63,6 @@ call TestFiletype('cucumber') call TestFiletype('cuesheet') call TestFiletype('dart') call TestFiletype('dhall') -call TestFiletype('grub') call TestFiletype('d') call TestFiletype('dcov') call TestFiletype('dd') @@ -69,7 +70,6 @@ call TestFiletype('ddoc') call TestFiletype('dsdl') call TestFiletype('Dockerfile') call TestFiletype('yaml.docker-compose') -call TestFiletype('elf') call TestFiletype('elixir') call TestFiletype('eelixir') call TestFiletype('elm') @@ -81,23 +81,26 @@ call TestFiletype('ferm') call TestFiletype('fish') call TestFiletype('fbs') call TestFiletype('forth') +call TestFiletype('glsl') call TestFiletype('fsharp') call TestFiletype('gdscript3') call TestFiletype('gitconfig') call TestFiletype('gitrebase') call TestFiletype('gitsendemail') call TestFiletype('gitcommit') -call TestFiletype('glsl') call TestFiletype('gmpl') call TestFiletype('gnuplot') call TestFiletype('go') call TestFiletype('gomod') call TestFiletype('gohtmltmpl') +call TestFiletype('javascript') +call TestFiletype('flow') +call TestFiletype('javascriptreact') call TestFiletype('graphql') call TestFiletype('groovy') +call TestFiletype('grub') call TestFiletype('haml') call TestFiletype('mustache') -call TestFiletype('haproxy') call TestFiletype('haskell') call TestFiletype('haxe') call TestFiletype('hcl') @@ -109,9 +112,6 @@ call TestFiletype('idris') call TestFiletype('idris2') call TestFiletype('lidris2') call TestFiletype('ion') -call TestFiletype('javascriptreact') -call TestFiletype('javascript') -call TestFiletype('flow') call TestFiletype('Jenkinsfile') call TestFiletype('jinja.html') call TestFiletype('jq') @@ -131,7 +131,6 @@ call TestFiletype('log') call TestFiletype('lua') call TestFiletype('m4') call TestFiletype('mako') -call TestFiletype('octave') call TestFiletype('mma') call TestFiletype('markdown') call TestFiletype('markdown.mdx') @@ -152,12 +151,13 @@ call TestFiletype('ocamlbuild_tags') call TestFiletype('ocpbuild') call TestFiletype('ocpbuildroot') call TestFiletype('sexplib') +call TestFiletype('octave') call TestFiletype('opencl') call TestFiletype('perl') call TestFiletype('sql') call TestFiletype('cql') -call TestFiletype('blade') call TestFiletype('php') +call TestFiletype('blade') call TestFiletype('plantuml') call TestFiletype('pony') call TestFiletype('ps1') @@ -178,6 +178,7 @@ call TestFiletype('ragel') call TestFiletype('raku') call TestFiletype('raml') call TestFiletype('razor') +call TestFiletype('reason') call TestFiletype('rst') call TestFiletype('ruby') call TestFiletype('eruby') @@ -218,10 +219,9 @@ call TestFiletype('velocity') call TestFiletype('vmasm') call TestFiletype('vue') call TestFiletype('xdc') -call TestFiletype('xml') call TestFiletype('xsl') -call TestFiletype('yaml.ansible') call TestFiletype('yaml') +call TestFiletype('yaml.ansible') call TestFiletype('helm') call TestFiletype('help') call TestFiletype('zephir') |