#4163·ctags

JavaScript: Support import bar from "./bar.js"

Author: thoughtsunificatorCreated Dec 20, 2024Updated Sep 16, 2026

The name of the parser:

JavaScript

The command line you used to run ctags:

$ ctags --options=NONE foo.js bar.js

The content of input file:

foo.js

javascript
import create from "./bar.js"

bar.js

javascript
export default function() {}

The tags output you are not satisfied with:

!_TAG_EXTRA_DESCRIPTION anonymous       /Include tags for non-named objects like lambda/
!_TAG_EXTRA_DESCRIPTION fileScope       /Include tags of file scope/
!_TAG_EXTRA_DESCRIPTION pseudo  /Include pseudo tags/
!_TAG_EXTRA_DESCRIPTION subparser       /Include tags generated by subparsers/
!_TAG_FIELD_DESCRIPTION epoch   /the last modified time of the input file (only for F\/file kind tag)/
!_TAG_FIELD_DESCRIPTION file    /File-restricted scoping/
!_TAG_FIELD_DESCRIPTION input   /input file/
!_TAG_FIELD_DESCRIPTION name    /tag name/
!_TAG_FIELD_DESCRIPTION pattern /pattern/
!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
!_TAG_FILE_FORMAT       2       /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED       1       /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!JavaScript       C,constant      /constants/
!_TAG_KIND_DESCRIPTION!JavaScript       G,getter        /getters/
!_TAG_KIND_DESCRIPTION!JavaScript       M,field /fields/
!_TAG_KIND_DESCRIPTION!JavaScript       S,setter        /setters/
!_TAG_KIND_DESCRIPTION!JavaScript       c,class /classes/
!_TAG_KIND_DESCRIPTION!JavaScript       f,function      /functions/
!_TAG_KIND_DESCRIPTION!JavaScript       g,generator     /generators/
!_TAG_KIND_DESCRIPTION!JavaScript       m,method        /methods/
!_TAG_KIND_DESCRIPTION!JavaScript       p,property      /properties/
!_TAG_KIND_DESCRIPTION!JavaScript       v,variable      /global variables/
!_TAG_OUTPUT_EXCMD      mixed   /number, pattern, mixed, or combineV2/
!_TAG_OUTPUT_FILESEP    slash   /slash or backslash/
!_TAG_OUTPUT_MODE       u-ctags /u-ctags or e-ctags/
!_TAG_OUTPUT_VERSION    0.0     /current.age/
!_TAG_PARSER_VERSION!JavaScript 1.1     /current.age/
!_TAG_PATTERN_LENGTH_LIMIT      96      /0 for no limit/
!_TAG_PROC_CWD  /tmp/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   6.1.0   /v6.1.0/
!_TAG_ROLE_DESCRIPTION!JavaScript!function      foreigndecl     /declared in foreign languages/
anonymousFunctionf39330450100   bar.js  /^export default function() {}$/;"      f

The tags output you expect:

I am not sure about the expected output.

The version of ctags:

$ ctags --version
Universal Ctags 6.1.0(v6.1.0), Copyright (C) 2015-2023 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Mar 17 2024, 12:18:39
  URL: https://ctags.io/
  Output version: 0.0
  Optional compiled features: +wildcards, +regex, +iconv, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml, +packcc, +optscript, +pcre2

How do you get ctags binary:

pacman -S ctags