From d9a83b2fa382626c62b450af4d7f4a9c95027f03 Mon Sep 17 00:00:00 2001 From: robin <726f62696e@users.noreply.github.com> Date: Fri, 17 Jul 2015 11:00:42 +0530 Subject: [PATCH] Fix for port maps with bit-select in first port Current version does not indent the following code comp_inst : comp port map ( a_in(0) => a, -- or a_in(1 downto 0) => a, ... --- indent/vhdl.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indent/vhdl.vim b/indent/vhdl.vim index 3e847b9..964c8aa 100644 --- a/indent/vhdl.vim +++ b/indent/vhdl.vim @@ -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\)\>.*\)\@\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\)\>.*\)\@\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*(')) " align closing ")" with opening "(" if curs =~ '^\s*)' return ind2 + stridx(prevs_noi, '(')