From 0c23b863f4723baee004c56dd95697111a36c1ba Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 24 Sep 2025 08:33:47 +0800 Subject: [PATCH] vim-patch:9.1.1787: filetype: not all Sway config files are recognized Problem: filetype: not all Sway config files are recognized Solution: Detect files within */sway/config.d/* as swayconfig filetype (Felix Pehla). Sways default config automatically includes files placed in @sysconfdir@/sway/config.d/* (see config.in), so it makes sense to use the sway syntax for those. related: vim/vim#18293 https://github.com/vim/vim/commit/24f0dbba8c19be6969f392f891067ded4233bde7 Co-authored-by: Felix Pehla <29adc1fd92@gmail.com> --- runtime/lua/vim/filetype.lua | 1 + test/old/testdir/test_filetype.vim | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index dc1865f96e..f82122b19a 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -2388,6 +2388,7 @@ local pattern = { ['/%.ssh/config$'] = 'sshconfig', ['/%.sway/config$'] = 'swayconfig', ['/sway/config$'] = 'swayconfig', + ['/sway/config%.d/'] = 'swayconfig', ['/%.cargo/config$'] = 'toml', ['/%.bundle/config$'] = 'yaml', ['/%.kube/config$'] = 'yaml', diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 5800451dd3..4806445189 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -772,7 +772,8 @@ func s:GetFilenameChecks() abort \ 'svg': ['file.svg'], \ 'svn': ['svn-commitfile.tmp', 'svn-commit-file.tmp', 'svn-commit.tmp'], \ 'sway': ['file.sw'], - \ 'swayconfig': ['/home/user/.sway/config', '/home/user/.config/sway/config', '/etc/sway/config', '/etc/xdg/sway/config'], + \ 'swayconfig': ['/home/user/.sway/config', '/home/user/.config/sway/config', '/etc/sway/config', '/etc/xdg/sway/config', + \ '/home/user/sway/config.d/50-user.conf' ], \ 'swift': ['file.swift', 'file.swiftinterface'], \ 'swiftgyb': ['file.swift.gyb'], \ 'swig': ['file.swg', 'file.swig'],