Apply black formatter for a piece of python source code
Project description
A tool that applies the Black python source code formatter to a single piece of python source code instead of a whole file or project.
Usage
$ pip install blacken-selection
$ blacken-selection -h
usage: Apply the black code formatter for a piece of python source code
positional arguments:
SOURCE The python source code to be formatted. If not
provided then source is read from stdin.
optional arguments:
-h, --help show this help message and exit
-l LINE_LENGTH, --line-length LINE_LENGTH
How many characters per line to allow. [default: 88]
$ blacken-selection "def main(): pass"
def main():
pass
Usage from PyCharm on linux
Unfortunately PyCharm External Tools cannot be used directly. The $SelectedText$ macro passes the selection as a command line argument to the tool but there is no way to properly quote a python string using double quotes.
But there is a solution:
- Install the
xclip
command line tool, we will use it to grab the code selection in PyCharm via the clipboard - Install blacken_selection as described above
- Grab the simple shell script blacken-selection-xclip.sh
Setup blacken-selection-xclip.sh
as an external tool in PyCharm:
File -> Settings -> Tools -> External Tools
Click the + icon to add a new external tool with the following values:
Name: blacken
Description: Blacken a piece of python code
Program: <absolute path for your blacken-selection-xclip.sh>
Arguments:
Select a piece of python source code in your editor and from the right click context menu select:
External Tools -> blacken
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file blacken-selection-0.1.2.tar.gz
.
File metadata
- Download URL: blacken-selection-0.1.2.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d38027f7aa014f6c1babd58d7841672b63e7786a44785bffebcc923bdfd397a9 |
|
MD5 | 518b45f48be8b209bc1f89de2a400046 |
|
BLAKE2b-256 | b2f46a9c61855e5cf3eca9fb4c591929b046de2e3c848251b0392a8f077eb1c1 |