Skip to content

Instantly share code, notes, and snippets.

@MarvinT
Last active January 16, 2023 15:41
Show Gist options
  • Save MarvinT/a072aa992e977496974aaf492287b08c to your computer and use it in GitHub Desktop.
Save MarvinT/a072aa992e977496974aaf492287b08c to your computer and use it in GitHub Desktop.
json you can paste into jupyter notebook's code prettify configuration that makes it use black to reformat your code instead of yapf.
{
"python": {
"library": "import json\ndef black_reformat(cell_text):\n import black\n import re\n cell_text = re.sub('^%', '#%#', cell_text, flags=re.M)\n try:\n reformated_text = black.format_str(cell_text, 88)\n except TypeError:\n reformated_text = black.format_str(cell_text, mode=black.FileMode(line_length=88))\n return re.sub('^#%#', '%', reformated_text, flags=re.M)",
"prefix": "print(json.dumps(black_reformat(u",
"postfix": ")))"
},
"r": {
"library": "library(formatR)\nlibrary(jsonlite)",
"prefix": "cat(toJSON(paste(tidy_source(text=",
"postfix": ", output=FALSE)[['text.tidy']], collapse='\n')))"
},
"javascript": {
"library": "jsbeautify = require('js-beautify')",
"prefix": "console.log(JSON.stringify(jsbeautify.js_beautify(",
"postfix": ")));"
}
}
@MarvinT
Copy link
Author

MarvinT commented Mar 27, 2019

Install instructions available here.

@lucatrv
Copy link

lucatrv commented Aug 30, 2019

This is neat! I created a PR to use black by default, see: ipython-contrib/jupyter_contrib_nbextensions#1452

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment