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": ")));"
}
}
@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