summaryrefslogtreecommitdiffstats
path: root/runtime/autoload
diff options
context:
space:
mode:
authorElwardi <elwardifadeli@gmail.com>2022-01-11 18:14:23 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-11 18:14:23 +0000
commit2284f6cca384e0ccc352bfec7277dc26386cac3d (patch)
tree1062cf2ce54b2bb7cef3d981268f18335e2aa69d /runtime/autoload
parentb8822442d716df0230c79531132e530e95cc17e3 (diff)
patch 8.2.4064: foam files are not detectedv8.2.4064
Problem: Foam files are not detected. Solution: Detect the foam filetype by the path and file contents. (Mohammed Elwardi Fadeli, closes #9501)
Diffstat (limited to 'runtime/autoload')
-rw-r--r--runtime/autoload/dist/ft.vim17
1 files changed, 17 insertions, 0 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 9933ace8c2..342731b272 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -829,6 +829,23 @@ func dist#ft#Dep3patch()
endfor
endfunc
+" This function checks the first 15 lines for appearance of 'FoamFile'
+" and then 'object' in a following line.
+" In that case, it's probably an OpenFOAM file
+func dist#ft#FTfoam()
+ let ffile = 0
+ let lnum = 1
+ while lnum <= 15
+ if getline(lnum) =~# '^FoamFile'
+ let ffile = 1
+ elseif ffile == 1 && getline(lnum) =~# '^\s*object'
+ setf foam
+ return
+ endif
+ let lnum = lnum + 1
+ endwhile
+endfunc
+
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save