X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/7dfebca4ed468be64afffd8107e7a87f35d8ef5b..222fbda19d59ba0124aedade5a3ee4a10fb90a93:/indent/python.vim diff --git a/indent/python.vim b/indent/python.vim index befc60a..b3a5141 100644 --- a/indent/python.vim +++ b/indent/python.vim @@ -1,6 +1,7 @@ " PEP8 compatible Python indent file " Language: Python -" Maintainer: Hynek Schlawack +" Maintainer: Daniel Hahler +" Prev Maintainer: Hynek Schlawack " Prev Maintainer: Eric Mc Sween (address invalid) " Original Author: David Bustos (address invalid) " License: CC0 @@ -9,6 +10,7 @@ " Written in 2004 by David Bustos " Maintained from 2004-2005 by Eric Mc Sween " Maintained from 2013 by Hynek Schlawack +" Maintained from 2017 by Daniel Hahler " " To the extent possible under law, the author(s) have dedicated all copyright " and related and neighboring rights to this software to the public domain @@ -301,17 +303,19 @@ function! s:indent_like_previous_line(lnum) return base + s:sw() endif + let empty = getline(a:lnum) =~# '^\s*$' + " If the previous statement was a stop-execution statement or a pass if getline(start) =~# s:stop_statement " Remove one level of indentation if the user hasn't already dedented - if indent(a:lnum) > base - s:sw() + if empty || current > base - s:sw() return base - s:sw() endif " Otherwise, trust the user return -1 endif - if s:is_dedented_already(current, base) + if !empty && s:is_dedented_already(current, base) return -1 endif