Maison >développement back-end >Golang >Comment générer une base de données ctags pour Go avec des chemins absolus ?
Générer une base de données ctags pour Go
Dans cet article, nous aborderons le défi de générer une base de données ctags pour le code source Go, en considérant le cas d'usage spécifique de vouloir utiliser le fichier de tags avec Vim et de mettre l'accent sur les chemins absolus.
Le but est de créer un fichier de tags (gosource.tags) qui indexe le contenu des fichiers sources Go pour une navigation facile dans Vim. Bien que le package exubérant ctags soit couramment utilisé pour cette tâche, il ne prend pas en charge Go de manière native.
Pour surmonter cette limitation, nous devons ajouter manuellement les définitions de langage spécifiques à Go au fichier de configuration ctags (~/. ctags). Les définitions suivantes, suggérées par http://go-wise.blogspot.com/2011/09/using-ctags-with-go.html, permettront aux ctags de reconnaître la syntaxe Go :
--langdef=Go --langmap=Go:.go --regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)//d,func/ --regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)//d,var/ --regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)//d,type/
Avec ces définitions en place, nous pouvons générer la base de données de balises à l'aide de la commande :
ctags -f gosource.tags -R $(pwd)
Cette commande analysera le répertoire actuel et générera le fichier de balises avec les chemins absolus vers le Allez dans les fichiers sources. Le fichier de balises peut ensuite être utilisé avec Vim pour une navigation efficace dans le code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!