Szukam prostego sposobu na zapamiętanie przez emacsa deklarowanej zmiennej w jednej funkcji w C / C ++. Przez „prosty” mam na myśli brak zewnętrznego pakietu, po prostu z kilkoma liniami elisp w plikach konfiguracyjnych.
Moja domyślna konfiguracja Emacsa koloruje nazwy zmiennych na żółto podczas deklaracji, ale niech będą białe po użyciu.
char toto; // 'char' is green, 'toto' is yellow
toto = 42; // 'toto' is white
Chciałbym również, aby każde „toto” tej samej funkcji / zakresu również miało kolor żółty.
Już zastanawiałem się nad tym pytaniem, ale chciałbym coś prostszego. Próbowałem też zrobić coś z trybem blokowania czcionek , ale nie udało mi się przystosować czegoś do nazw zmiennych.
Mam już pomysł na nazwy członków klasy C ++ (używając wzorca nazwy), więc chcę tylko dopasować zmienną lokalną tutaj.
color-identifiers-mode
pakietu . (Publikując to jako komentarz, ponieważ powiedziałeś, że nie chceszOdpowiedzi:
Można zebrać regexp do zmiennej programu, coś, co mecze (pseudo kod regexp)
[char|other|types] [a-z];
i[a-z] =*;
dodać go do listy słów kluczowych font-lock dla trybu; Z instrukcji na stronie Dostosowywanie słów kluczowych :źródło