Wyświetl kod z innym wcięciem niż zapisany na dysku


13

Pracuję nad niektórymi projektami ze stylami wcięć, które uważam za naprawdę irytujące. Chciałbym wyświetlić kod z pewnym stylem wcięcia, ale zawsze zapisz na dysku w zalecanym stylu wcięcia.

W szczególności podoba mi się domyślny styl wcięcia emacsa w argumentach funkcji wieloliniowych ...

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

Ale projekt jest tylko tabulator, jedno wcięcie na wszystko ...

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

Czy mogę zobaczyć pierwszy przypadek, ale udostępnić drugi?


Co z: wyłącz tryb automatycznego przywracania, a następnie uruchom polecenie (np. astyle), Które formatuje plik do stylu Twojego zespołu wafter-save-hook
niania

czy zastanawiałeś się nad hakiem formatowania kontroli wersji, np. hakiem pre-commit git?
erjoalgo,

Odpowiedzi:


1

Oczywistym podejściem byłoby to

  • wcięcie kopii bufora za pomocą c-mode; i wtedy
  • umieść wcięcie kopii jako właściwości wyświetlania w przestrzeni wcięcia w oryginalnym buforze.

Uwaga 1: Zaimplementowanie tego przy jednoczesnym zachowaniu możliwości edycji bufora może być koszmarem, więc uczynię bufor tylko do odczytu.
Uwaga 2: Właściwości tekstu są znacznie szybsze niż nakładki, więc użyłbym ich. Chyba że w nieparzystym przypadku, gdy wcięcie bufora oryginalnego wynosi 0, a c-modenie jest.


Można to zrobić za pomocą właściwości tekstu, dodając dodatkowe słowa kluczowe blokujące czcionki. Bardziej martwię się o to, jak zamiast tego wyświetlić wcięcie.
wasamasa,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.