diff options
author | Christian Clason <christian.clason@uni-due.de> | 2021-09-10 14:01:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-10 14:01:13 +0200 |
commit | aab3583e74fa3fd295bd367113be60965c748205 (patch) | |
tree | 88b33978cb29ca7ca1b4b5c45208cd32b974115a /runtime/autoload | |
parent | 185ed18e6cc9113ef257e5491ada657a769a9d04 (diff) | |
download | rneovim-aab3583e74fa3fd295bd367113be60965c748205.tar.gz rneovim-aab3583e74fa3fd295bd367113be60965c748205.tar.bz2 rneovim-aab3583e74fa3fd295bd367113be60965c748205.zip |
vim-patch:8.2.3399: Octave files are not recognized (#15622)
Problem: Octave files are not recognized.
Solution: Detect Octave files. (Doug Kearns)
https://github.com/vim/vim/commit/deba5eb195d6ac70171d4973091fa884809fa3fa
Diffstat (limited to 'runtime/autoload')
-rw-r--r-- | runtime/autoload/dist/ft.vim | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index ac80659113..48a9657cf5 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -264,6 +264,13 @@ func dist#ft#ProtoCheck(default) endfunc func dist#ft#FTm() + if exists("g:filetype_m") + exe "setf " . g:filetype_m + return + endif + + let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|for\|function\|if\|methods\|parfor\|properties\|switch\|while\)\>' + let n = 1 let saw_comment = 0 " Whether we've seen a multiline comment leader. while n < 100 @@ -278,6 +285,13 @@ func dist#ft#FTm() setf objc return endif + if line =~ '^\s*\%(#\|%!\|[#%]{\=\s*$\)' || + \ line =~ '^\s*unwind_protect\>' || + \ line =~ '\%(^\|;\)\s*' .. octave_block_terminators + setf octave + return + endif + " TODO: could be Matlab or Octave if line =~ '^\s*%' setf matlab return @@ -298,11 +312,8 @@ func dist#ft#FTm() " or Murphi based on the comment leader. Assume the former as it is more " common. setf objc - elseif exists("g:filetype_m") - " Use user specified default filetype for .m - exe "setf " . g:filetype_m else - " Default is matlab + " Default is Matlab setf matlab endif endfunc |