diff options
| author | Elwardi <elwardifadeli@gmail.com> | 2022-01-08 00:02:28 +0100 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-01-08 13:20:52 +0100 |
| commit | 99d4d7e2d8c224089b30531592f9ae35a2313964 (patch) | |
| tree | 130b125d6f7826d6c3bdabf06518a0cd44141ab3 | |
| parent | fix(foam): Foam switched to C scanner (diff) | |
| download | nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar.gz nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar.bz2 nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar.lz nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar.xz nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.tar.zst nvim-treesitter-99d4d7e2d8c224089b30531592f9ae35a2313964.zip | |
Better ftdetect for OpenFOAM
| -rw-r--r-- | after/ftdetect/foam.vim | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/after/ftdetect/foam.vim b/after/ftdetect/foam.vim index 56cf98263..7019834f7 100644 --- a/after/ftdetect/foam.vim +++ b/after/ftdetect/foam.vim @@ -1,13 +1,26 @@ -" Last Change: 2021 Dec 13 +" Last Change: 2022 Jan 08 function! s:foamFile(path) - let l:lines = getline(1, 10) + " Return if file type already set + if (&filetype == 'foam') + return + endif + + let l:lines = getline(1, 15) + let l:f = -1 + let l:o = -1 for line in lines - if match(line, 'FoamFile') >= 0 - set filetype=foam + if (match(line, 'FoamFile') >= 0) + let l:f = index(lines, line) + endif + if (match(line, 'object') >= 0) + let l:o = index(lines, line) endif endfor + if ((l:o >= 0) && (l:f) && (l:o > l:f)) + set filetype=foam + endif endfunction -autocmd BufNewFile,BufRead *Dict,*Properties,fvSchemes,fvSolution,*/constant/g,*/0/* call s:foamFile(expand("%")) autocmd FileType cpp call s:foamFile(expand("%")) +autocmd BufNewFile,BufRead *Dict,*Properties,fvSchemes,fvSolution,*/constant/g,*/0/* call s:foamFile(expand("%")) |
