{"id":30361492,"url":"https://github.com/roryrjb/js-ctags","last_synced_at":"2026-04-07T09:31:13.979Z","repository":{"id":308079187,"uuid":"1030743183","full_name":"roryrjb/js-ctags","owner":"roryrjb","description":"Custom exuberant ctags langdef for modern JavaScript/TypeScript","archived":false,"fork":false,"pushed_at":"2026-02-07T15:35:26.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-08T00:09:43.872Z","etag":null,"topics":["ctags","emacs","exuberant-ctags","javascript","typescript","vim","vue"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roryrjb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-02T08:18:49.000Z","updated_at":"2026-02-07T15:35:30.000Z","dependencies_parsed_at":"2025-08-04T03:08:43.620Z","dependency_job_id":null,"html_url":"https://github.com/roryrjb/js-ctags","commit_stats":null,"previous_names":["roryrjb/js-ctags"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/roryrjb/js-ctags","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roryrjb%2Fjs-ctags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roryrjb%2Fjs-ctags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roryrjb%2Fjs-ctags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roryrjb%2Fjs-ctags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roryrjb","download_url":"https://codeload.github.com/roryrjb/js-ctags/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roryrjb%2Fjs-ctags/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31507919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ctags","emacs","exuberant-ctags","javascript","typescript","vim","vue"],"created_at":"2025-08-19T16:38:36.415Z","updated_at":"2026-04-07T09:31:13.973Z","avatar_url":"https://github.com/roryrjb.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js-ctags\n\n## Motivation\n\nYou know what? I prefer Vim or Emacs over something like VS Code or JetBrains and I prefer `ctags` over LSP any day, if I can get away with it.\nWhy? Well you can jump to a tag immediately without a server spinning up. You don't have to be in a matching file type. There's much less overhead\nand it's instant. LSPs give you a lot more than go-to-definition, but to me that's all a distraction. Give me a compiler or at the very least\na type checker and `ctags` and I can get the job done.\n\nI would even argue that with AI tools like Claude Code that can work outside of \"IDE\" integration and decouple you from an editor, this approach actually becomes relevant again.\n\n## About\n\nThis repo basically contains a `.ctags` file that is compatible and only tested with [__Exuberant CTags__](https://ctags.sourceforge.net/ctags.html). Yes it's _ancient_ at this\npoint, is no longer maintained but, it still does the job. It relies on regexes to find patterns in code, what could be simpler? This is my maintained\nconfiguration that I use for JavaScript, TypeScript and Vue single file components. It's not 100% perfect, which is why I'm sharing it, because it\nwill evolve over time as I come across scenarios where the current patterns don't match anything.\n\n## Usage\n\nCopy the `.ctags` file to the root of your project (or your home directory to apply it globally), then generate tags with:\n\n```\nctags -R .\n```\n\nThis will recursively scan the current directory and produce a `tags` file that your editor can use for go-to-definition.\n\nTo regenerate tags you just run the same command again. For a smoother workflow, consider using [vim-gutentags](https://github.com/ludovicchabant/vim-gutentags) which automatically regenerates your tags file in the background whenever you save a file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froryrjb%2Fjs-ctags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froryrjb%2Fjs-ctags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froryrjb%2Fjs-ctags/lists"}