[bitbake-devel] [PATCH 2/9] bitbake: contrib/vim: Modify Python indentation to work with 'python do_task {'
Chris Laplante
chris.laplante at agilent.com
Fri Oct 11 16:23:02 UTC 2019
Signed-off-by: Chris Laplante <chris.laplante at agilent.com>
---
bitbake/contrib/vim/bitbake.vim | 44 +++++++++++++++++++++++++----------------
1 file changed, 27 insertions(+), 17 deletions(-)
diff --git a/bitbake/contrib/vim/bitbake.vim b/bitbake/contrib/vim/bitbake.vim
index f02b21b..f81f6d6 100644
--- a/bitbake/contrib/vim/bitbake.vim
+++ b/bitbake/contrib/vim/bitbake.vim
@@ -78,8 +78,14 @@ function GetPythonIndent(lnum)
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
- let plindent = indent(parlnum)
- let plnumstart = parlnum
+ if s:is_python_func_def(parlnum)
+ let parlnum = 0
+ let plindent = indent(plnum)
+ let plnumstart = plnum
+ else
+ let plindent = indent(parlnum)
+ let plnumstart = parlnum
+ endif
else
let plindent = indent(plnum)
let plnumstart = plnum
@@ -97,22 +103,26 @@ function GetPythonIndent(lnum)
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
- if p == plnum
- " When the start is inside parenthesis, only indent one 'shiftwidth'.
- let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
- \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
- \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
- \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
- \ searchpair_stopline, searchpair_timeout)
- if pp > 0
- return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
+ if s:is_python_func_def(p)
+ let p = 0
+ else
+ if p == plnum
+ " When the start is inside parenthesis, only indent one 'shiftwidth'.
+ let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
+ \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
+ \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+ \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
+ \ searchpair_stopline, searchpair_timeout)
+ if pp > 0
+ return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
+ endif
+ return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
+ endif
+ if plnumstart == p
+ return indent(plnum)
+ endif
+ return plindent
endif
- return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
- endif
- if plnumstart == p
- return indent(plnum)
- endif
- return plindent
endif
endif
--
2.7.4
More information about the bitbake-devel
mailing list