1
0
forked from aniani/vim

patch 9.0.1057: conflict between supercollider and scala filetype detection

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)
This commit is contained in:
Chris Kipp
2022-12-14 16:42:15 +00:00
committed by Bram Moolenaar
parent eb53350c02
commit 70ef3f546b
3 changed files with 7 additions and 9 deletions

View 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

View 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

View File

@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1057,
/**/
1056,
/**/