commit 97cb0d55717f0b9ffe0748d4cd220217abc51a63
parent 2822c38f2e737e9b249d2dc7b09eedd03dcc077c
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed, 12 Nov 2025 07:38:55 +0800
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 <antonsm21@gmail.com>
Diffstat:
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git 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
@@ -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'],