aboutsummaryrefslogtreecommitdiff
path: root/runtime/indent
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-01-09 22:31:45 -0500
committerGitHub <noreply@github.com>2017-01-09 22:31:45 -0500
commit9fcf6d577fa712d2ce420012c53a687cc9f7301d (patch)
treee76756bff3c08f33aca515ac90c76046bf11d61c /runtime/indent
parentb260004d65ab55838cce9442a29e4f10941c5f51 (diff)
parent8f32c04df4a181a2773da3d5e0fcd36ff84a25d8 (diff)
downloadrneovim-9fcf6d577fa712d2ce420012c53a687cc9f7301d.tar.gz
rneovim-9fcf6d577fa712d2ce420012c53a687cc9f7301d.tar.bz2
rneovim-9fcf6d577fa712d2ce420012c53a687cc9f7301d.zip
Merge pull request #5862 from jamessan/vim-aa3b15d
vim-patch:aa3b15d,82af871,7.4.1925,c95a302
Diffstat (limited to 'runtime/indent')
-rw-r--r--runtime/indent/vhdl.vim21
-rw-r--r--runtime/indent/vim.vim4
2 files changed, 18 insertions, 7 deletions
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 3e847b9575..6982859670 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -1,8 +1,8 @@
" VHDL indent ('93 syntax)
" Language: VHDL
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
-" Version: 1.58
-" Last Change: 2011 Sep 27
+" Version: 1.60
+" Last Change: 2016 Feb 26
" URL: http://www.vim.org/scripts/script.php?script_id=1450
" only load this indent file when no other was loaded
@@ -104,7 +104,7 @@ function GetVHDLindent()
let pn = prevnonblank(pn - 1)
let ps = getline(pn)
endwhile
- if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
+ if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\((.*)\)*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\s\+\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
" align closing ")" with opening "("
if curs =~ '^\s*)'
return ind2 + stridx(prevs_noi, '(')
@@ -412,11 +412,22 @@ function GetVHDLindent()
" ****************************************************************************************
" indent: maintain indent of previous opening statement
- " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
+ " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
" where: start of current line
- if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
+ if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
return ind2
endif
+ " ****************************************************************************************
+ " indent: maintain indent of previous opening statement, corner case which
+ " does not end in ;, but is part of a mapping
+ " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=", never + ;$ and
+ " prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
+ " where: start of current line
+ if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
+ if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
+ return ind2
+ endif
+ endif
" return leftover filtered indent
return ind
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index 31b76b8c0c..7ec7df849e 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2016 Jan 24
+" Last Change: 2016 Apr 19
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -60,7 +60,7 @@ function GetVimIndentIntern()
else
let ind = ind + shiftwidth() * 3
endif
- elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+END'
+ elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+[eE][nN][dD]'
let ind = ind + shiftwidth()
else
" A line starting with :au does not increment/decrement indent.