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
|
enddef
|
||||||
|
|
||||||
# This function checks the first 25 lines of file extension "sc" to resolve
|
# 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()
|
export def FTsc()
|
||||||
for lnum in range(1, min([line("$"), 25]))
|
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
|
setf supercollider
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@@ -1533,13 +1533,6 @@ endfunc
|
|||||||
func Test_sc_file()
|
func Test_sc_file()
|
||||||
filetype on
|
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 {}'
|
" SC classes are defined with '+ Class {}'
|
||||||
call writefile(['+ SCNvim {', '*methodArgs {|method|'], 'srcfile.sc')
|
call writefile(['+ SCNvim {', '*methodArgs {|method|'], 'srcfile.sc')
|
||||||
split srcfile.sc
|
split srcfile.sc
|
||||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1057,
|
||||||
/**/
|
/**/
|
||||||
1056,
|
1056,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user