return mimeData->formats() | views::transform(toMimeSlice) | to<Clip::MimeContainer>();
Але рядок швидко стає немаленьким завширшки, особливо з плюсовим синтаксисом, як ви можете собі уявити. А clang-format форматує код отак:
return mimeData->formats() |
views::transform(toMimeSlice) |
to<Clip::MimeContainer>();
Тобто пайп ставить в кінці рядка, а наступний рядок починає під початком першого слова у виразі. Тут для краси
toMimeSlice просто як функція передається, але насправді там могла бути лямбда на декілька рядків, і це зовсім неможливо стає читати.Для clang-format
| — це просто бінарний оператор. Можна, мабуть, налаштувати, щоб він у довгих виразах починав рядок з нього, але тоді він це буде робити і для якогось +, а мені так не подобається.Дратувало мене це — просто жах, але як так налаштувати його, щоб у мене око не тіпалося — хз. Вирішив спитати #ШІ, бо думав, може, пропустив якесь спеціальне налаштування на цей випадок. А ШІ-шка мені: «так ти просто коментар порожній в кінці рядка лишай» 🤯
return mimeData->formats() //
| views::transform(toMimeSlice) //
| to<Clip::MimeContainer>();
Тепер clang-format бачить, що між операндом та пайпом ще токен коментаря стоїть, і йому доводиться писати пайп з нового рядка )
Так, ШІ-шка цьому десь навчилася теж, але я сам щось не допетрав до такого рішення.