Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add ctags-faq(7) #2855

Merged
merged 7 commits into from
Feb 10, 2021
Merged

docs: add ctags-faq(7) #2855

merged 7 commits into from
Feb 10, 2021

Conversation

hirooih
Copy link
Contributor

@hirooih hirooih commented Feb 8, 2021

@codecov
Copy link

codecov bot commented Feb 8, 2021

Codecov Report

Merging #2855 (ef5a2b6) into master (ee5f9c5) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2855   +/-   ##
=======================================
  Coverage   86.99%   86.99%           
=======================================
  Files         194      194           
  Lines       44133    44133           
=======================================
  Hits        38395    38395           
  Misses       5738     5738           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ee5f9c5...1db5cd6. Read the comment docs.

@hirooih
Copy link
Contributor Author

hirooih commented Feb 8, 2021

fails on centos_make.

...
make  check-am
make[1]: Entering directory '/root/universal-ctags'
REPOINFO   main/repoinfo.h
  CCLD     ctags
make[1]: Leaving directory '/root/universal-ctags'
  RUN      roundtrip
make: *** [Makefile:6109: roundtrip] Terminated

Too long with no output (exceeded 10m0s): context deadline exceeded

make check-am passes my Ubuntu env.
How can I debug this?

@masatake
Copy link
Member

masatake commented Feb 8, 2021

Thank you very much.

Could you rebase the latest commit of the master branch?
I introduced 40a496b today.
I hope it suppresses the failures of the tests.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Either by setting the environment variable ``CTAGS`` to your custom
options, or putting them into a ``.ctags`` file in your home directory.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

u-ctags doesn't read ~/.ctags. Instead u-ctags reads ~/.ctags.d/anyname.ctags.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I had to care of this.
Fixed.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Because, by default, ctags only generates tags for the separate identifiers
found in the source files. If you specify the ``--extra=+q`` option, then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--extras=+q instead of --extra=+q in u-ctags.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.
Fixed.

#1421: feature: clean up stale tags when appending (`-a`)
#2356: can't pre-process the macro but it works with Exuberant Ctags 5.8
#2540: C/C++:conditional compilation like #ifdef will cause parse errror

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like you to add an item about ~/.ctags at the top.
e.g.

What is the difference between Universal Ctags and Exuberant Ctags?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Universal Ctags is an unofficial fork of Exuberant Ctags.
The differences are summarized in ctags-incompatibilities(7) man page.
The most notable one is Universal Ctags doesn't read `.ctags` file under your home directory.
Instead, it reads `*.ctags` under `~/.ctags.d` directory.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Referencing to ctags-incompatibilities(7) is a very good idea.
fixed.

- no contents change
- use ".. contents::" directive
The following sections are deleted.

- Why do you call it "Exuberant Ctags"?
- Why doesn't my editor work with these tag files?
- Why doesn't XEmacs' Speedbar module work with Exuberant Ctags?
- Why doesn't Xemacs correctly locate the tag in the source file?
- Why doesn't NEdit correctly locate the tag in the source file?
- What is "Vim"?
- How do I get regex support for Win32?
- fix markup
- replace "Exuberant" with "Universal"
- fix spelling mistakes
- new sections:
  - Does Universal Ctags support Unicode file names?
  - Why does zsh cause "zsh: no matches found" error?
- add TODO comment for universal-ctags#1421, universal-ctags#2356, and universal-ctags#2540
- add "What is the difference between Universal Ctags and Exuberant Ctags?"
- change from ~/.ctags to ~/.ctags.d/*.ctags
- chnage from --extras to --extra
@hirooih
Copy link
Contributor Author

hirooih commented Feb 9, 2021

I applied all of your suggestions.

I hope it suppresses the failures of the tests.

The error is gone. Thanks.

@masatake
Copy link
Member

masatake commented Feb 9, 2021

Thank you very much.

code page. If you still want to use Unicode file names on them, use Cygwin or
MSYS2 version of Universal Ctags as a workaround.

Why does zsh cause "zsh: no matches found" error?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found tcsh made the similar warning, too.

[jet@living]~/var/ctags-new% tcsh
[jet@living ctags-new]$ echo --foo=fnmatch/*
echo: No match.
[jet@living ctags-new]$ ls --*
ls: No match.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting! This may be the root cause of the "feature" of zsh.

echo: No match.
ls: No match.

Filename expansion is a job of a shell. (On MS-DOS it is a job of each command.)
Either echo nor ls caused the error. "tcsh: No match" like on zsh is a correct error message.

I thought about adding a comment that tcsh causes similar error, but I did not.
It is because I think we should not take care of csh. cf. Csh Programming Considered Harmful

@hirooih hirooih merged commit 0f62473 into universal-ctags:master Feb 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants