vim-python / python-syntax

Python syntax highlighting for Vim
MIT License
438 stars 84 forks source link

Indentation broken after b'{' #75

Open 0xallie opened 3 years ago

0xallie commented 3 years ago

I ran a git bisect and it seems like since commit 8d58bf4 back in 2016 this plugin breaks indentation after a byte string with an unclosed {, such as b'{', resulting in the following indentation:

if license.startswith(b'{'):
        print('json license')
        else:
        print('regular license')

I have no idea how a syntax highlighting plugin breaks this, but it does.

Reproduced on Debian 10 x64 and NVIM v0.5.0-799-g186ba3b68 with minimal init.vim:

call plug#begin('~/.config/nvim/plugged')
Plug 'vim-python/python-syntax'
call plug#end()
nfnty commented 3 years ago

I have currently no clue why this occurs, but the issue disappears when you remove all the contains= from pythonBytes at L171-L174. Seems to also still work if you only keep contains=@Spell.