Просмотр кода с отступом, отличным от сохраненного на диске

13

Я работаю над некоторыми проектами со стилями отступов, которые меня очень раздражают. Я хотел бы просмотреть код с определенным стилем отступа, но всегда сохранять на диск с предписанным стилем отступа.

В частности, мне нравится стиль отступов по умолчанию в аргументах многострочных функций ...

void foo(int a, int b,
         string c)

Но проект только для вкладок, единый отступ для всего ...

void foo(int a, int b,
    string c)

Могу ли я увидеть первый случай, но поделиться вторым?

Spacemoose
источник
Как насчет: отключить режим автоматического возврата, а затем запустить команду (например, astyle), которая форматирует файл в стиле вашей команды в вашейafter-save-hook
няня
Вы рассматривали хук форматирования уровня контроля версий, например, git pre-commit hook?
erjoalgo

Ответы:

1

Очевидный подход к этому будет

  • отступить копию буфера с помощью c-mode; а потом
  • поместите отступ копии как свойства отображения в пространство отступа в исходном буфере.

Примечание 1: Реализация этого с сохранением возможности редактирования буфера может быть кошмаром, поэтому я бы сделал буфер доступным только для чтения.
Примечание 2: Свойства текста намного быстрее, чем наложения, поэтому я бы использовал их. Если только в нечетном случае, когда отступ исходного буфера равен 0, а c-modes - нет.

politza
источник
Это можно сделать с помощью свойств текста, добавив дополнительные ключевые слова для блокировки шрифтов. Меня больше беспокоит выяснение того, как вместо этого должен отображаться отступ.
васамаса