Exuberant Ctags#
Program ctags#
--if0#
Argument --if0
dla bieżącego wywołania programu ctags odpowiada za włączenie lub wyłączenie (domyślnie) generowania tagów dla kodu umieszczonego wewnątrz dyrektywy #if0
(info1, info2).
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --if0[=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 generowania tagów dla kodu umieszczonego wewnątrz dyrektywy
#if0
(wielkość znaków nie ma znaczenia):"yes"
,"on"
,"1"
lub""
- włącza generowanie tagów dla kodu umieszczonego wewnątrz dyrektywy#if0
."no"
,"off"
lub"0"
- generowanie tagów dla kodu umieszczonego wewnątrz dyrektywy#if0
pozostaje wyłączone. Jest to domyślne zachowanie i jest ono równoznaczne z brakiem przekazania argumentu--if0
.
- 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 --if0
:
- Argument
--if0
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. - Program ctags rozpoznaje tylko dwa sposoby zapisu dyrektywy
#if0
w pliku źródłowym, tj."#if0"
lub"#if 0"
(ilość i rodzaj białych znaków między członem"#if"
a"0"
jest dowolna). - Domyślnie program ctags zawsze analizuje zawartość dyrektywy
#if0
pod kątem makr. Ewentualne użycie argumentu--if0
rozszerza analizę zawartości dyrektywy#if0
pod kątem pozostałych składowych języka. Warto zaznaczyć, że pomijanie zawartości wewnątrz dyrektywy#if0
(domyślne lub wymuszone) nie zawszę będzie miało miejsce, ponieważ algorytm rezerwowy używany do generowania tagów podąża za wszystkimi gałęziami dyrektywy#if0
w sytuacji, gdy jest ona zbyt złożona. - Argument
--if0
działa tylko i wyłącznie z językami obsługiwanymi przez wbudowany parserc.c
. Jeśli plik zawierający dyrektywę#if0
nie jest skojarzony z żadnym lub prawidłowym językiem to można skorzystać z argumentów--langmap
lub--language−force
.
Prosty przykład:
ctags --if0=yes * :: przetwarzanie dyrektywy #if0 włączone
ctags --if0=on *
ctags --if0=1 *
ctags --if0="" *
ctags --if0= *
ctags --if0 *
ctags --if0=no * :: przetwarzanie dyrektywy #if0 wyłączone
ctags ---if0=off *
ctags --if0=0 *
ctags *
ctags --if0=yes --if0=no * :: przetwarzanie dyrektywy #if0 wyłączone
ctags --if0=no --if0=yes * :: przetwarzanie dyrektywy #if0 włączone
ctags --if0=yes test.c --if0=no test.java :: przetwarzanie dyrektywy #if0 włączone dla pliku 'test.c' i wyłączone dla pliku 'test.java'
:: Błędne przypadki
ctags --if0
ctags ---if0=cos
ctags --if0=" "
Pasek społecznościowy