LINUX.ORG.RU

vim python indent pep8

 ,


0

6

Есть ли в природе ? Всё что перепробовал - фигня. Даже вот этот: https://github.com/hynek/vim-python-pep8-indent

Вот так по дефолту вим индентит:

# vim default
x = [1, 2,
        3,
        ]

y = { 'a': 1, 'b': 2,
        'c': 3
        }

x = [1, 2,
     3,
     ]

y = { 'a': 1, 'b': 2,
     'c': 3
     }
y = [aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
     afefefwwefew
     ]

а по pep8 совершенно иначе

Перемещено true_admin из desktop

★★★★

Если в природе существует устраивающий тебя реформаттер: просто забинди вызов внешней программы которая будет это делать и всё. Всякие autopep8 пробовал?

true_admin ★★★★★
()

https://github.com/hynek/vim-python-pep8-indent

Кстати, у файла офигенный авторско-правовой статус:

This script is based on one from vim’s official script repo that was not originally written by me. Unfortunately the indentation was off by one character in one case and the script hasn’t been updated since 2005.

Even more unfortunately, I wasn’t able to reach any of the original authors/maintainers: David Bustos and Eric Mc Sween.

So I fixed the annoyance it with the help of Steve Losh and am putting it out here so you don’t have to patch the original yourself. The original patch is still available here.

Over the time a lot more improvements have been contributed by generous people.

I’d like to thank the original authors here for their work and release it hereby to the Public Domain (using the CC0 licence) since I hope that would be in their spirit. If anyone with a say in this objects, please let me know immediately. Also, if someone is in contact with one of them, I would appreciate being introduced.

(выделение мое)

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от true_admin

Bundle 'tell-k/vim-autopep8' Вроде работает. Но как-то неудобно чтоли. Что, нельзя было чистым вим плагином реализовать индент чтоли ? :|

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 1)
Ответ на: комментарий от Zmicier

офигенный авторско-правовой статус

В таких вопросах я прикидываю возможный ущерб если допущение о public domain будет ложным. В данном случае не вижу никаких рисков.

true_admin ★★★★★
()
Ответ на: комментарий от bryak

Представь что будет если под каждый редактор писать свою имплементацию. Это же ад. Да и vimscript, по слухам, совершенно не подарок.

true_admin ★★★★★
()

В общем так:

if has("autocmd")
    " autocmd BufWritePost *.py !autopep8 -i expand("%")
    autocmd BufWritePost *.py call Autopep8()
endif

bryak ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.