GoGPT Best VPN GoSearch

Icône de favori OnWorks

ctags-exuberant - En ligne dans le Cloud

Exécutez ctags-exuberant dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande ctags-exuberant qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos nombreux postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


ctags - Générer des fichiers de balises pour le code source

SYNOPSIS


balises c [Options] [des dossiers)]

étiquettes [Options] [des dossiers)]

DESCRIPTION


L'exposition balises c et étiquettes programmes (ci-après collectivement dénommés balises c, sauf lorsque
(distingué) génère un fichier d'index (ou « balise ») pour une variété d'objets de langage trouvés
in des dossiers)Ce fichier de balises permet de localiser rapidement et facilement ces éléments par un texte
éditeur ou autre utilitaire. Une « balise » désigne un objet de langage pour lequel une entrée d'index est
disponible (ou, alternativement, l'entrée d'index créée pour cet objet).

Alternativement, balises c peut générer un fichier de références croisées qui répertorie, dans un format lisible par l'homme
formulaire, informations sur les différents objets sources trouvés dans un ensemble de fichiers de langue.

Les fichiers d'index de balises sont pris en charge par de nombreux éditeurs, ce qui permet à l'utilisateur de localiser les
objet associé à un nom apparaissant dans un fichier source et accéder au fichier et à la ligne
Ce qui définit le nom. Les éléments connus au moment de cette publication sont :

Vi(1) et ses dérivés (par exemple Elvis, Vim, Vile, Lemmy), Croustillant, Emacs, RTD (Pliant
Éditeur de texte), JED, jEdit, Miné, NModifier (Modification Nirvana), TSE (L'éditeur SemWare),
UltraEdit, Espace de travail, X2, Zeus

Étiquettes C est capable de générer différents types de balises pour chacun des nombreux
langues. Pour une liste complète des langues prises en charge, leurs noms
reconnus, et les types de balises qui sont générées pour chacun, voir le --list-langues
et --liste-types options.

SOURCE DES DOSSIERS


Sauf si --force-langage l'option est spécifiée, la langue de chaque fichier source est
automatiquement sélectionné en fonction d'un mappage des noms de fichiers aux langues. Les mappages dans
l'effet pour chaque langue peut être affiché en utilisant le --liste-cartes option et peut être modifié
en utilisant la fonction --langmap option. Sur les plateformes qui le prennent en charge, si le nom d'un fichier n'est pas
mappé à une langue et le fichier est exécutable, la première ligne du fichier est vérifiée pour
voir si le fichier est un script "#!" pour une langue reconnue.

Par défaut, tous les autres noms de fichiers sont ignorés. Cela permet d'exécuter balises c sur tous les fichiers de
soit un seul répertoire (par exemple « ctags * »), soit sur tous les fichiers d'un répertoire source entier
arbre (par exemple « ctags -R »), car seuls les fichiers dont les noms sont mappés aux langues seront
numérisé.

[La raison pour laquelle les extensions .h sont mappées sur des fichiers C++ plutôt que sur des fichiers C est qu'elles
Il est courant d'utiliser les extensions .h en C++, et il n'y a aucun risque à les traiter comme des fichiers C++.]

OPTIONS


Malgré la richesse des options disponibles, les valeurs par défaut sont définies de telle sorte que balises c est le plus souvent
exécuté sans aucune option (par exemple « ctags * » ou « ctags -R »), ce qui créera un fichier de balises
dans le répertoire courant pour tous les fichiers sources reconnus. Les options décrites ci-dessous sont
fourni uniquement pour permettre une adaptation personnalisée afin de répondre à des besoins particuliers.

Notez que les espaces séparant les options à une seule lettre de leurs paramètres sont facultatifs.

Notez également que les paramètres booléens des options de forme longue (celles commençant par « -- »
et cela prend un "[=oui|non]"paramètre) peut être omis, auquel cas "=oui" est implicite.
(par exemple --sorte équivaut à --sorte=oui). Notez en outre que « =1" et "=on" sont considérés
synonymes de "=oui", et que "=0" et "=de rabais" sont considérés comme des synonymes de "=aucune".

Certaines options sont soit ignorées, soit utiles uniquement lorsqu'elles sont utilisées en mode etags (voir
-e option). Ces options seront notées.

La plupart des options peuvent apparaître n'importe où sur la ligne de commande, affectant uniquement les fichiers qui
Suivez l'option. Quelques options doivent cependant apparaître avant le premier nom de fichier et
être noté comme tel.

Les options acceptant les noms de langues accepteront ces noms en majuscules ou en minuscules. Voir
le --list-langues option pour une liste complète des noms de langues intégrés.

-a Équivalent à --append.

-B Utiliser des modèles de recherche arrière (par exemple « modèle »). [Ignoré en mode etags]

