Exuberant Ctags#
Program ctags#
--file−scope#
Argument --file−scope
odpowiada za dodawanie (domyślnie) lub pomijanie tagów statycznych w tagach pochodzących z bieżącego wywołania programu ctags.
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --file−scope[=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 - jedna z dwóch wartości logicznych wpływająca na dodawanie lub pomijanie tagów statycznych w wygenerowanych tagach (wielkość znaków nie ma znaczenia):
"yes"
,"on"
,"1"
lub""
- dodaje tagi statyczne do wygenerowanych tagów. Jest to domyślne zachowanie i jest ono równoznaczne z brakiem przekazania argumentu--file−scope
."no"
,"off"
lub"0"
- tagi statyczne w wygenerowanych tagach są pomijane.
- 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 --file−scope
:
- Argument
--file−scope
można podawać wielokrotnie (separatorem jest spacja), i każdy kolejny będzie miał wpływ tylko na te pliki, które występują bezpośrednio po nim. - Ustalanie tagów statycznych i ewentualne ich pomijanie poprzez argument
--file−scope
jest możliwe tylko za pośrednictwem wbudowanych parserów, w których przewidziano taką możliwość (np. działa z językami obsługiwanymi przez parserc.c
). - Tag statyczny (lokalny) # to taki wariant taga, którego definicja znajduje się w tym samym pliku, co jego użycie. Żaden inny plik nie może ponownie odwoływać się do takiego taga. W linii z tagiem jest on reprezentowany przez dodatkowe rozszerzające pole
file
. Niektóre języki mają specjalne słowa kluczowe (np.static
) do jawnego wskazywania statycznych poleceń w kodzie. - Tag niestatyczn (zewnętrzny) # zwykle umieszcza się w plikach includes/headers, których rozszerzenia można kontrolować argumentem
-h
. Każdy inny plik może ponownie odwoływać się do takiego taga. Niektóre języki mają specjalne słowa kluczowe (np.extern
) do jawnego wskazywania niestatycznych poleceń w kodzie.
Prosty przykład:
ctags --file−scope=yes * :: tagi statyczne są dodawane
ctags --file−scope=on *
ctags --file−scope=1 *
ctags ---file−scope="" *
ctags --file−scope= *
ctags --file−scope *
ctags *
ctags --file−scope=no * :: tagi statyczne są pomijane
ctags --file−scope=off *
ctags --file−scope=0 *
ctags --file−scope=yes --file−scope=no * :: tagi statyczne są pomijane
ctags --file−scope=no ---file−scope=yes * :: tagi statyczne są dodawane
ctags --file−scope=yes test.c --file−scope=no test.java :: tagi statyczne są dodawane dla pliku 'test.c' i pomijane dla pliku 'test.java'
:: Błędne przypadki
ctags --file−scope
ctags --file−scope=cos
ctags --file−scope=" "
Pasek społecznościowy