-
Notifications
You must be signed in to change notification settings - Fork 631
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
Windows tags files use a double-backslash directory separator, which shows up in Vim #1325
Comments
Could you try |
Yes, that fixes my issues. I get tags lines like this:
I had to delete a line from the VS project file to get it to build. I'll send the patch along. |
Would it be possible to make Universal Ctags output proper single backslashes on Windows by default? What's the backstory here for those double backslashes? Every time I setup a new Windows machine I forget about this, wonder why my tag files are messed up and why Vim is unhappy, and then remember to change the output format locally. |
Please, put |
It is related to format-3 branch. The branch is corrupted because I mistakenly the branch to master. |
Yep, adding the option to my global ctags config file is what I end up doing, but I don't think that should be needed, should it? I don't know why it does those double-backslashes, but if there's something I can do to help (like testing or whatever), feel free to ping me. |
I will explain why. I have to write this to our man page. Maybe the format-3 branch includes some documentation about this topic. One of this motto in Universal-ctags development is that ctags should pass raw-data to client tools; ctags should not hide raw information found in the input files. tags format uses tab characters as a separator between fields.
Here a tab char is used between Here we call the field holding If a name field filled by a parser (Foo) includes tab characters like
A client cannot distinguish the tab characters in the name field and the tab characters placed as a separator. So we introduce the escape sequence. When printing a field including a tab char, ctags replaces it with |
It is possible to make a file including a tab char in its name at leat on Linux. |
Just an idea. How about using |
@ludovicchabant, how do you think about @k-takata's idea? |
…ames with slashes (TODO: documentation) Suggested by @k-takata in universal-ctags#1325. Signed-off-by: Masatake YAMATO <[email protected]>
…ames with slashes (TODO: documentation) Suggested by @k-takata in universal-ctags#1325. Signed-off-by: Masatake YAMATO <[email protected]>
…ames with slashes (TODO: documentation) Suggested by @k-takata in universal-ctags#1325. Signed-off-by: Masatake YAMATO <[email protected]>
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes (TODO: documentation, more log should be here) Suggested by @k-takata in universal-ctags#1325.
…ames with slashes Suggested by @k-takata in universal-ctags#1325.
#2199 was merged, so no need to use |
When I run universal ctags on Windows, the tags files contain paths with two backslashes. This is annoying because it's visible in Vim when I jump to the tag definition. Consider this line from my tags file for LLVM:
In Vim, the displayed file path is
llvm-project\\llvm\\include\\llvm\\ADT\\ilist_node.h
, instead ofllvm-project\llvm\include\llvm\ADT\ilist_node.h
.It would be nice if there was an option to force the use of forward slashes on Windows, which appear to do the right thing in Vim.
The text was updated successfully, but these errors were encountered: