yats.vim
yats.vim copied to clipboard
No tags with typescript.ctags (universal-ctags)
I have universal-ctags installed on my system, and it looks like it can't find any tags in typescript.
$ cat ttest.ts
import * as puppeteer from 'puppeteer';
export async function get1Id(page: puppeteer.Page): Promise<string> {
const dataStr = '11';
return dataStr;
}
async function main(): Promise<void> {
console.log('ddd');
}
$ ctags --options=/home/rom/.vim/bundle/yats.vim/ctags/typescript.ctags ttest.ts
$ cat tags
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 //
but it works with ctags from https://github.com/majutsushi/tagbar/wiki#typescript -> https://github.com/jb55/typescript-ctags/blob/master/.ctags
$ ctags --options=/home/rom/.ctags.d/typescript.ctags ttest.ts
ctags: Warning: Don't reuse the kind letter `c' in a language typescript (old: "classes", new: "modules")
ctags: Warning: Don't reuse the kind letter `v' in a language typescript (old: "variables", new: "varlambdas")
$ cat tags
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 //
get1Id ttest.ts /^export async function get1Id(page: puppeteer.Page): Promise<string> {$/;" f
main ttest.ts /^async function main(): Promise<void> {$/;" f
Tagbar starts to work if I replace typescript.ctags from https://github.com/jb55/typescript-ctags/blob/master/.ctags
cp /home/rom/.ctags.d/typescript.ctags /home/rom/.vim/bundle/yats.vim/ctags/
Do you have any idea how to fix it more elegantly?
/home/rom/.ctags.d/typescript.ctags is not needed. The latest u-ctags has built-in TypeScript parser.