<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/110727>110727</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-format 19 breaks ipynb files
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
njzjz
</td>
</tr>
</table>
<pre>
We know that `ipynb` files are JSON files. Give an example ipynb file as below:
```ipynb
{
"a": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
```
```sh
clang-format test.ipynb
```
In clang-format 18, nothing changes.
```ipynb
{
"a": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
```
In clang-format 19.1.0, the JSON is not valid anymore after formating:
```ipynb
{
"a" :
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaa"
}
```
But if one rename `test.ipynb` to `test.json`, nothing is broken.
----
I encounter this issue when using the [pre-commit](https://github.com/pre-commit/mirrors-clang-format), which formats ipynb files by default.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkVE2P0zAQ_TXOZZTInn6kOeSwpSqCAxw4cHbSSeyuY1e209L99chNWdplhRACCYkoSpyJ5-nNm-eRIejeEtVssWaLTSbHqJyv7f5p_5Q1bneuPxM8WneCqGQEtuT6cLYNW3LotKEA0hO8__Txw_RZwFt9JJAW6IscDobgsv3yE2SAhow7sdkD4xvGvz2XfLon5ClWrqcFAEOUDJHNHi7Lf_VKFK_UNy_qerXYoKZAa6Tt8875QUaIFGJxK8NrEO8s3CWJFcM3YF1U2vbQKml7CsV_q_AP8lSFKHiSKKqrVXVIcsFRGr0Dac-D8wSyi-RhStK2_y2TwnPWn1TyufC_D_qLGq_HCLoDZwk8WTlQGgw35l1yiO45tg_OJoAbl-oAjXePZO98mud5ftdKINu60abGRKUD6BBGgpMiC2NIOKmlbLE-eMpbNww6ssWG4UrFeAipF7hluO11VGNTtG5guL3ZittBe-98yG8Nw7BKTE9Kt-pqh3AzxQI0Z9hRJ0cTi2xXz3bVrJIZ1aLEciX4vKwyVbe4lBI5rspSzMpqgbwV3W7eVbytqlLKTNfIcS44F6JCIapi162wK3HeLnlLTYdszmmQ2hTGHIfC-T67FF8LwUssMyMbMuEytRHv6WOa475OeXkz9oHNudEhhu9IUUdD9YtTAo0n-XhXajZ6U_9EywR4feUH7_bUJlEvPAPD7ZXqscavAQAA___z6QMN">