-e Activez le mode etags, qui créera un fichier de balises à utiliser avec l'éditeur Emacs.
Sinon, si balises c est invoqué par un nom contenant la chaîne « etags » (soit par
renommer ou créer un lien vers l'exécutable), le mode etags sera activé. Ceci
l'option doit apparaître avant le premier nom de fichier.

-f fichier de balises
Utilisez le nom spécifié par fichier de balises pour le fichier de balises (la valeur par défaut est « tags » ou « TAGS » lorsque
exécuté en mode etags). Si fichier de balises est spécifié comme « - », alors le fichier de balises est écrit
vers la sortie standard à la place. Étiquettes C refusera obstinément de prendre des ordres si fichier de balises
existe et que sa première ligne contient autre chose qu'une ligne de balises valide. Cela
sauvez votre peau si vous tapez par erreur « ctags -f *.c », ce qui écraserait autrement
votre premier fichier C avec les balises générées par les autres ! Il refusera également
un nom de fichier à plusieurs caractères qui commence par un caractère « - » (tiret), car c'est le plus
signifie probablement que vous avez omis le nom du fichier de balise et que cette option a essayé de récupérer le
L'option suivante est le nom du fichier. Si vous souhaitez vraiment nommer votre fichier de balises de sortie,
« -ugly », spécifiez-le comme « ./-ugly ». Cette option doit apparaître avant le premier nom de fichier.
Si cette option est spécifiée plus d'une fois, seule la dernière s'appliquera.

-F Utiliser des modèles de recherche directe (par exemple /pattern/) (par défaut). [Ignoré en mode etags]

-h liste
Spécifie une liste d'extensions de fichiers, séparées par des points, qui doivent être
interprétés comme des fichiers d'inclusion (ou d'en-tête). Pour indiquer des fichiers sans extension, utilisez
un point non suivi d'un caractère autre qu'un point (par exemple, « . », « ..x », « .x. »). Cette option
n'affecte que la manière dont la portée d'un type particulier de balises est interprétée (c'est-à-dire
qu'ils soient considérés comme globalement visibles ou visibles uniquement à l'intérieur
fichier dans lequel ils sont définis) ; il ne mappe pas l'extension à un fichier particulier
langue. Toute balise située dans un fichier non inclus et invisible (par exemple
lié à) à partir d'un autre fichier est considéré comme ayant une portée limitée au fichier (par exemple statique).
Aucun type de balise apparaissant dans un fichier d'inclusion ne sera considéré comme ayant une limitation de fichier.
portée. Si le premier caractère de la liste est un signe plus, alors les extensions dans la
la liste sera ajoutée à la liste actuelle ; sinon, la liste remplacera la
liste actuelle. Voir aussi la --file-scope option. La liste par défaut est
« .hHhh.hpp.hxx.h++.inc.def ». Pour restaurer la liste par défaut, spécifiez -h défaut. Noter
que si une extension fournie à cette option n'est pas déjà mappée à une extension particulière
langue (voir SOURCE DES DOSSIERS, ci-dessus), vous devrez également utiliser soit le --langmap or
--force-langage option.

