diff options
Diffstat (limited to 'ftplugin/julia.vim')
-rw-r--r-- | ftplugin/julia.vim | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ftplugin/julia.vim b/ftplugin/julia.vim index 785ffa2a..39126598 100644 --- a/ftplugin/julia.vim +++ b/ftplugin/julia.vim @@ -39,7 +39,7 @@ if exists("loaded_matchit") " for nested-structures-skipping to work properly " note: 'mutable struct' and 'struct' are defined separately because " using \? puts the cursor on 'struct' instead of 'mutable' for some reason - let b:julia_begin_keywords = '\%(\%(\.\s*\)\@<!\|\%(@\s*.\s*\)\@<=\)\<\%(function\|macro\|begin\|mutable\s\+struct\|\%(mutable\s\+\)\@<!struct\|\%(abstract\|primitive\)\s\+type\|let\|do\|\%(bare\)\?module\|quote\|if\|for\|while\|try\)\>' + let b:julia_begin_keywords = '\%(\.\s*\|@\)\@<!\<\%(function\|macro\|begin\|mutable\s\+struct\|\%(mutable\s\+\)\@<!struct\|\%(abstract\|primitive\)\s\+type\|let\|do\|\%(bare\)\?module\|quote\|if\|for\|while\|try\)\>' " note: the following regex not only recognizes macros, but also local/global keywords. " the purpose is recognizing things like `@inline myfunction()` " or `global myfunction(...)` etc, for matchit and block movement functionality @@ -67,7 +67,7 @@ if exists("loaded_matchit") call cursor(l, c) if attr == 'juliaConditional' return b:julia_begin_keywordsm . ':\<\%(elseif\|else\)\>:' . b:julia_end_keywords - elseif attr =~ '\<\%(juliaRepeat\|juliaRepKeyword\)\>' + elseif attr =~# '\<\%(juliaRepeat\|juliaRepKeyword\)\>' return b:julia_begin_keywordsm . ':\<\%(break\|continue\)\>:' . b:julia_end_keywords elseif attr == 'juliaBlKeyword' return b:julia_begin_keywordsm . ':' . b:julia_end_keywords @@ -82,8 +82,8 @@ if exists("loaded_matchit") " we need to skip everything within comments, strings and " the 'begin' and 'end' keywords when they are used as a range rather than as " the delimiter of a block - let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~ ' - \ . '"\\<julia\\%(Comprehension\\%(For\\|If\\)\\|RangeKeyword\\|Comment\\%([LM]\\|Delim\\)\\|\\%([bs]\\|Shell\\|Printf\\|Doc\\)\\?String\\|StringPrefixed\\|DocStringM\\(Raw\\)\\?\\|RegEx\\|SymbolS\\?\\|Macro\\|Dotted\\)\\>"' + let b:match_skip = 'synIDattr(synID(line("."),col("."),0),"name") =~# ' + \ . '"\\<julia\\%(Comprehension\\%(For\\|If\\)\\|RangeKeyword\\|Comment\\%([LM]\\|Delim\\)\\|\\%([bs]\\|Shell\\|Printf\\|Doc\\)\\?String\\|StringPrefixed\\|DocStringM\\(Raw\\)\\?\\|RegEx\\|SymbolS\\?\\|Dotted\\)\\>"' let b:undo_ftplugin = b:undo_ftplugin \ . " | unlet! b:match_words b:match_skip b:match_ignorecase" |