summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--autoload/sleuth.vim2
-rw-r--r--ftdetect/polyglot.vim8
-rw-r--r--packages.yaml9
-rwxr-xr-xscripts/build9
4 files changed, 26 insertions, 2 deletions
diff --git a/autoload/sleuth.vim b/autoload/sleuth.vim
index abe8cd85..ac0b49f5 100644
--- a/autoload/sleuth.vim
+++ b/autoload/sleuth.vim
@@ -194,7 +194,7 @@ let s:globs = {
\ 'svg': '*.svg',
\ 'swift': '*.swift',
\ 'sxhkdrc': '*.sxhkdrc,sxhkdrc',
- \ 'systemd': '*.automount,*.mount,*.path,*.service,*.socket,*.swap,*.target,*.timer',
+ \ 'systemd': '*.automount,*.dnssd,*.link,*.mount,*.netdev,*.network,*.nspawn,*.path,*.service,*.slice,*.socket,*.swap,*.target,*.timer,*.#*',
\ 'tablegen': '*.td',
\ 'tads': '*.t',
\ 'terraform': '*.hcl,*.nomad,*.tf,*.tfvars,*.workflow',
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index 18ccd136..ced2ce15 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -1817,13 +1817,21 @@ endif
if !has_key(s:disabled_packages, 'systemd')
au BufNewFile,BufRead *.automount set ft=systemd
+ au BufNewFile,BufRead *.dnssd set ft=systemd
+ au BufNewFile,BufRead *.link set ft=systemd
au BufNewFile,BufRead *.mount set ft=systemd
+ au BufNewFile,BufRead *.netdev set ft=systemd
+ au BufNewFile,BufRead *.network set ft=systemd
+ au BufNewFile,BufRead *.nspawn set ft=systemd
au BufNewFile,BufRead *.path set ft=systemd
au BufNewFile,BufRead *.service set ft=systemd
+ au BufNewFile,BufRead *.slice set ft=systemd
au BufNewFile,BufRead *.socket set ft=systemd
au BufNewFile,BufRead *.swap set ft=systemd
au BufNewFile,BufRead *.target set ft=systemd
au BufNewFile,BufRead *.timer set ft=systemd
+ au BufNewFile,BufRead *.#* call s:StarSetf('systemd')
+ au BufNewFile,BufRead */systemd/*.conf set ft=systemd
endif
if !has_key(s:disabled_packages, 'terraform')
diff --git a/packages.yaml b/packages.yaml
index 322a3a15..1ef2942a 100644
--- a/packages.yaml
+++ b/packages.yaml
@@ -1583,13 +1583,22 @@ filetypes:
- name: systemd
extensions:
- automount
+ - dnssd
+ - link
- mount
+ - netdev
+ - network
+ - nspawn
- path
- service
+ - slice
- socket
- swap
- target
- timer
+ filenames:
+ - '*.#*'
+ - '*/systemd/*.conf'
---
name: terraform
remote: hashivim/vim-terraform
diff --git a/scripts/build b/scripts/build
index bc5cd126..dd0af0c0 100755
--- a/scripts/build
+++ b/scripts/build
@@ -738,8 +738,15 @@ def show_warnings(all_filetypes, expected_filetypes)
[f["extensions"], f["ignored_extensions"]].compact.flatten.map { |e| "*." + e }
end
+ all_handled_regexps = Hash[all_handled.group_by { |a, b| a }.map { |a, b| [a, b[1]] }.map do |a, b|
+ [a, Regexp.union(b.map { |x| Regexp.escape(x).gsub('\\*', '.*') })]
+ end]
+
for name, e in all_expected - all_handled
- if e.match?(/\/\*\.[^\/]+$/) && all_handled.include?([name, e.split('/').last])
+ if e.match?(/\/\*?\.[^\/]+$/) && all_handled.include?([name, e.split('/').last.gsub('*', '')])
+ next
+ end
+ if e.include?('*') && all_handled_regexps[name].match?(e)
next
end
puts "Missing for #{name}: #{e}"