From 97cb0d55717f0b9ffe0748d4cd220217abc51a63 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 12 Nov 2025 07:38:55 +0800 Subject: [PATCH] vim-patch:9.1.1906: filetype: not all Ruby files are recognized (#36526) Problem: filetype: not all Ruby files are recognized Solution: Detect *.rbi and Brewfile as ruby filetype (botantony). - `rbi` is a file extension used by Sorbet, typechecker for Ruby: https://sorbet.org/docs/rbi - `Brewfile` is a bundler file for Homebrew package manager: https://docs.brew.sh/Brew-Bundle-and-Brewfile closes: vim/vim#18697 https://github.com/vim/vim/commit/efc3be77bbf707edad9cbbda7aef471de65411fd Co-authored-by: botantony --- runtime/lua/vim/filetype.lua | 2 ++ test/old/testdir/test_filetype.vim | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index 419e44d46f..b83ae1c248 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1099,6 +1099,7 @@ local extension = { rjs = 'ruby', rxml = 'ruby', rb = 'ruby', + rbi = 'ruby', rant = 'ruby', ru = 'ruby', rbw = 'ruby', @@ -1844,6 +1845,7 @@ local filename = { ['requirements.in'] = 'requirements', ['resolv.conf'] = 'resolv', ['robots.txt'] = 'robots', + Brewfile = 'ruby', Gemfile = 'ruby', Puppetfile = 'ruby', ['.irbrc'] = 'ruby', diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index 5f3e262f86..b391673a90 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -692,7 +692,9 @@ func s:GetFilenameChecks() abort \ 'rrst': ['file.rrst', 'file.srst'], \ 'rst': ['file.rst'], \ 'rtf': ['file.rtf'], - \ 'ruby': ['.irbrc', 'irbrc', '.irb_history', 'irb_history', 'file.rb', 'file.rbw', 'file.gemspec', 'file.ru', 'Gemfile', 'file.builder', 'file.rxml', 'file.rjs', 'file.rant', 'file.rake', 'rakefile', 'Rakefile', 'rantfile', 'Rantfile', 'rakefile-file', 'Rakefile-file', 'Puppetfile', 'Vagrantfile'], + \ 'ruby': ['.irbrc', 'irbrc', '.irb_history', 'irb_history', 'file.rb', 'file.rbi', 'file.rbw', 'file.gemspec', 'file.ru', 'Gemfile', 'file.builder', + \ 'file.rxml', 'file.rjs', 'file.rant', 'file.rake', 'rakefile', 'Rakefile', 'rantfile', 'Rantfile', 'rakefile-file', 'Rakefile-file', + \ 'Puppetfile', 'Vagrantfile', 'Brewfile'], \ 'rust': ['file.rs'], \ 'sage': ['file.sage'], \ 'salt': ['file.sls'],