yats.vim icon indicating copy to clipboard operation
yats.vim copied to clipboard

No tags with typescript.ctags (universal-ctags)

Open Rom888 opened this issue 4 years ago • 1 comments

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?

Rom888 avatar Dec 04 '19 12:12 Rom888

/home/rom/.ctags.d/typescript.ctags is not needed. The latest u-ctags has built-in TypeScript parser.

masatake avatar May 06 '20 17:05 masatake