exuberant-ctags

Exuberant Ctags on Mac

廉价感情. 提交于 2019-12-31 17:37:56
问题 I'm currently using vim for my PHP development. A few weeks ago I bought myself a mac, and wanted to re-generate my tags for a new Zend Framework version. I used the following script in the past (linux machine) to generate the tags: #!/bin/bash cd ~/www/ZF/ ctags-exuberant -f ~/.vim/tags/zend \ -h ".php" -R \ --exclude="\.svn" \ --totals=yes \ --tag-relative=yes \ --PHP-kinds=+cf \ --regex-PHP='/abstract class ([^ ]*)/\1/c/' \ --regex-PHP='/interface ([^ ]*)/\1/c/' \ --regex-PHP='/(public

The ctags command doesn't recurse saying “it is not a regular file”

*爱你&永不变心* 提交于 2019-12-20 09:10:43
问题 When I run ctags -R * , I get errors saying that all directories are not regular files and it skips them instead of recursively generating tags for them. ctags: skipping arpa: it is not a regular file. ctags: skipping asm: it is not a regular file. ctags: skipping asm-generic: it is not a regular file. ctags: skipping bits: it is not a regular file. ctags: skipping blkid: it is not a regular file. ctags: skipping boost: it is not a regular file. What is the problem? 回答1: Similar to this and

How to use shell magic to create a recursive etags using GNU etags?

穿精又带淫゛_ 提交于 2019-12-18 01:03:35
问题 The standard GNU etags does not support a recursive walk of directories as done by exuberant ctags -R . If I only have access to the GNU etags, how can I use bash shell magic to get etags to produce a TAGS table for all the C++ files *.cpp and *.h files in the current directory and all directories below the current one recursively to create a TAGS table in the current directory which has the proper path name for emacs to resolve the TAGS table entries. 回答1: The Emacs Wiki is often a good

ctags multi-line C function prototypes

穿精又带淫゛_ 提交于 2019-12-13 11:37:10
问题 Is there a way for ctags to handle multiline function prototypes in C? I've searched around and the --fields=+S is supposed to do multiline prototypes, but I can't get it to work: ctags -x --c-kinds=pf --fields=+S file file: int foo(int x, int y ); ctags only returns: foo(int (Note that the return type is also missing) Ultimately I would like to get an output similar to int foo(int x, int y); or int foo(int x, int y is --fields=+S not the correct way? Are there part of the ctags fields that I

Understanding the ctags file format

守給你的承諾、 提交于 2019-12-11 08:49:27
问题 I used "Exhuberant ctags" to index all the tags from my c-project. The c-project is embedded software for a Cortex-M7 microcontroller. The result is a tags-file. I'm trying to read this file and understand what is written down. Based on the documentation I find for ctags and Exhuberant ctags, I can grasp the meanings of most lines. For example: ADC3 .\Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f767xx.h 1525;" d This line means: A tag has been found with name ADC3 . The tag is found in

ctags chokes on source file with unbalanced braces due to #ifdef

你。 提交于 2019-12-11 02:44:58
问题 I am using ctags to generate a tags file for a C project I am working on, but many functions are missing in the file. This appears to be caused by unbalanced braces in the source files due to using #ifdef . A (simplified) example: #include <stdio.h> struct mystruct { long member; #ifndef _MSC_VER }__attribute__ ((packed)); #else /* _MSC_VER */ }; #pragma pack(pop) #endif /* _MSC_VER */ char* greeting_text(){ return "Hello world\n"; } int main( int argc, const char* argv[] ){ char * greeting =

vim autocmd silent execution

大城市里の小女人 提交于 2019-12-10 15:09:17
问题 I have my .vimrc file configured in such a way that each time I save a Python file or enter a python buffer (also for Matlab and Latex but it is all the same) it silently executes exuberant ctags: set tags+=./tags autocmd BufWritePost *.py silent !ctags *.py autocmd BufEnter *.py silent !ctags *.py autocmd BufWritePost *.m silent !ctags *.m autocmd BufEnter *.m silent !ctags *.m autocmd BufWritePost *.tex silent !ctags *.tex autocmd BufEnter *.tex silent !ctags *.tex I then sometimes use this

Using multiple tag files at once in vim / Tag organisation in general

…衆ロ難τιáo~ 提交于 2019-12-09 13:15:14
问题 (Apologies for the C tag, I did it for the syntax highlighting. This is more of a vim question. If someone more learned than I thinks the tag should be removed please do so) Say I've got this directory structure: Directory ~/Code/Test/ containing file1.c file2.c file4.c and Sub Directory ~/Code/Test/Sub/ containing file3.c file1.c: #include <stdio.h> #include "file2.c" #include "Sub/file3.c" void function1(); int main (int argc, char *argv[]) { function1(); function2(); function3(); return 0;

ctags doesn't understand -e option (no exuberant tags option)

别说谁变了你拦得住时间么 提交于 2019-12-06 22:32:48
问题 When I type ctags -e it returns an error saying it doesn't know that command line option. I thought it should know about exuberant tags because etags works on cli. Also, I recieve the following error: ctags: unrecognized option --langdef=arc and I have the following in my ~/.ctags file: --langdef=arc --langmap=arc:.arc --regex-arc=/^\(def ([a-zA-Z1-9_*\/<>-]+)/\1/ --regex-arc=/^\(= ([a-zA-Z1-9_*\/<>-]+)/\1/ --regex-scheme=/^\(xdef ([a-zA-Z1-9_*\/<>-]+)/\1/ 回答1: etags is short for "Emacs tags"

ctags, vim and python code

自古美人都是妖i 提交于 2019-12-05 18:52:04
I generate ctags with the following command ctags -R --fields=+l --languages=python --python-kinds=-iv -f ./tags apps/employees/models.py and this is my code from django.contrib.auth.models import AbstractUser from django.contrib.postgres.fields import HStoreField from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.utils import timezone from django.utils.translation import ugettext_lazy as _ from author.decorators import with_author from django_extensions.db.models import TimeStampedModel from django_fsm import FSMField from imagekit