X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c2e53f8cab69594b3fffbbdcbbe38acafdb7ca19..8c347a6f4591e75a16cca9350cffde5cfaefd25a:/indent/python.vim?ds=inline diff --git a/indent/python.vim b/indent/python.vim index 5da97e9..532bab5 100644 --- a/indent/python.vim +++ b/indent/python.vim @@ -69,13 +69,15 @@ let s:stop_statement = '^\s*\(break\|continue\|raise\|return\|pass\)\>' let s:skip_after_opening_paren = 'synIDattr(synID(line("."), col("."), 0), "name") ' . \ '=~? "\\vcomment|jedi\\S"' +let s:special_chars_syn_pattern = "\\vstring|comment|^pythonbytes%(contents)=$|pythonTodo|jedi\\S" + if !get(g:, 'python_pep8_indent_skip_concealed', 0) || !has('conceal') " Skip strings and comments. Return 1 for chars to skip. " jedi* refers to syntax definitions from jedi-vim for call signatures, which " are inserted temporarily into the buffer. function! s:_skip_special_chars(line, col) return synIDattr(synID(a:line, a:col, 0), 'name') - \ =~? "\\vstring|comment|^pythonbytes%(contents)=$|jedi\\S" + \ =~? s:special_chars_syn_pattern endfunction else " Also ignore anything concealed. @@ -90,8 +92,8 @@ else function! s:_skip_special_chars(line, col) return synIDattr(synID(a:line, a:col, 0), 'name') - \ =~? "\\vstring|comment|^pythonbytes%(contents)=$|jedi\\S" - \ || s:is_concealed(a:line, a:col) + \ =~? s:special_chars_syn_pattern + \ || s:is_concealed(a:line, a:col) endfunction endif @@ -212,7 +214,7 @@ function! s:indent_like_opening_paren(lnum) if starts_with_closing_paren && !hang_closing let res = base else - let res = base + s:sw() + return base + s:sw() endif else " Indent to match position of opening paren.