Как подружить ahdl и ctags
Вот пришлось просматривать старенький проект на AHDL. Как выяснилось, ctags AHDL не поддерживает, а без него очень тяжко.
Но если гора не идет к Магомету, то Магомет идет к горе. Оказывается, можно самому «прикрутить» поддержку любого языка.
Для примитивной поддержки языка ahdl нужно добавить следующие строчки в файл ~/.ctags:
--langdef=ahdl
--langmap=ahdl:.tdf
--regex-ahdl=/^[ \t]*SUBDESIGN[ \t]*([a-zA-Z_0-9]+)/\1/m,SUBDESIGN/
--ahdl-kinds=+m
Радуемся жизни :)
век живи — век учись. я не знал :(
Лёша, супер!
я так понимаю, что в этом случае ctags будет находить все entity, описанные при помощи SUBDESIGN.
для полной поддержки нужно ещё CONSTANT, DEFINE. может ещё чего-нибудь…
но теперь это просто дело техники.
спасибо!
—langdef=ahdl
—langmap=ahdl:.tdf.inc
—regex-ahdl=/^[ \t]*SUBDESIGN[ \t]*([a-zA-Z_0-9]+)/\1/m,SUBDESIGN/
—regex-ahdl=/^[ \t]*CONSTANT[ \t]*([a-zA-Z_0-9]+)/\1/m,CONSTANT/
—regex-ahdl=/^[ \t]*DEFINE[ \t]*([a-zA-Z_0-9]+)/\1/m,DEFINE/
—ahdl-kinds=+m
как-то так=)