Ho cercato e ho provato a usare esuberanti ctags senza fortuna con quello che voglio fare. Sono su un Mac che tenta di lavorare in un progetto in cui voglio escludere directory come .git, node_modules, test, ecc. Quando provo qualcosa come ctags -R --exclude=[.git, node_modules, test]
non ottengo nulla in cambio. Ho solo bisogno di farlo funzionare nella mia directory principale. Qualche idea su come realizzare questo?Come escludere più directory con ctag esuberanti?
risposta
L'opzione --exclude
non prevede un elenco di file. In base alla pagina man di ctags
, "Questa opzione può essere specificata tutte le volte che si desidera." Quindi, è come questo:
ctags -R --exclude=.git --exclude=node_modules --exclude=test
Ok, questo ha funzionato parzialmente. Quindi non devo fare un'altra domanda e darti la risposta per questo - c'è un modo per includere solo una directory e non dover fare l'esclusione? Tutto ciò di cui ho bisogno è la mia directory principale – pertrai1
Penso che potresti semplicemente nominare la directory che vuoi, no? Mi piace 'ctags -R your_dir'. O non capisco cosa intendi. – aalazz
Sì, quando provo questo non codifica nulla dalla directory principale. :-( – pertrai1
R ead T ha F antastic M anuale dovrebbe sempre essere il primo passo di qualsiasi tentativo di risolvere un problema.
Da $ man ctags
:
--exclude=[pattern]
Add pattern to a list of excluded files and directories. This option may
be specified as many times as desired. For each file name considered by
both the complete path (e.g. some/path/base.ext) and the base name (e.g.
base.ext) of the file, thus allowing patterns which match a given file
name irrespective of its path, or match only a specific path. If appro-
priate support is available from the runtime library of your C compiler,
then pattern may contain the usual shell wildcards (not regular expres-
sions) common on Unix (be sure to quote the option parameter to protect
the wildcards from being expanded by the shell before being passed to
ctags; also be aware that wildcards can match the slash character, '/').
You can determine if shell wildcards are available on your platform by
examining the output of the --version option, which will include "+wild-
cards" in the compiled feature list; otherwise, pattern is matched
against file names using a simple textual comparison.
If pattern begins with the character '@', then the rest of the string is
interpreted as a file name from which to read exclusion patterns, one per
line. If pattern is empty, the list of excluded patterns is cleared.
Note that at program startup, the default exclude list contains "EIFGEN",
"SCCS", "RCS", and "CVS", which are names of directories for which it is
generally not desirable to descend while processing the --recurse option.
Dai due prime frasi si ottiene:
$ ctags -R --exclude=dir1 --exclude=dir2 --exclude=dir3 .
che può essere un po 'prolisso, ma questo è ciò che gli alias e le mappature e così via sono per. In alternativa, si ottiene questo, secondo comma:
$ ctags -R [email protected] .
i seguenti nella .ctagsignore
:
dir1
dir2
dir3
che funziona a esclusione delle 3 directory senza tanto di battitura.
Hmmm. upvoted come risposta pratica, ma indovina che mi rende una persona cattiva come dovrei avere RTFM invece di venire qui! – artfulrobot
È possibile incapsulare un elenco separato da virgola con parentesi graffe di gestire multipli con una sola opzione --exclude
:
ctags -R --exclude={folder1,folder2,folder3}
Questo sembra funzionare solo per le cartelle nella radice di cui si sta eseguendo il comando. L'esclusione delle cartelle nidificate richiede un'opzione separata --exclude
.
Nifty use of shell brace expansion! –
- 1. banca dati CTAG per Go
- 2. Escludere directory durante Jenkins cassa
- 3. prototipi funzione Ctag multi-linea
- 4. sbt per escludere la directory sorgente
- 5. Come escludere una directory in una ricerca ricorsiva usando grep?
- 6. Come escludere più termini in Kibana 4
- 7. AngularJS: come si possono escludere più direttive?
- 8. Escludere le directory .svn da grep
- 9. Serve più directory con Apache
- 10. Taglist: ctag esuberante non trovato nel PERCORSO
- 11. Come escludere directory/file dal bundler di Meteor
- 12. come escludere le directory da un'attività phing copia
- 13. Hive: creazione di tabelle con più file con più directory
- 14. lavorare con .git/info/escludere troppo tardi
- 15. Come posso copiare una struttura di directory ma escludere le directory .svn?
- 16. Come escludere i risultati con get_object_or_404?
- 17. Come rimuovere più directory virtuali?
- 18. batch con determinate estensioni dalla più directory in una directory
- 19. php RecursiveDirectoryIterator: come escludere i percorsi di directory con un punto e due punti?
- 20. Robocopy -/XA: SH - per escludere il sistema, le directory nascoste?
- 21. CPack: Escludere i comandi INSTALL dalla sottodirectory (directory googletest)
- 22. Tar: crea un archivio escludere directory tranne uno
- 23. Escludere più cartelle utilizzando AWS S3 syn
- 24. Come escludere le cartelle .svn con robocopy
- 25. Completamente escludere determinate directory dal progetto CDT di Eclipse
- 26. Escludere la directory di base da PHPUnit Copertura del codice
- 27. Escludere una cartella nella directory protetta da htaccess
- 28. Maven-guerra-plugin: escludere tutte le directory, ma un
- 29. Eclipse - Escludere la directory root dal repository git?
- 30. Come si trasferisce una directory con più sottodirectory su ftp?
Possibile duplicato di [Esclusione di directory in CT esuberante] (https://stackoverflow.com/questions/8193178/excluding-directories-in-exuberant-ctags) –