aboutsummaryrefslogtreecommitdiff
path: root/runtime/indent/matlab.vim
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-24 20:48:01 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-27 09:21:31 -0400
commitd227c22f00db4c3688fbc83266fa43f0adf992cc (patch)
tree17ba865d581069a51aea59b3284e027eeaa08d90 /runtime/indent/matlab.vim
parent527d108223e50c3fab034b582c102475b16c016e (diff)
downloadrneovim-d227c22f00db4c3688fbc83266fa43f0adf992cc.tar.gz
rneovim-d227c22f00db4c3688fbc83266fa43f0adf992cc.tar.bz2
rneovim-d227c22f00db4c3688fbc83266fa43f0adf992cc.zip
vim-patch:32b364fcc097
Runtime file updates. https://github.com/vim/vim/commit/32b364fcc09749f35adb441b81291e1e5946dbc2
Diffstat (limited to 'runtime/indent/matlab.vim')
-rw-r--r--runtime/indent/matlab.vim6
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/indent/matlab.vim b/runtime/indent/matlab.vim
index d2818a18ea..6390445c60 100644
--- a/runtime/indent/matlab.vim
+++ b/runtime/indent/matlab.vim
@@ -29,7 +29,7 @@ if exists("*GetMatlabIndent") | finish | endif
let s:keepcpo = &cpo
set cpo&vim
-let s:end = '\<end\>\%([^(]*)\)\@!' " Array indexing heuristic
+let s:end = '\<end\>\%([^({]*[)}]\)\@!' " Array indexing heuristic
let s:open_pat = 'for\|if\|parfor\|spmd\|switch\|try\|while\|classdef\|properties\|methods\|events\|enumeration'
let s:dedent_pat = '\C^\s*\zs\<\%(end\|else\|elseif\|catch\|\(case\|otherwise\|function\)\)\>'
let s:start_pat = '\C\<\%(function\|' . s:open_pat . '\)\>'
@@ -38,7 +38,7 @@ let s:zflag = has('patch-7.4.984') ? 'z' : ''
" Returns whether a comment or string envelops the specified column.
function! s:IsCommentOrString(lnum, col)
- return synIDattr(synID(a:lnum, a:col, 1), "name") =~# 'matlabComment\|matlabMultilineComment\|matlabString'
+ return synIDattr(synID(a:lnum, a:col, 1), "name") =~# 'matlabComment\|matlabMultilineComment\|matlabCellComment\|matlabString'
endfunction
" Returns whether the specified line continues on the next line.
@@ -105,7 +105,7 @@ function! GetMatlabIndent()
else
" Count how many blocks the previous line opens/closes
" Line continuations/brackets indent once per statement
- let result = indent(prevlnum) + shiftwidth() * (open - close
+ let result = (prevlnum > 0) * indent(prevlnum) + shiftwidth() * (open - close
\ + (b:MATLAB_bracketlevel ? -!curbracketlevel : !!curbracketlevel)
\ + (curbracketlevel <= 0) * (above_lc - b:MATLAB_waslc))
endif