Exuberant Ctags#
Program ctags#
--language−force#
Argument --language−force
dla bieżącego wywołania programu ctags wskazuje na jeden konkretny włączony język spośród wszystkich obsługiwanych języków (pochodzących z wbudowanych parserów lub własnych wyrażeń regularnych), który zostanie użyty do wygenerowania tagów dla wszystkich analizowanych plików.
Opis działania#
Prawidłowe użycie argumentu najlepiej objaśnić na zapisie składniowym:
ctags --language−force=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 tekstowych wpływająca na sposób doboru konkretnego języka spośród wszystkich włączonych i obsługiwanych języków (wielkość znaków nie ma znaczenia):
"language"
- identyfikator konkretnego włączonego języka obsługiwanego w bieżącym wywołaniu programu ctags, który zostanie użyty do wygenerowania tagów dla wszystkich analizowanych plików, niezależnie od innych czynników (np. rozszerzeń plików skojarzonych z poszczególnymi językami)."auto"
- specjalna wartość odpowiedzialna za automatyczny dobór właściwego języka spośród wszystkich włączonych i obsługiwanych języków w bieżącym wywołaniu programu ctags, który zostanie użyty do wygenerowania tagów dla pasujących do niego analizowanych plików. Jest to domyślne zachowanie i jest ono równoznaczne z brakiem przekazania argumentu--language−force
(szczegóły).
- 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).
Argument --language−force
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. Jeśli wartością będzie identyfikator nieobsługiwanego języka to zwrócony zostanie komunikat ctags: Unknown language "xxx" in "language-force" option
.
Warto nadmienić, że wszystkie obsługiwane języki, które zostały wyłączone na skutek użycia argumentu --languages
nie zadziałają także w argumencie --language−force
. Stan wyłączenia dla wszystkich obsługiwanych języków można zweryfikować za pomocą argumentu --list-languages
, który za identyfikatorem pomijanego języka wyświetli dopisek "[disabled]"
.
Prosty przykład:
ctags --language−force=auto * :: automatyczne wykrycie języka dla wszystkich plików
ctags --language−force=AUTO * :: automatyczne wykrycie języka dla wszystkich plików
ctags --language−force=aUtO * :: automatyczne wykrycie języka dla wszystkich plików
ctags * :: automatyczne wykrycie języka dla wszystkich plików
ctags --language−force=c * :: wymuszenie języka C dla wszystkich plików
ctags --language−force=c -R :: wymuszenie języka C dla wszystkich plików
ctags -R --language−force=c :: wymuszenie języka C dla wszystkich plików
ctags test.js --language−force=c test.html :: automatyczne wykrycie języka dla pliku 'test.js' oraz wymuszenie języka C dla pliku 'test.html'
ctags --language−force=c --language−force=java test.js test.html :: wymuszenie języka Java dla obu plików 'test.js' i 'test.html'
ctags --language−force=c test.js --language−force=java test.html :: wymuszenie języka C dla pliku 'test.js' oraz języka Java dla pliku 'test.html'
ctags --languages * --list-languages :: wyłącza wszystkie języki i nie przetworzy żadnego pliku
ctags --languages --language−force=c * --list-languages :: wyłącza wszystkie języki i nie przetworzy żadnego pliku
ctags --languages=c --language−force=c * --list-languages :: wyłącza wszystkie języki prócz C i używa go do wszystkich plików
ctags --language−force=c * --list-languages :: wymuszenie języka C dla wszystkich plików (reszta języków pozostaje włączona)
:: Błędne przypadki
ctags -language−force
ctags --language−force
ctags --language−force=
ctags --language−force=""
ctags --language−force=cos