]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1906: filetype: not all Ruby files are recognized v9.1.1906
authorbotantony <antonsm21@gmail.com>
Tue, 11 Nov 2025 17:26:02 +0000 (17:26 +0000)
committerChristian Brabandt <cb@256bit.org>
Tue, 11 Nov 2025 17:26:02 +0000 (17:26 +0000)
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: #18697

Signed-off-by: botantony <antonsm21@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/autoload/dist/ft.vim
src/testdir/test_filetype.vim
src/version.c

index 88e81099e681f94128d51ef4241de52baa2a60ea..2ab128a218b1daaa5fe8c3f645f493fa258c462d 100644 (file)
@@ -3,7 +3,7 @@ vim9script
 # Vim functions for file type detection
 #
 # Maintainer:          The Vim Project <https://github.com/vim/vim>
-# Last Change:         2025 Oct 31
+# Last Change:         2025 Nov 11
 # Former Maintainer:   Bram Moolenaar <Bram@vim.org>
 
 # These functions are moved here from runtime/filetype.vim to make startup
@@ -2571,6 +2571,8 @@ const ft_from_ext = {
   "builder": "ruby",
   "rxml": "ruby",
   "rjs": "ruby",
+  # Sorbet (Ruby typechecker)
+  "rbi": "ruby",
   # Rust
   "rs": "rust",
   # S-lang
@@ -2999,6 +3001,8 @@ const ft_from_name = {
   "apt.conf": "aptconf",
   # BIND zone
   "named.root": "bindzone",
+  # Brewfile (uses Ruby syntax)
+  "Brewfile": "ruby",
   # Busted (Lua unit testing framework - configuration files)
   ".busted": "lua",
   # Bun history
index 31aa2b2d522bf6bb69e9384265d53d22d9eb7714..c2a8485c1fb821e83bebe6e81af59a28b2b97571 100644 (file)
@@ -695,7 +695,9 @@ def s:GetFilenameChecks(): dict<list<string>>
     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'],
index 177780a74cf4ab30bfba75a6fe4d7d2d4efd7acc..acb1c5d7cb91787a003ac715e52bf2a176a29a28 100644 (file)
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1906,
 /**/
     1905,
 /**/