Skip to content

Commit

Permalink
patch 9.0.1438: .fs files are falsely recognized as forth files
Browse files Browse the repository at this point in the history
Problem:    .fs files are falsely recognized as forth files.
Solution:   Check 100 lines for something that looks like forth. (Johan
            Kotlinski, closes #12219, closes #11988)
  • Loading branch information
jkotlinski authored and brammool committed Apr 2, 2023
1 parent 3cdd799 commit 065088d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 24 deletions.
18 changes: 10 additions & 8 deletions runtime/autoload/dist/ft.vim
Expand Up @@ -307,14 +307,16 @@ export def FTfs()
if exists("g:filetype_fs")
exe "setf " .. g:filetype_fs
else
var line = getline(nextnonblank(1))
# comments and colon definitions
if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$'
\ || line =~ '^\s*: \S'
setf forth
else
setf fsharp
endif
var n = 1
while n < 100 && n <= line("$")
# Forth comments and colon definitions
if getline(n) =~ "^[:(\\\\] "
setf forth
return
endif
n += 1
endwhile
setf fsharp
endif
enddef

Expand Down
16 changes: 0 additions & 16 deletions src/testdir/test_filetype.vim
Expand Up @@ -1212,27 +1212,11 @@ func Test_fs_file()
call assert_equal('forth', &filetype)
bwipe!

call writefile(['.( Forth displayed inline comment )'], 'Xfile.fs')
split Xfile.fs
call assert_equal('forth', &filetype)
bwipe!

call writefile(['\ Forth line comment'], 'Xfile.fs')
split Xfile.fs
call assert_equal('forth', &filetype)
bwipe!

" empty line comment - no space required
call writefile(['\'], 'Xfile.fs')
split Xfile.fs
call assert_equal('forth', &filetype)
bwipe!

call writefile(['\G Forth documentation comment '], 'Xfile.fs')
split Xfile.fs
call assert_equal('forth', &filetype)
bwipe!

call writefile([': squared ( n -- n^2 )', 'dup * ;'], 'Xfile.fs')
split Xfile.fs
call assert_equal('forth', &filetype)
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -695,6 +695,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1438,
/**/
1437,
/**/
Expand Down

0 comments on commit 065088d

Please sign in to comment.