From afbf89dc0120b1db5782a0bf807dc7c8db70ccf6 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 26 Nov 2021 17:34:45 +0100 Subject: vim-patch:8.2.3679: objc file detected as Octave (#16446) Problem: objc file detected as Octave. (Antony Lee) Solution: Detect objc by preprocessor lines. (Doug Kearns, closes vim/vim#9223, closes vim/vim#9220) https://github.com/vim/vim/commit/7329cfab36356c48edab7ed68f6244eb9e20a5b1 --- runtime/autoload/dist/ft.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime') diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 7484149a26..344889249b 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -272,6 +272,8 @@ func dist#ft#FTm() " excluding end(for|function|if|switch|while) common to Murphi let octave_block_terminators = '\' + let objc_preprocessor = '^\s*#\s*\%(import\|include\|define\|if\|ifn\=def\|undef\|line\|error\|pragma\)\>' + let n = 1 let saw_comment = 0 " Whether we've seen a multiline comment leader. while n < 100 @@ -282,7 +284,7 @@ func dist#ft#FTm() " anything more definitive. let saw_comment = 1 endif - if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)' + if line =~ '^\s*//' || line =~ '^\s*@import\>' || line =~ objc_preprocessor setf objc return endif -- cgit