0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 9.1.0505: filetype: Faust files are not recognized

Problem:  filetype: Faust files are not recognized
Solution: Detect '*.lib' files as Faust filetype, add detection for
          '*.dsp' files (Faust or Make), remove '*.lib' from Cobol
          filetype (PowerUser64)

closes: #14894

Signed-off-by: PowerUser64 <blake@blakenorth.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
PowerUser64
2024-06-19 20:32:11 +02:00
committed by Christian Brabandt
parent ca7f93e6f3
commit aa61b8a908
5 changed files with 89 additions and 5 deletions

View File

@@ -1265,6 +1265,56 @@ export def FTtyp()
setf typst
enddef
# Detect Microsoft Developer Studio Project files (Makefile) or Faust DSP
# files.
export def FTdsp()
if exists("g:filetype_dsp")
exe "setf " .. g:filetype_dsp
return
endif
# Test the filename
if expand('%:t') =~ '^[mM]akefile.*$'
setf make
return
endif
# Test the file contents
for line in getline(1, 200)
# Chech for comment style
if line =~ '^#.*'
setf make
return
endif
# Check for common lines
if line =~ '^.*Microsoft Developer Studio Project File.*$'
setf make
return
endif
if line =~ '^!MESSAGE This is not a valid makefile\..+$'
setf make
return
endif
# Check for keywords
if line =~ '^!(IF,ELSEIF,ENDIF).*$'
setf make
return
endif
# Check for common assignments
if line =~ '^SOURCE=.*$'
setf make
return
endif
endfor
# Otherwise, assume we have a Faust file
setf faust
enddef
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 200
# lines.
export def FTv()