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:
committed by
Bram Moolenaar
parent
eb53350c02
commit
70ef3f546b
7
runtime/autoload/dist/ft.vim
vendored
7
runtime/autoload/dist/ft.vim
vendored
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1057,
|
||||
/**/
|
||||
1056,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user