-I liste d'identifiants
Spécifie une liste d'identifiants qui doivent être spécialement traités lors de l'analyse C et
Fichiers sources C++. Cette option est spécifiquement prévue pour gérer les cas particuliers.
résultant de l'utilisation de macros de préprocesseur. Lorsque les identifiants listés sont
identifiants simples, ces identifiants seront ignorés lors de l'analyse de la source
fichiers. Si un identifiant est suffixé par un caractère « + », balises c ignorera également tout
liste d'arguments entre parenthèses qui peut suivre immédiatement l'identifiant dans le
fichiers sources. Si deux identifiants sont séparés par le caractère « = », le premier
Les identifiants sont remplacés par les deuxièmes identifiants à des fins d'analyse. La liste des
les identifiants peuvent être fournis directement sur la ligne de commande ou lus à partir d'un fichier séparé
fichier. Si le premier caractère de liste d'identifiants est '@', '.' ou un séparateur de chemin
('/' ou '\'), ou les deux premiers caractères spécifient une lettre de lecteur (par exemple « C : »), le
paramètre liste d'identifiants sera interprété comme un nom de fichier à partir duquel lire une liste
d'identifiants, un par ligne d'entrée. Sinon, liste d'identifiants est une liste de
identifiants (ou paires d'identifiants) à traiter spécialement, chacun délimité par un
une virgule ou par un espace (auquel cas la liste doit être citée pour conserver l'intégralité
liste comme un seul argument de ligne de commande). Plusieurs -I Des options peuvent être fournies. Pour effacer
la liste des identifiants ignorés, fournissez un seul tiret ("-") pour liste d'identifiants.

Cette fonctionnalité est utile lorsque les macros du préprocesseur sont utilisées de telle manière qu'elles
entraîner une confusion syntaxique en raison de leur présence. En effet, c'est la meilleure façon de
contourner un certain nombre de problèmes causés par la présence de macros qui brisent la syntaxe
dans les fichiers sources (voir MISES EN GARDE, ci-dessous). Quelques exemples illustreront ce point.

int foo ARGDECL4(void *, ptr, long int, nbytes)

Dans l'exemple ci-dessus, la macro « ARGDECL4 » serait interprétée à tort comme étant la
nom de la fonction au lieu du nom correct « foo ». Spécifier -I ARGDECL4
aboutit au comportement correct.

/* crée une chaîne de version RCS dans le module */
MODULE_VERSION("$Révision : 750 $")

Dans l'exemple ci-dessus, l'invocation de macro ressemble trop à une définition de fonction
car il n'est pas suivi d'un point-virgule (en effet, il pourrait même être suivi d'un
définition de variable globale qui ressemblerait beaucoup à un paramètre de fonction de style K&R
déclaration). En fait, cette apparente définition de fonction pourrait même éventuellement provoquer la
le reste du fichier doit être ignoré en essayant de compléter la définition.
Spécification -I MODULE_VERSION+ permettrait d’éviter un tel problème.

Exemple de CLASSE {
// votre contenu ici
};

L'exemple ci-dessus utilise « CLASS » comme macro de préprocesseur qui se développe en quelque chose
différent pour chaque plateforme. Par exemple, une CLASSE peut être définie comme « classe
__declspec(dllexport)" sur les plateformes Win32 et simplement "class" sur UNIX. Normalement,
l'absence du mot-clé C++ « class » entraînerait une erreur dans le fichier source
analysé. Un comportement correct peut être restauré en spécifiant -I CLASSE=classe.

-L filet
Lire de filet une liste de noms de fichiers pour lesquels des balises doivent être générées. Si filet is
spécifié par « - », les noms de fichiers sont lus depuis l'entrée standard. Les noms de fichiers sont lus avec
ces options sont traitées en fonction des noms de fichiers apparaissant sur la ligne de commande.
sont également acceptées dans cette entrée. Si cette option est spécifiée plusieurs fois, seules les
dernier s'appliquera. Remarque: filet est lu en mode orienté ligne, où une nouvelle ligne est la
seuls les délimiteurs et les espaces blancs non finaux sont considérés comme significatifs, afin que
les noms de fichiers contenant des espaces peuvent être fournis (toutefois, les espaces blancs de fin sont
supprimé des lignes) ; cela peut affecter la façon dont les options sont analysées si elles sont incluses dans le
contribution.

-n Équivalent à --excmd=nombre.

-N Équivalent à --excmd=modèle.

-o fichier de balises
Équivalent à -f fichier de balises.

-R Équivalent à --récurseur.

-u Équivalent à --sorte=aucune (c'est-à-dire « non trié »).

-V Équivalent à --verbeux.

-w Cette option est ignorée en silence pour des raisons de compatibilité descendante avec les ctags de SVR4
Unix.

-x Imprimer un fichier de références croisées (xref) tabulaire et lisible par l'homme sur la sortie standard
Au lieu de générer un fichier de balises, les informations contenues dans le résultat incluent :
le nom de la balise ; le type de balise ; le numéro de ligne, le nom du fichier et la ligne source (avec
espaces blancs supplémentaires condensés) du fichier qui définit la balise. Aucun fichier de balise n'est
écrit et toutes les options affectant la sortie du fichier de balises seront ignorées. Exemple
les applications pour cette fonctionnalité génèrent une liste de toutes les fonctions situées dans un
fichier source (par exemple balises c -x --c-kinds=f filet), ou générer une liste de tous les éléments externes
variables globales visibles situées dans un fichier source (par exemple balises c -x --c-kinds=v
--file-scope=aucune filet). Cette option doit apparaître avant le premier nom de fichier.

--append[=oui|aucune]
Indique si les balises générées à partir des fichiers spécifiés doivent être ajoutées à ceux-ci
déjà présents dans le fichier de balises ou devraient les remplacer. Cette option est désactivée par
par défaut. Cette option doit apparaître avant le premier nom de fichier.

--etags-include=filet
Inclure une référence à filet dans le fichier de balises. Cette option peut être spécifiée autant de fois que nécessaire.
autant de fois que souhaité. Ceci prend en charge la capacité d'Emacs à utiliser un fichier de balises qui « inclut »
Autres fichiers de balises. [Disponible uniquement en mode etags]

--exclure=[modèle]
Ajoutez des effets de modèle à une liste de fichiers et répertoires exclus. Cette option peut être spécifiée
autant de fois que souhaité. Pour chaque nom de fichier considéré par balises c, Chaque modèle
spécifié à l'aide de cette option sera comparé au chemin complet (par exemple
some/path/base.ext) et le nom de base (par exemple base.ext) du fichier, permettant ainsi
modèles qui correspondent à un nom de fichier donné quel que soit son chemin, ou qui correspondent uniquement à un
chemin spécifique. Si la bibliothèque d'exécution de votre C offre un support approprié,
compilateur, alors modèle peut contenir les caractères génériques habituels du shell (pas les caractères génériques habituels)
expressions) courantes sous Unix (assurez-vous de mettre entre guillemets le paramètre d'option pour protéger le
les caractères génériques ne soient pas développés par le shell avant d'être transmis à balises c; être aussi
Sachez que les caractères génériques peuvent correspondre au caractère barre oblique « / ». Vous pouvez déterminer si le shell
des caractères génériques sont disponibles sur votre plateforme en examinant la sortie du --version
option, qui inclura « + caractères génériques » dans la liste des fonctionnalités compilées ; sinon,
modèle est comparé aux noms de fichiers à l'aide d'une simple comparaison textuelle.

If modèle commence par le caractère '@', puis le reste de la chaîne est interprété
comme nom de fichier à partir duquel lire les modèles d'exclusion, un par ligne. Si modèle is
vide, la liste des motifs exclus est effacée. Notez qu'au démarrage du programme,
La liste d'exclusion par défaut contient « EIFGEN », « SCCS », « RCS » et « CVS », qui sont des noms de
répertoires pour lesquels il n'est généralement pas souhaitable de descendre lors du traitement du
--récurseur option.

--excmd=type
Détermine le type de commande EX utilisé pour localiser les balises dans le fichier source. [Ignoré
en mode etags]

Les valeurs valides pour type (soit le mot entier, soit la première lettre est acceptée)
sont:

nombre Utilisez uniquement les numéros de ligne du fichier de balises pour localiser les balises. Ce fichier comporte quatre
avantages:
1. Réduit considérablement la taille du fichier de balises résultant.
2. Élimine les échecs de recherche de balises car la ligne définissant la balise a
modifié, provoquant l'échec de la correspondance du modèle (notez que certains éditeurs, tels que
as entrain, sont capables de récupérer dans de nombreux cas de ce type).
3. Élimine la recherche de lignes sources identiques mais incorrectes (voir
BOGUES, au dessous de).
4. Conserve des entrées séparées dans le fichier de balises pour les lignes identiques
dans le contenu. Dans modèle mode, les entrées en double sont supprimées car le
les modèles de recherche qu'ils génèrent sont identiques, ce qui rend le doublon
entrées inutiles.

Cependant, cette option présente un inconvénient majeur : les modifications apportées à la source
les fichiers peuvent entraîner l'annulation des numéros de ligne enregistrés dans le fichier de balises
correspondent aux lignes du fichier source, provoquant des sauts vers certaines balises
rater la définition cible d'une ou plusieurs lignes. En résumé, cette option est
mieux utilisé lorsque le code source auquel il est appliqué n'est pas soumis à
changement. La sélection de ce type d'option entraîne l'affichage des options suivantes
ignoré : -BF.

modèle Utilisez uniquement des modèles de recherche pour toutes les balises, plutôt que les numéros de ligne habituels
utilisé pour les définitions de macros. Cela présente l'avantage de ne pas faire référence
numéros de ligne obsolètes lorsque des lignes ont été ajoutées ou supprimées depuis la balise
le fichier a été généré.

mixte Dans ce mode, les motifs sont généralement utilisés, à quelques exceptions près. Pour C, ligne
Les nombres sont utilisés pour les balises de définition des macros. Il s'agissait du format par défaut.
généré par l'original balises c et est donc conservé comme valeur par défaut
Pour cette option. En Fortran, les numéros de ligne sont utilisés pour les blocs communs.
car leurs lignes sources correspondantes sont généralement identiques, ce qui rend
les recherches de modèles sont inutiles pour trouver toutes les correspondances.

--supplémentaire=[+|-]drapeaux
Spécifie s'il faut inclure des entrées de balises supplémentaires pour certains types d'informations.
paramètre drapeaux est un ensemble de drapeaux d'une lettre, chacun représentant un type de balise supplémentaire
entrée à inclure dans le fichier de balises. Si drapeaux est précédé soit du « + » soit du « - »
caractère, l'effet de chaque drapeau est ajouté ou supprimé de ceux actuellement
Activé ; sinon, les indicateurs remplacent les paramètres actuels. Signification de chaque indicateur.
est comme suit:

f Inclure une entrée pour le nom de fichier de base de chaque fichier source (par exemple
"example.c"), qui s'adresse à la première ligne du fichier.

q Inclure une entrée de balise supplémentaire qualifiée par classe pour chaque balise qui est membre d'une
classe (pour les langages pour lesquels ces informations sont extraites ; actuellement C++,
Eiffel et Java). La forme réelle de la balise qualifiée dépend de
langue à partir de laquelle la balise a été dérivée (en utilisant une forme qui est la plus naturelle pour
comment les appels qualifiés sont spécifiés dans le langage). Pour C++, il s'agit de la forme
« class::member » ; pour Eiffel et Java, il s'agit de la forme « class.member ». Ceci
peut permettre une localisation plus facile d'une balise spécifique lorsque plusieurs occurrences d'une balise
Le nom de la balise apparaît dans le fichier de balises. Notez cependant que cela pourrait potentiellement
plus du double de la taille du fichier de balises.

--des champs=[+|-]drapeaux
Spécifie les champs d'extension disponibles qui doivent être inclus dans les entrées de
le fichier de balises (voir TAG DOSSIER Format, ci-dessous, pour plus d'informations). Le paramètre drapeaux
est un ensemble d'indicateurs d'une lettre, chacun représentant un type de champ d'extension à
inclure, avec les significations suivantes (désactivé par défaut sauf indication contraire) :

a Accès (ou exportation) des membres de la classe
f Portée restreinte aux fichiers [activée]
i Informations sur l'héritage
k Type de balise sous forme d'une seule lettre [activé]
K Type de balise comme nom complet
l Langue du fichier source contenant la balise
m Informations de mise en œuvre
n Numéro de ligne de la définition de la balise
s Portée de la définition de la balise [activée]
S Signature de la routine (par exemple prototype ou liste de paramètres)
z Inclure la clé « kind : » dans le champ kind
t Type et nom d'une variable ou d'un typedef comme champ « typeref : » [activé]

Chaque lettre ou groupe de lettres peut être précédé de « + » pour l'ajouter au
par défaut, ou « - » pour l'exclure. En l'absence de signe « + » ou « - »,
uniquement les types explicitement répertoriés dans drapeaux sera inclus dans la sortie (c'est-à-dire
(remplaçant le jeu par défaut). Cette option est ignorée si l'option --format=1 a été
spécifié. La valeur par défaut de cette option est fkst.

--file-scope[=oui|aucune]
Indique si les balises sont limitées à un seul fichier (c'est-à-dire les balises qui ne peuvent pas être vues)
en dehors du fichier dans lequel ils sont définis, comme les balises « statiques ») doivent être
inclus dans la sortie. Voir aussi -h option. Cette option est activée par défaut.

--filtre[=oui|aucune]
Causes balises c se comporter comme un filtre, en lisant les noms de fichiers sources à partir de l'entrée standard et
imprimer leurs étiquettes sur la sortie standard, fichier par fichier. Si --trié is
activé, les balises sont triées uniquement dans le fichier source dans lequel elles sont définies. Fichier
les noms sont lus à partir de l'entrée standard en mode d'entrée orienté ligne (voir la note pour -L
option) et uniquement après les noms de fichiers répertoriés sur la ligne de commande ou à partir de n'importe quel fichier
fourni à l'aide du -L option. Lorsque cette option est activée, les options -f, -oet
--totaux sont ignorés. Cette option est assez ésotérique et est désactivée par défaut.
l'option doit apparaître avant le premier nom de fichier.

--terminateur de filtre=string
Spécifie une chaîne à imprimer sur la sortie standard après les balises de chaque nom de fichier
analysé lorsque le --filtre est activée. Cela peut permettre à une application de lire
la sortie des ctags pour déterminer quand la sortie de chaque fichier est terminée. Notez que
si le nom du fichier lu est un répertoire et --récurseur est activé, cette chaîne sera
imprimé une seule fois à la fin de toutes les balises trouvées en descendant le répertoire. Ceci
la chaîne sera toujours séparée de la dernière ligne de balise du fichier par son
Fin de ligne. Cette option est assez ésotérique et est vide par défaut.
l'option doit apparaître avant le premier nom de fichier.

--format=niveau
Modifiez le format du fichier de balises de sortie. Actuellement, seules les valeurs valides pour niveau
sommes-nous 1 or 2Le niveau 1 spécifie le format de fichier de balise d'origine et le niveau 2 spécifie un
nouveau format étendu contenant des champs d'extension (mais d'une manière qui conserve
rétrocompatibilité avec l'original vi(1) implémentations). Le niveau par défaut est 2.
Cette option doit apparaître avant le premier nom de fichier. [Ignoré en mode etags]

--Aidez-moi
Imprime sur la sortie standard une description d'utilisation détaillée, puis quitte.

--si0[=oui|aucune]
Indique une préférence quant à savoir si le code dans une branche « #if 0 » d'un préprocesseur
la condition doit être examinée pour les balises non macro (les balises macro sont toujours incluses).
Étant donné que l'intention de cette construction est de désactiver le code, la valeur par défaut de cette
option est aucune. Notez que cela indique uniquement une préférence et ne garantit pas
sauter le code dans une branche « #if 0 », puisque l'algorithme de secours utilisé pour
générer des balises lorsque les conditions du préprocesseur sont trop complexes suit toutes les branches de
une condition. Cette option est désactivée par défaut.

-- -types=[+|-]types
Spécifie une liste de types de balises (ou types) spécifiques à la langue à inclure dans le
fichier de sortie pour une langue particulière, où est insensible à la casse et est l'un des
les noms de langues intégrés (voir le --list-langues option pour une liste complète).
Le paramètre types est un groupe de drapeaux d'une lettre désignant des types de balises
(propre à la langue) à inclure ou à exclure du résultat.
des ensembles spécifiques de drapeaux reconnus pour chaque langue, leurs significations et leurs valeurs par défaut peuvent
être listé en utilisant le --liste-types option. Chaque lettre ou groupe de lettres peut être
précédé soit par « + » pour l'ajouter, soit par « - » pour le supprimer de l'ensemble par défaut.
l'absence de tout signe « + » ou « - » précédent, seuls les types explicitement répertoriés dans
types sera inclus dans la sortie (c'est-à-dire en remplaçant la valeur par défaut pour le spécifié
Langue).

À titre d’exemple pour le langage C, afin d’ajouter des prototypes et des variables externes
déclarations à l'ensemble par défaut de types de balises, mais excluent les macros, utilisent
--c-kinds=+px-d; pour inclure uniquement les balises pour les fonctions, utilisez --c-kinds=f.

--langdef=nom
Définit une nouvelle langue définie par l'utilisateur, nom, à analyser avec des expressions régulières.
Une fois défini, nom peut être utilisé dans d'autres options prenant des noms de langues. Le
l'utilisation de cette option consiste à définir d'abord la langue, puis à y mapper les noms de fichiers à l'aide de
--langmap, puis spécifiez les expressions régulières à l'aide de --regex- pour définir comment son
les balises sont trouvées.

--langmap=carte[,carte[...]]
Contrôle la manière dont les noms de fichiers sont mappés aux langues (voir le --liste-cartes option). Chaque
séparées par des virgules plan se compose du nom de la langue (intégré ou défini par l'utilisateur)
langue), un deux-points et une liste d'extensions de fichiers et/ou de modèles de noms de fichiers. Un fichier
L'extension est spécifiée en la faisant précéder d'un point (par exemple, « .c »). Un fichier
le modèle de nom est spécifié en plaçant le modèle entre parenthèses (par exemple
([Mm]akefile)"). Si la bibliothèque d'exécution de
votre compilateur C, le modèle de nom de fichier peut contenir les caractères génériques habituels du shell
courant sous Unix (assurez-vous de citer le paramètre d'option pour protéger les caractères génériques de
étant développé par le shell avant d'être transmis à balises c). Vous pouvez déterminer si le shell
des caractères génériques sont disponibles sur votre plateforme en examinant la sortie du --version
option, qui inclura « + caractères génériques » dans la liste des fonctionnalités compilées ; sinon, le
les modèles de noms de fichiers sont comparés aux noms de fichiers à l'aide d'une simple comparaison textuelle.
Lors du mappage d'une extension de fichier, celle-ci sera d'abord dissociée de toutes les autres langues.

Si le premier caractère d'une carte est un signe plus, alors les extensions et le nom du fichier
les modèles de cette carte seront ajoutés à la carte actuelle pour cette langue ;
sinon, la carte remplacera la carte actuelle. Par exemple, pour spécifier que seule
les fichiers avec les extensions .c et .x doivent être traités comme des fichiers en langage C, utilisez
"--langmap=c:.cx"; pour ajouter également des fichiers avec des extensions de .j en tant que fichiers de langage Java,
précisez "--langmap=c:.cx,java:+.j". Pour mapper les makefiles (par exemple, les fichiers nommés
"Makefile", "makefile", ou ayant l'extension ".mak") vers un langage appelé "make",
précisez "--langmap=faire:([Mm]akefile).mak". Pour mapper des fichiers n'ayant pas d'extension,
spécifiez un point non suivi d'un caractère autre qu'un point (par exemple, « . », « ..x », « .x. »).
effacer le mappage pour une langue particulière (empêchant ainsi la génération automatique de
balises pour cette langue), spécifiez une liste d'extensions vide (par exemple
"--langmap=fortran:"). Pour restaurer les mappages de langues par défaut pour tous les éléments d'un
langue, indiquez le mot-clé « default » pour le mappage. Pour spécifier la restauration,
mappages de langues par défaut pour toutes les langues, spécifiez «--langmap=défaut". Noter que
Les extensions de fichiers sont testées avant les modèles de noms de fichiers lors de la déduction de la langue d'un fichier.
fichier.

--force-langage=langue
Par défaut, balises c sélectionne automatiquement la langue d'un fichier source, en ignorant celles
fichiers dont la langue ne peut être déterminée (voir SOURCE DES DOSSIERS, ci-dessus). Cette option
force le spécifié langue (insensible à la casse ; intégré ou défini par l'utilisateur) à
être utilisé pour chaque fichier fourni au lieu de sélectionner automatiquement la langue en fonction
lors de son extension. De plus, la valeur particulière auto indique que la langue
doit être automatiquement sélectionné (ce qui désactive effectivement cette option).

--langues=[+|-]list
Spécifie les langues pour lesquelles la génération de balises est activée, avec liste contenant un
liste de noms de langues séparés par des virgules (insensible à la casse ; intégrée ou utilisateur)
défini). Si la première langue de liste n'est précédé ni d'un « + » ni d'un « - », le
la liste actuelle sera effacée avant d'ajouter ou de supprimer les langues dans liste. Jusqu'à ce qu'un
Si l'option « - » est rencontrée, chaque langue de la liste sera ajoutée à la liste actuelle.
soit le '+' ou le '-' est rencontré dans la liste, les langues qui le suivent sont
ajoutés ou supprimés de la liste actuelle, respectivement. Ainsi, il devient simple
remplacer la liste actuelle par une nouvelle, ou ajouter ou supprimer des langues de la
liste actuelle. La liste réelle des fichiers pour lesquels des balises seront générées dépend de
le mappage d'extension de langue en vigueur (voir le --langmap option). Notez que tous
les langues, y compris les langues définies par l'utilisateur, sont activées sauf si elles sont explicitement désactivées
en utilisant cette option. Les noms de langues inclus dans liste peut être n'importe quelle langue intégrée ou
un précédemment défini avec --langdefLa valeur par défaut est « all », ce qui est également accepté
comme un argument valable. Voir le --list-langues option pour une liste complète des
noms de langues intégrés.

--Licence
Imprime un résumé de la licence du logiciel sur la sortie standard, puis quitte.

--ligne-directives[=oui|aucune]
Spécifie si les directives « #line » doivent être reconnues. Elles sont présentes dans le
sortie des préprocesseurs et contiennent le numéro de ligne, et éventuellement le nom du fichier, de
le(s) fichier(s) source(s) d'origine à partir desquels le fichier de sortie du préprocesseur a été généré.
Lorsqu'elle est activée, cette option provoquera balises c pour générer des entrées de balises marquées avec le
noms de fichiers et numéros de ligne de leurs emplacements fichier(s) source(s) d'origine, au lieu de
leurs emplacements réels dans la sortie du préprocesseur. Les noms de fichiers réels placés dans
le fichier de balises aura les mêmes composants de chemin d'accès principaux que la sortie du préprocesseur
fichier, car il est supposé que les fichiers sources d'origine sont situés par rapport au
fichier de sortie du préprocesseur (à moins, bien sûr, que la directive #line spécifie un
chemin absolu). Cette option est désactivée par défaut. Remarque: Cette option est généralement uniquement
utile lorsqu'il est utilisé avec le --excmd=nombre (-n). Vous devrez peut-être également
utiliser soit le --langmap or --force-langage option si l'extension de la
le fichier de sortie du préprocesseur n'est pas connu de balises c.

--liens[=oui|aucune]
Indique si les liens symboliques (s'ils sont pris en charge) doivent être suivis. Lorsqu'ils sont désactivés,
Les liens symboliques sont ignorés. Cette option est activée par défaut.

--liste-types[=langue|tous]
Répertorie les types de balises reconnus pour la langue spécifiée ou pour toutes les langues,
et se ferme ensuite. Chaque type de balise enregistré dans le fichier de balises est représenté par un
indicateur de lettre, qui est également utilisé pour filtrer les balises placées dans la sortie via l'utilisation
du système -- -types option. Notez que certaines langues et/ou types de balises peuvent être
implémenté à l'aide d'expressions régulières et peut ne pas être disponible si la prise en charge des expressions régulières est
non compilé dans balises c (voir le --regex- option). Chaque type répertorié est activé
sauf s'il est suivi de « [off] ».

--liste-cartes[=langue|tous]
Répertorie les extensions de fichiers et les modèles de noms de fichiers qui associent un nom de fichier à un
langue pour la langue spécifiée ou pour toutes les langues, puis quitte. Voir le
--langmap option, et SOURCE DES DOSSIERS, au dessus.

--list-langues
Liste les noms des langues comprises par balises c, puis sort. Ces langues
les noms ne sont pas sensibles à la casse et peuvent être utilisés dans le --force-langage, --langues,
-- -typeset --regex- options.

--options=filet
Lire les options supplémentaires de filetLe fichier doit contenir une option par ligne. En tant que
cas particulier, si --options=NONE est spécifié comme première option sur la ligne de commande,
cela désactivera la lecture automatique de toutes les options de configuration à partir d'un fichier
ou l'environnement (voir DES DOSSIERS).

--récurseur[=oui|aucune]
Effectuer une récursivité dans les répertoires rencontrés dans la liste des fichiers fournis. Si la liste
les fichiers fournis sont vides et aucune liste de fichiers n'est spécifiée avec le -L option, puis le
Le répertoire courant (c'est-à-dire « . ») est utilisé. Les liens symboliques sont suivis. Sinon,
comme ces comportements, spécifiez explicitement les fichiers ou dirigez la sortie de
trouver(1) dans balises c -L- à la place. Remarque: Cette option n'est pas prise en charge sur toutes les plateformes
actuellement. Il est disponible si la sortie du --Aidez-moi l'option inclut cette option.
Voir aussi le --exclure pour limiter la récursivité.

--regex-=/regexp/replacement/[kind-spec/][flags]
L'exposition /regexp/remplacement/ paire définit un modèle de remplacement d'expression régulière,
de style similaire à sed commandes de substitution, avec lesquelles générer des balises à partir de
fichiers sources mappés à la langue nommée, , (insensible à la casse ; soit un élément intégré
dans un langage défini par l'utilisateur). L'expression régulière, regexp, définit une étendue
expression régulière (à peu près celle utilisée par égrep(1)), qui est utilisé pour localiser un seul
ligne source contenant une balise et peut spécifier des caractères de tabulation à l'aide de \t. Lorsqu'une correspondance
ligne est trouvée, une balise sera générée pour le nom défini par remplacement, Qui
contiendra généralement les références arrière spéciales \1 à \9 pour faire référence à la correspondance
groupes de sous-expression au sein de regexp. Les caractères séparateurs « / » affichés dans le
Le paramètre de l'option peut en fait être remplacé par n'importe quel caractère. Notez que
quel que soit le caractère séparateur utilisé, il devra être échappé avec une barre oblique inverse ('\')
caractère partout où il est utilisé dans le paramètre comme autre chose qu'un séparateur.
L'expression régulière définie par cette option est ajoutée à la liste actuelle des expressions régulières.
expressions pour la langue spécifiée, sauf si le paramètre est omis, auquel cas
la liste actuelle est effacée.

Sauf modification par drapeaux, regexp est interprété comme un standard étendu Posix
expression. le remplacement devrait s'étendre pour toutes les lignes correspondantes à une valeur non vide
chaîne de caractères, sinon un message d'avertissement sera affiché. Un type facultatif
spécificateur pour les balises correspondantes regexp peut suivre remplacement, qui déterminera ce que
le type de balise est signalé dans le champ d'extension « kind » (voir TAG DOSSIER Format, au dessous de).
La forme complète de type-spec se présente sous la forme d'une seule lettre, d'une virgule, d'un nom
(sans espaces), une virgule, une description, suivie d'un séparateur, qui précisent le
formes courtes et longues du type valeur et sa description textuelle (affichées à l'aide de
--liste-types). Le nom du genre et/ou la description peuvent être omis. Si
type-spec est omis, la valeur par défaut est "r,expression régulière". Enfin, drapeaux sont un ou plusieurs
caractères d'une seule lettre ayant l'effet suivant sur l'interprétation de
regexp:

b Le modèle est interprété comme une expression régulière de base Posix.

e Le modèle est interprété comme une expression régulière étendue Posix (par défaut).

i L'expression régulière doit être appliquée de manière insensible à la casse.

Notez que cette option n'est disponible que si balises c a été compilé avec le support de
expressions régulières, selon votre plateforme. Vous pouvez déterminer si elles sont prises en charge.
pour les expressions régulières est compilé en examinant la sortie du --version
option, qui inclura « +regex » dans la liste des fonctionnalités compilées.

Pour plus d'informations sur les expressions régulières utilisées par balises c, voir soit le
regex(5,7) page de manuel ou la documentation GNU info pour regex (par exemple « info regex »).

--sorte[=oui|aucune|valise]
Indique si le fichier de balises doit être trié sur le nom de la balise (la valeur par défaut est oui).
Notez que l'original vi(1) balises triées requises. valise la valeur spécifie la casse
Tri insensible à la casse. Recherches binaires rapides de fichiers de balises triés avec
Le pliage de cas nécessitera un support spécial de la part d'outils utilisant des fichiers de balises, tels que celui
trouvé dans la bibliothèque readtags ctags, ou Vim version 6.2 ou supérieure (en utilisant « set
« ignorer la casse »). Cette option doit apparaître avant le premier nom de fichier. [Ignoré dans les balises etags
modes]

--tag-relatif[=oui|aucune]
Indique que les chemins d'accès aux fichiers enregistrés dans le fichier de balises doivent être relatifs au
répertoire contenant le fichier de balises, plutôt que relatif au répertoire courant,
sauf si les fichiers fournis sur la ligne de commande sont spécifiés avec des chemins absolus. Ceci
doit apparaître avant le premier nom de fichier. La valeur par défaut est oui lors de l'exécution
mode etags (voir le -e option), aucune autrement.

--totaux[=oui|aucune]
Imprime des statistiques sur les fichiers sources lus et le fichier de balises écrit pendant l'exécution.
invocation actuelle de balises cCette option est désactivée par défaut. Elle doit apparaître.
avant le premier nom de fichier.

--verbeux[=oui|aucune]
Activez le mode détaillé. Cela affiche des informations sur le traitement des options et un bref aperçu.
message décrivant l'action entreprise pour chaque fichier considéré par balises c.
Normalement, balises c ne lit pas les arguments de la ligne de commande avant que les options ne soient lues
à partir des fichiers de configuration (voir DES DOSSIERS, ci-dessous) et le CTAGS variable d'environnement.
Cependant, si cette option est le premier argument sur la ligne de commande, elle prendra
avant que les options ne soient lues à partir de ces sources. La valeur par défaut est aucune.

--version
Imprime un identifiant de version pour balises c vers la sortie standard, puis quitte. Ceci est
garanti de toujours contenir la chaîne « Exuberant Ctags ».

OPÉRATIONNEL DÉTAILS


As balises c considère chaque nom de fichier à tour de rôle, il essaie de déterminer la langue du fichier
en appliquant les trois tests suivants dans l'ordre : si l'extension de fichier a été mappée à un
langue, si le nom du fichier correspond à un modèle de shell mappé à une langue, et enfin si
le fichier est exécutable et sa première ligne spécifie un interpréteur utilisant le style Unix
Spécification « #! » (si prise en charge par la plateforme). Si une langue a été identifiée, le fichier
est ouvert et ensuite l'analyseur de langage approprié est appelé pour opérer sur le langage actuel
fichier ouvert. L'analyseur analyse le fichier et ajoute une entrée au fichier de balises pour chaque
objet de langage qu'il est censé gérer. Voir TAG DOSSIER Format, ci-dessous, pour plus de détails sur ces
entrées.

Cette mise en œuvre de balises c n'impose aucune exigence de formatage au code C comme le font les anciens
Implémentations. Les anciennes implémentations de ctags avaient tendance à s'appuyer sur un formatage spécifique.
hypothèses afin de l'aider à résoudre les dilemmes de codage causés par le préprocesseur
conditionnels.

En général, balises c essaie d'être intelligent avec les directives conditionnelles du préprocesseur. Si un
la condition du préprocesseur est rencontrée dans une instruction qui définit une balise, balises c
suit uniquement la première branche de cette condition (sauf dans le cas particulier de « #if 0 »,
auquel cas il ne suit que la dernière branche). La raison en est que, faute de
poursuivre une seule branche peut entraîner une syntaxe ambiguë, comme dans l'exemple suivant :

#ifdef DEUX_ALTERNATIVES
struct {
#else
syndicat {
#endif
court a;
b long;
}

Les deux branches ne peuvent pas être suivies, ou les accolades deviennent déséquilibrées et balises c serait incapable de
donner un sens à la syntaxe.

Si l'application de cette heuristique ne parvient pas à analyser correctement un fichier, généralement en raison de
appariement compliqué et incohérent au sein des conditionnels, balises c je vais réessayer le fichier
en utilisant une heuristique différente qui ne suit pas sélectivement le préprocesseur conditionnel
branches, mais revient plutôt à s'appuyer sur une accolade fermante ("}") dans la colonne 1 comme
indiquant la fin d'un bloc une fois qu'un déséquilibre d'accolades résulte du suivi d'un #if
branche conditionnelle.

Étiquettes C essaiera également de gérer spécialement les listes d'arguments incluses dans des ensembles doubles de
parenthèses afin d'accepter la construction conditionnelle suivante :

extern void foo __ARGS((int un, char deux));

Tout nom précédant immédiatement le « (( » sera automatiquement ignoré et le précédent
le nom sera utilisé.

Les définitions d'opérateurs C++ font l'objet d'un traitement spécifique. Pour garantir la cohérence avec tous les types de
opérateurs (surchargés et conversion), le nom de l'opérateur dans le fichier de balises sera toujours
précédé de la chaîne « opérateur » (c'est-à-dire même si la définition réelle de l'opérateur était
écrit comme "opérateur<<").

Après avoir créé ou ajouté le fichier de balises, il est trié par nom de balise, en supprimant
slogans identiques.

TAG DOSSIER Format


Lorsque vous n'exécutez pas le mode etags, chaque entrée du fichier de balises se compose d'une ligne distincte,
chacun ressemblant à ceci dans le cas le plus général :

nom_de_balise nom de fichier ex_cmd;" champs_extension

Les champs et séparateurs de ces lignes sont spécifiés comme suit :

1. nom de la balise
2. caractère de tabulation unique
3. nom du fichier dans lequel se trouve l'objet associé à la balise
4. caractère de tabulation unique
5. Commande EX utilisée pour localiser la balise dans le fichier ; généralement un modèle de recherche
(soit /pattern/ soit ?pattern?) ou numéro de ligne (voir --excmd). Format de fichier de balises 2
(voir --format) étend cette commande EX dans certaines circonstances pour inclure un
ensemble de champs d'extension (décrits ci-dessous) intégrés dans un commentaire EX immédiatement
ajouté à la commande EX, ce qui la rend rétrocompatible avec l'original
vi(1) implémentations.

Quelques balises spécifiques sont intégrées au fichier de balises à des fins internes. Ces balises sont
composées de telle sorte qu'elles soient toujours triées vers le haut du fichier. Par conséquent, la première
deux caractères de ces balises sont utilisés comme nombre magique pour détecter un fichier de balises à des fins de
déterminer si un fichier de balises valide est écrasé plutôt qu'un fichier source.

Notez que le nom de chaque fichier source sera enregistré dans le fichier de balises exactement comme il
apparaît sur la ligne de commande. Par conséquent, si le chemin spécifié sur la ligne de commande était
par rapport au répertoire courant, alors il sera enregistré de la même manière dans la balise
fichier. Voir, cependant, le --tag-relatif option sur la manière dont ce comportement peut être modifié.

Les champs d'extension sont des paires clé-valeur séparées par des tabulations ajoutées à la fin de la commande EX
sous forme de commentaire, comme décrit ci-dessus. Ces paires clé-valeur apparaissent sous la forme générale
"clé:valeur". Leur présence dans les lignes du fichier de balises est contrôlée par le --des champs
option. Les clés possibles et la signification de leurs valeurs sont les suivantes :

accès Indique la visibilité de ce membre de classe, où valeur est spécifique à la
la langue.

filet Indique que la visibilité de la balise est limitée au fichier. Cette clé n'a pas
valeur correspondante.

mots Indique le type de balise. Sa valeur peut être l'une des suivantes :
drapeaux correspondants à une lettre décrits sous les différents -- -types
options ci-dessus, ou un nom complet. Ceci est autorisé (et constitue d'ailleurs la valeur par défaut).
pour que la partie clé de ce champ soit omise. Les comportements facultatifs sont
contrôlé avec le --des champs option.

la mise en oeuvre
Lorsqu'il est présent, cela indique une mise en œuvre limitée (abstraite ou concrète)
d'une routine ou d'une classe, où valeur est spécifique à la langue (« virtuelle » ou
« virtuel pur » pour C++ ; « abstrait » pour Java).

hérite Lorsqu'il est présent, valeur. est une liste de classes séparées par des virgules à partir desquelles ceci
la classe est dérivée (c'est-à-dire hérite de).

Signature Lorsqu'il est présent, valeur est une représentation dépendante du langage de la signature de
une routine. Une signature de routine complète spécifie le type de retour.
d'une routine et de sa liste d'arguments formels. Ce champ d'extension est actuellement
pris en charge uniquement pour les langages basés sur C et n'inclut pas le type de retour.

En outre, des informations sur la portée de la définition de la balise peuvent être disponibles, avec la clé
partie égale à un nom de construction dépendant du langage et à sa valeur le nom déclaré
pour cette construction dans le programme. Cette entrée de portée indique la portée dans laquelle la balise
a été trouvée. Par exemple, une balise générée pour un membre de structure C aurait une portée
ressemblant à "struct:myStruct".

COMMENT À UTILISATION avec VI


Par défaut, Vi attend un fichier de balises nommé « tags » dans le répertoire courant. Une fois
le fichier de balises est construit, les commandes suivantes exercent la fonction d'indexation des balises :

vi -t Étiquette Démarrez vi et positionnez le curseur sur le fichier et la ligne où « tag » est défini.

:ta Étiquette Trouver une balise.

Ctrl-] Trouvez la balise sous le curseur.

Ctrl-T Retour à l'emplacement précédent avant de passer à la balise (pas largement implémenté).

COMMENT À UTILISATION avec GNU EMAC


Par défaut, Emacs attendra un fichier de balises nommé « TAGS » dans le répertoire courant.
Une fois le fichier de balises créé, les commandes suivantes exercent la fonction d'indexation des balises :

Mx visite-tags-table DOSSIER
Sélectionnez le fichier de balise, « FICHIER », à utiliser.

M-. [ÉTIQUETER]
Trouvez la première définition de TAG. La balise par défaut est l'identifiant sous le
curseur.

M-* Revenez à l'endroit où vous avez précédemment invoqué « M-. ».

Cu M-. Trouvez la définition suivante pour la dernière balise.

Pour plus de commandes, voir le Tags sujet dans le document d'information Emacs.

COMMENT À UTILISATION avec NÉDITER


NEdit version 5.1 et ultérieures peuvent gérer le nouveau format de fichier de balises étendu (voir --format). À
Pour que NEdit utilise le fichier de balises, sélectionnez « Fichier ->Charger le fichier de balises ». Pour accéder à la définition de
Pour une balise, sélectionnez le mot, puis appuyez sur Ctrl-D. NEdit 5.1 peut lire plusieurs fichiers de balises.
provenant de différents répertoires. Définition de la ressource X nedit.tagFile avec le nom d'une balise
Le fichier indique à NEdit de charger automatiquement ce fichier de balises au démarrage.

MISES EN GARDE


Parce que balises c n'est ni un préprocesseur ni un compilateur, l'utilisation de macros de préprocesseur peut
tromper balises c soit en balises manquantes, soit en générant de manière incorrecte des balises inappropriées.
balises c a été conçu pour gérer certains cas courants, c'est la principale cause
des problèmes signalés. En particulier, l'utilisation de constructions de préprocesseur qui modifient
la syntaxe textuelle du C peut tromper balises cVous pouvez contourner de nombreux problèmes de ce type en utilisant le -I
option.

Notez que depuis balises c génère des modèles pour localiser les balises (voir le --excmd option), c'est
il est tout à fait possible que la mauvaise ligne soit trouvée par votre éditeur s'il en existe une autre
Ligne source identique à celle contenant la balise. L'exemple suivant
démontre cette condition :

variable int;

/* ... */
void foo(variable)
variable int;
{
/* ... */
}

Selon l'éditeur que vous utilisez et où vous vous trouvez dans le code, il est possible
que le modèle de recherche peut localiser la déclaration de paramètre local dans foo() avant celui-ci
trouve la définition réelle de la variable globale, puisque les lignes (et donc leur recherche
les motifs sont identiques). Ceci peut être évité en utilisant --excmd=n option.

Utilisez ctags-exuberant en ligne avec les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.