Exuberant Ctags#
Program ctags#
-R#
Argument -R
odpowiada za włączenie rekursywnego analizowania zawartości przekazanych folderów w bieżącym wywołaniu programu ctags. Jest to skrócona wersja dla argumentu --recurse
. W pewnych sytuacjach argument -R
zostanie potraktowany jak odroczony argument.
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags -R [--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. - 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 -R
:
- Przy generowaniu tagów program ctags pobiera listę plików/folderów z różnych źródeł (np. z argumentu
path
lub-L
). Jeśli w żadnym z nich nie wskazano chociaż jednej ścieżki do pliku/folderu i nie użyto argumentu-L -
lub--filter
, to argument-R
stanie się odroczonym argumentem, gdzie po przetworzeniu wszystkich pozostałych argumentów rekursywnie przeanalizowany zostanie bieżący folder roboczy. Dzięki temu przekazanie samego argumentu-R
działa bez przeszkód. - Argument
-R
powoduje, że ostatni człon w ścieżce względnej lub bezwzględnej (tj. to, co za ostatnim znakiem"\"
) jest traktowany jednocześnie jak folder lub plik. Bez tego argumentu ostatni człon w ścieżce jest traktowany jak plik, dlatego powinien jasno wskazywać na plik/pliki, które chcemy przetworzyć (nie może być pusty). - Im wcześniej ustawimy/przekażemy argument
-R
, tym więcej potencjalnych ścieżek wskazujących na foldery nam obejmie. Można też przed każdym argumentempath
ustawić inny stan rekursywnego analizowania folderów. - Domyślnie rekursywne analizowanie folderów uwzględnia także linki symboliczne, ale można to zmienić argumentem
--links
. - Za pomocą argumentu
--exclude
można wykluczyć niektóre pliki/foldery przy rekursywnym analizowania folderów.
Prosty przykład:
ctags -R
ctags --recurse=yes
ctags --recurse=on
ctags --recurse=1
ctags --recurse=""
ctags --recurse=
ctags --recurse
ctags --recurse=no *
ctags --recurse=off *
ctags --recurse=0 *
ctags *
ctags -R :: wszystkie pliki z bieżącego folderu roboczego i jego podfolderów tagfile ma postać ".\plik.js"
ctags -R .\* :: wszystkie pliki z bieżącego folderu roboczego i jego podfolderów tagfile ma postać ".\plik.js"
ctags -R * :: wszystkie pliki z bieżącego folderu roboczego i jego podfolderów tagfile ma postać "plik.js"
ctags -R D:\test\* :: wszystkie pliki z folderu `test` i jego podfolderów tagfile ma postać "D:\test\plik.js"
ctags -R "D:\nowy test\*" :: konieczne otoczenie znakami "" ze względu na spację w folderze `nowy test`
ctags -R test :: wszystkie pliki z folderu `test` i jego podfolderów oraz plik `test`
ctags -R test\* :: wszystkie pliki z folderu `test` i jego podfolderów
ctags test1* -R test2* :: dowolne pliki o nazwie `test1` i `test2` oraz wszystkie pliki z folderu `test2` i jego podfolderów
ctags -R --sort=no --format=1 :: `-R` jest argumentem odroczonym, dlatego zadziała `--sort` i `--format`
ctags --sort=no -R --format=1 :: `-R` jest argumentem odroczonym, dlatego zadziała `--sort` i `--format`
ctags --sort=no --format=1 -R :: `-R` jest argumentem odroczonym, dlatego zadziała `--sort` i `--format`
:: Błędne przypadki
ctags -r
ctags * -R
ctags test -R
Pasek społecznościowy