diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-16 17:43:03 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-09-16 17:43:03 +0200 |
commit | 06548fe61765d8a68a289741ce8d30f04a037e60 (patch) | |
tree | a81fbc53f664702e902b1a807751681941af6c64 /scripts/build | |
parent | 0118088e0a312b579d5811e330e194659b15c006 (diff) | |
download | vim-polyglot-06548fe61765d8a68a289741ce8d30f04a037e60.tar.gz vim-polyglot-06548fe61765d8a68a289741ce8d30f04a037e60.zip |
Get rid of s:Setf helper
Diffstat (limited to 'scripts/build')
-rwxr-xr-x | scripts/build | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/scripts/build b/scripts/build index 0fac234d..598fc2c5 100755 --- a/scripts/build +++ b/scripts/build @@ -30,7 +30,7 @@ def load_data() deps = Hash.new { |h, k| h[k] = [] } each_node = lambda {|&b| packages.keys.each(&b) } - each_child = lambda {|n, &b| [packages[n].fetch("after", [])].flatten.each(&b) } + each_child = lambda {|n, &b| [packages[n]["after"] || []].flatten.each(&b) } languages = load_languages @@ -325,17 +325,17 @@ def rule_to_code(rule) variable = "g:filetype_#{rule["extensions"].first}" return <<~EOS if exists("#{variable}") - call s:Setf(#{variable}) | return + let &ft = #{variable} | return endif EOS end if rule.has_key?("filetype") - return "call s:Setf('#{rule["filetype"]}') | return" + return "set ft=#{rule["filetype"]} | return" end if rule.has_key?("filetype") - return "call s:Setf('#{rule["filetype"]}') | return" + return "set ft=#{rule["filetype"]} | return" end if rule.has_key?("extensions") @@ -474,7 +474,7 @@ def generate_ftdetect(packages, heuristics) name = filetype.fetch("name") syntax = filetype["syntax"] ? " | set syntax=#{filetype["syntax"]}" : "" - set_command = "call s:Setf('#{name}')" + set_command = "set ft=#{name}" if filetype["syntax"] set_command = "set ft=#{name} syntax=#{filetype["syntax"]}" @@ -556,19 +556,11 @@ 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#Shebang() " Try to detect filetype from shebang let ft = polyglot#ShebangFiletype() if ft != "" - call s:Setf(ft) + let &ft = ft return 1 endif |