All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
84f35c0)
"pythonTodo" is contained in "pythonComment".
Fix it by adding "pythonTodo" to the pattern to match special chars.
An alternative might be using `synstack()` to get to "pythonComment"
still, but this is not really necessary (and likely slower).
let s:skip_after_opening_paren = 'synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "\\vcomment|jedi\\S"'
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')
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.
endfunction
else
" Also ignore anything concealed.
function! s:_skip_special_chars(line, col)
return synIDattr(synID(a:line, a:col, 0), 'name')
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)
end
describe "Using O" do
end
describe "Using O" do
- before { vim.feedkeys 'iif foo:\<CR>' }
+ before {
+ vim.feedkeys '\<ESC>ggdG'
+ vim.feedkeys 'iif foo:\<CR>'
+ }
it "respects autoindent" do
vim.feedkeys '1\<CR>\<CR>'
it "respects autoindent" do
vim.feedkeys '1\<CR>\<CR>'
indent.should == shiftwidth
end
end
indent.should == shiftwidth
end
end
+
+describe "o within TODO" do
+ before {
+ vim.feedkeys '\<ESC>ggdG'
+ vim.feedkeys 'iif 1: # TODO\<Esc>'
+ # Assertion that we have a pythonTodo here.
+ vim.echo('synIDattr(synID(line("."), col("."), 0), "name")').should match 'pythonTodo'
+ }
+
+ it "respects autoindent" do
+ vim.feedkeys 'o'
+ indent.should == shiftwidth
+ end
+end