google / google/vim-codefmt

Allow configuring indent size, etc. for autopep8

Open
#24 13 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
Vim Script
Stars
1.1k
Forks
102
PR merge metrics
No merged PRs in 30d

Description

autopep8 allows configuring the indent-size and max-line-length to use as well as listing error codes to be ignored like `--ignore=E226,E302,E41`. It's currently possible to configure those via pep8 config files by putting something like the following in ~/.config/pep8 or a per-project setup.cfg or tox.ini:

``` cfg
[pep8]
indent-size = 2
max-line-length = 100
ignore = E226,E302,E41
```

Config files work pretty well in most cases, but it still would be nice to be able to configure via vimscript for some cases. I'm thinking there should be a flag and/or buffer-local variable that can be used to pass config to autopep8.

In particular, since vim already has settings that correspond to indent size and max line length, it would be great to have an option to hook those up to automatically match vim's 'shiftwidth' and 'textwidth' settings, since I've already configured formatting settings once and shouldn't be forced to repeat myself.

Contributor guide

Open the contributing guide

Research direction

Start at the Vimscript entry point that invokes autopep8 and review how formatter options are currently passed. Define how a flag or buffer-local variable should map to autopep8's indent-size, max-line-length, and ignore settings, including optional use of Vim's shiftwidth and textwidth; done means these settings can be configured without repeating them in a config file.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, vim
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.