Exuberant Ctags#
Program ctags#
--langdef#
Argument --langdef
dla bieżącego wywołania programu ctags definiuje identyfikator nowego język, którego dalsza obsługa będzie realizowana za pomocą własnych wyrażeń regularnych (szczegóły).
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --langdef=value [--argument | -argument] [path]
gdzie poszczególne człony oznaczają:
- ctags - ścieżka względna lub bezwzględna do pliku binarnego programu ctags (
ctags.exe
). Wszystko zależy od sposobu uruchamiania programu ctags, np. z systemowej konsoli, ze skrótu do programu czy z innego programu/skryptu. - value - łańcuch znakowy reprezentujący identyfikator nowego języka, którego dalsza obsługa będzie realizowana za pomocą własnych wyrażeń regularnych. Dopuszczalne są wszystkie wartości prócz pustego łańcucha znakowego. Wielkość znaków nie ma znaczenia.
- argument - jeden lub więcej dodatkowych argumentów dostrajających działanie programu ctags.
- path - jedna lub więcej dodatkowych ścieżek do plików/folderów, które będą analizowane przy generowaniu tagów (szczegóły).
Kilka uwag odnośnie stosowania argumentu --langdef
:
- Argument
--langdef
można podawać wielokrotnie (separatorem jest spacja), i każdy kolejny będzie miał wpływ tylko na te argumenty, które występują bezpośrednio po nim. - Jeśli wartością argumentu
--langdef
będzie identyfikator jednego z obsługiwanych języków (pochodzący z wbudowanych parserów lub własnych wyrażeń regularnych) to zwrócony zostanie komunikatWarning: Warning: Language "xxx" already defined
. - Po zdefiniowaniu identyfikatora nowego języka poprzez argument
--langdef
można go używać w pozostałych argumentach operujących na językach (wielkość znaków nie ma znaczenia):−-list-maps
,−−language−force
,−−languages
,−−langmap
,−−<lang>−kinds
i−−regex−<lang>
. - Nowe języki zdefiniowane za pomocą argumentu
--langdef
nie mają ustawionych żadnych mapowań plików oraz zawsze wyświetlane są na samym końcu listy ze wszystkimi obsługiwanymi językami dla bieżącego wywołania programu ctags, którą można pobrać za pomocą argumentu−-list-languages
lub−-list-maps
.
Prosty przykład:
ctags --langdef=" " --list-languages
ctags --langdef=new --list-languages
ctags --langdef=! --list-languages
ctags --langdef=!@#$ --list-languages
ctags --langdef=_NEW --list-languages
ctags --langdef=" " --list-languages
ctags --langdef=" x" --list-languages
ctags --langdef=" x " --list-languages
ctags --langdef=" x x" --list-languages
ctags --langdef=x --langdef=y --langdef=z --list-languages
ctags --langdef=z --langdef=x --langdef=y --list-languages
:: Błędne przypadki
ctags --langdef
ctags --langdef=
ctags --langdef=""
ctags --langdef=c
ctags --langdef=html
ctags --langdef=new --langdef=new
Pasek społecznościowy