]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1057: conflict between supercollider and scala filetype detection v9.0.1057
authorChris Kipp <ckipp@pm.me>
Wed, 14 Dec 2022 16:42:15 +0000 (16:42 +0000)
committerBram Moolenaar <Bram@vim.org>
Wed, 14 Dec 2022 16:42:15 +0000 (16:42 +0000)
Problem:    Conflict between supercollider and scala filetype detection.
Solution:   Do not check for "Class : Method", it can appear in both
            filetypes. (Chris Kipp, closes #11699)

runtime/autoload/dist/ft.vim
src/testdir/test_filetype.vim
src/version.c

index e6f18617cdf20e57dd26d0f3faddaa2e31aa2073..6a3c5e14d6343891b87095da9b75b6aee473aef0 100644 (file)
@@ -810,10 +810,13 @@ export def SQL()
 enddef
 
 # This function checks the first 25 lines of file extension "sc" to resolve
-# detection between scala and SuperCollider
+# detection between scala and SuperCollider.
+# NOTE: We don't check for 'Class : Method', as this can easily be confused
+#      with valid Scala like `val x : Int = 3`. So we instead only rely on
+#      checks that can't be confused.
 export def FTsc()
   for lnum in range(1, min([line("$"), 25]))
-    if getline(lnum) =~# '[A-Za-z0-9]*\s:\s[A-Za-z0-9]\|var\s<\|classvar\s<\|\^this.*\||\w*|\|+\s\w*\s{\|\*ar\s'
+    if getline(lnum) =~# 'var\s<\|classvar\s<\|\^this.*\||\w\+|\|+\s\w*\s{\|\*ar\s'
       setf supercollider
       return
     endif
index 63b2b81877a0c29203ead6fa1728f1509ffc6d73..1cc3c29655dd50f793362d88efb9d5757b989ffb 100644 (file)
@@ -1533,13 +1533,6 @@ endfunc
 func Test_sc_file()
   filetype on
 
-  " SC file methods are defined 'Class : Method'
-  call writefile(['SCNvimDocRenderer : SCDocHTMLRenderer {'], 'srcfile.sc')
-  split srcfile.sc
-  call assert_equal('supercollider', &filetype)
-  bwipe!
-  call delete('srcfile.sc')
-
   " SC classes are defined with '+ Class {}'
   call writefile(['+ SCNvim {', '*methodArgs {|method|'], 'srcfile.sc')
   split srcfile.sc
index be7048a3274f8b76097fc786b981585fe5100744..4f92cc6dcff65b9308431bf520a6239dcc41e253 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1057,
 /**/
     1056,
 /**/