Full Code of universal-ctags/ctags for AI

master d436dace81c2 cached
7216 files
13.4 MB
3.9M tokens
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,398K chars total). Download the full file to get everything.
Repository: universal-ctags/ctags
Branch: master
Commit: d436dace81c2
Files: 7216
Total size: 13.4 MB

Directory structure:
gitextract_ldlramtq/

├── .ctags.d/
│   └── exclusion.ctags
├── .dir-locals.el
├── .editorconfig
├── .gdbinit
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── building-with-nmake.yml
│       ├── building-with-pegof.yml
│       ├── code-coverage-on-ubuntu.yml
│       ├── cross-compile-for--netbsd-on-ubuntu.yml
│       ├── cross-compile-for-android-on-macos.yml
│       ├── cross-compile-for-android-on-ubuntu.yml
│       ├── cross-compile-for-freebsd-on-ubuntu.yml
│       ├── cross-compile-for-openbsd-on-ubuntu.yml
│       ├── cross-compile-for-windows-on-macos.yml
│       ├── cross-compile-for-windows-on-ubuntu.yml
│       ├── run-citre-tests.yml
│       ├── tagging.yml
│       ├── testing-bsds.yml.bak
│       ├── testing-on-alpine.yml
│       ├── testing-on-cygwin.yml
│       ├── testing-on-freebsd.yml
│       ├── testing-on-macos.yml
│       ├── testing-on-msys2.yml
│       ├── testing-on-netbsd.yml
│       ├── testing-on-openbsd.yml
│       ├── testing-on-ubi.yml
│       ├── testing-on-ubuntu.yml
│       └── testing-with-valgrind.yml
├── .gitignore
├── .indent.pro
├── .readthedocs.yaml
├── .uncrustify.cfg
├── COPYING
├── Makefile.am
├── README.md
├── Tmain/
│   ├── abnormal-output-file-names.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── alias-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── allow-null-tag.d/
│   │   ├── exit-expected.txt
│   │   ├── input.json
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── avoid-null-tag-warning.d/
│   │   ├── input-0.sql
│   │   ├── input.asm
│   │   ├── input.sql
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-extradef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-fielddef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-json-output.d/
│   │   ├── exit-expected.tx
│   │   ├── input.f
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-langdef.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-paramdef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-regex-pattern.d/
│   │   ├── broken-pattern.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── broken-tagname-in-ectags-format.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-tagname-quiet.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-tagname.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-version.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── c-anon-counter.d/
│   │   ├── exit-expected.txt
│   │   ├── input1.c
│   │   ├── input2.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── c-large-enum.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── case-insensitive-pattern.d/
│   │   ├── INPUT.MK
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── clear-aliases.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── client-vista-vim-fields-expectation.d/
│   │   ├── README.md
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── test.vim
│   ├── combination-of-fields-Zs.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── combination-of-fields-zkK.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── common-prelude.d/
│   │   ├── aindex.expected
│   │   ├── aindex.ps
│   │   ├── amember.expected
│   │   ├── amember.ps
│   │   ├── buildstring.expected
│   │   ├── buildstring.ps
│   │   ├── chop.expected
│   │   ├── chop.ps
│   │   ├── dedup.expected
│   │   ├── dedup.ps
│   │   ├── dedup_spaces.expected
│   │   ├── dedup_spaces.ps
│   │   ├── ndup.expected
│   │   ├── ndup.ps
│   │   ├── normalize_spaces.expected
│   │   ├── normalize_spaces.ps
│   │   ├── putlast.expected
│   │   ├── putlast.ps
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── tr.expected
│   │   └── tr.ps
│   ├── cxx-how-kinds-defs-are-shared-or-copyed.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── disable-fixed-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── disable-languages.d/
│   │   ├── input-matlab.m
│   │   ├── input-objc.m
│   │   ├── input.m
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── dot-ctags-with-indentation.d/
│   │   ├── args.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── dynamic-kinds.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── e-ctags-output.d/
│   │   ├── input_file.cc
│   │   ├── input_scope.rst
│   │   ├── input_space.rst
│   │   ├── input_tab.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── early--version-opt-processing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-downcased-mode.d/
│   │   ├── exti-expected.txt
│   │   ├── functions
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-head.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-head2.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-tail.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-uppercased-marker.d/
│   │   ├── exti-expected.txt
│   │   ├── macros
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modline-shell-script-zsh.d/
│   │   ├── input-firstline0.unknown
│   │   ├── input-firstline1.unknown
│   │   ├── input-firstline2.unknown
│   │   ├── input-firstline3.unknown
│   │   ├── input-firstline4.unknown
│   │   ├── input-firstline5.unknown
│   │   ├── input-lastlist0.unknown
│   │   ├── input-lastlist1.unknown
│   │   ├── input-lastlist2.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-postfix-with-wildcard.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-postfix.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-prefix-with-wildcard.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-prefix.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-non-existing-kind.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── epoch-field.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── errors-about-parser-specific-extras.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── errors-if-tags-exits-as-directory.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── errors-in-options-roles.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── excmd-combine-backward.d/
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── excmd-combine.d/
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── extension-vs-pattern.d/
│   │   ├── exit-expected.txt
│   │   ├── input.xxx
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── extras-field-for-pseudo-tags.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── extras-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── extras-long.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── filter-option-write-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── filter-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── fixed-field-handling-in-json-format.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── fixed-field-handling.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── flags-fielddef-datatype.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── force-initializing-option.d/
│   │   ├── README
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── xit-expected.txt
│   ├── gcov-sandbox.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── generate-anon-ids.d/
│   │   ├── input0.c
│   │   ├── input1.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── getter-extras-field.d/
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── input-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── interactive-mode.d/
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   ├── test.c
│   │   └── test.rb
│   ├── interactive-notice-output.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── interactive-option-write-to-file.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── test.rb
│   ├── interactive-resource-management.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── invalid-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-backslash-in-input-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.php
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-for-broken-input.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cs
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-format.d/
│   │   ├── input.1
│   │   ├── input.c
│   │   ├── input.go
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── json-output-much-parser-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   └── run.sh
│   ├── json-output-ptag-in-list-extras.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── json-output-typed-fields.d/
│   │   ├── input.c
│   │   ├── input.ctst
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-parser-limit-recursion.d/
│   │   ├── exit-expected.txt
│   │   ├── input512-one.json
│   │   ├── input512-two.json
│   │   ├── input513-one.json
│   │   ├── input513-two.json
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kind-abnormal-spec.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kind-and-role-defaults.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kind-long-lregex.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kind-long.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kinddef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kinds-all-with-spec.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lang-sequel.d/
│   │   ├── args.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lang-with-no-pattern.d/
│   │   ├── exit-expected.txt
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── langmap-option-including-patterns.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── langmap-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── language-filed-optscript.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── language-names.d/
│   │   ├── exit-expected.txt
│   │   └── run.sh
│   ├── languages-and-language-force-options.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── line-regex-optscript.d/
│   │   ├── exit-expected.txt
│   │   ├── hello.ctags
│   │   ├── input.hello
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-aliases.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-excludes.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-extras.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-fixed-field-handling.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-none.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-with-prefix.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── input.java
│   │   ├── input.sh
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-kinds-full.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-language-fields.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-language-flags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-map-extensions.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-map-patterns.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-map-rexprs.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── something/
│   │   │   ├── input.CPP
│   │   │   ├── input.c
│   │   │   └── input.h
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-mline-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-mtable-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-output-formats.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-params.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-pseudo-tags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-roles-with-kind-names.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-roles.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-subparsers-all.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-cwd-no-dot.d/
│   │   ├── ctags.d/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-cwd.d/
│   │   ├── .ctags.d/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-default-xdg-config-home.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-home.d/
│   │   ├── exit-expected.txt
│   │   ├── myhome/
│   │   │   └── .ctags.d/
│   │   │       ├── a.ctags
│   │   │       ├── b.ctags
│   │   │       └── c.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-xdg-config-home.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-dot-ctags-twice.d/
│   │   ├── dot.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-clear-patterns.d/
│   │   ├── input.c
│   │   ├── mylang.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-kind-letter.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-kind-name.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds-full.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds-uniquely.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-reject-reserved-kind.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-scan-the-rest-of-input.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-unexpected-regex-kind.d/
│   │   ├── X.ctags
│   │   ├── Y-r-regex-with-kinddef.ctags
│   │   ├── Y-r-regex.ctags
│   │   ├── Y-r.ctags
│   │   ├── Y-regex.ctags
│   │   ├── Yempty1.ctags
│   │   ├── Yempty2.ctags
│   │   ├── Ynokind.ctags
│   │   ├── input.yyy
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-lang-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-removing.d/
│   │   ├── ada.m
│   │   ├── exit-expected.txt
│   │   ├── matlab.m
│   │   ├── objc.m
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-rexpr.d/
│   │   ├── macros.d/
│   │   │   └── macros.vim
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── maxdepth.d/
│   │   ├── run.sh
│   │   ├── src/
│   │   │   ├── a.c
│   │   │   └── subdir/
│   │   │       └── b.c
│   │   └── stdout-expected.txt
│   ├── mline-no-advance.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── mtable-avoid-infinite-loop-at-the-eof.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── input2.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── mtable-mutual-entering.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── input2.bar
│   │   ├── input3.baz
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── mtable-pinning.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── mtable-stats.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── multi-roles.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nameless-long-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── nested-mio.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nested-subparsers-multilines.d/
│   │   ├── event.ctags
│   │   ├── hook.ctags
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nested-subparsers.d/
│   │   ├── event.ctags
│   │   ├── hook.ctags
│   │   ├── input.c
│   │   ├── plugin.ctags
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   └── unused-attr.ctags
│   ├── no-empty-tag.d/
│   │   ├── input-0.mak
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── no-input-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── notice-about-broken-symlink.d/
│   │   ├── .gitignore
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── null-description-in-pseudo-tag.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nulltag-extra.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── omit-long-patterns-etags.d/
│   │   ├── input.sh
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── omit-long-patterns.d/
│   │   ├── gen.sh
│   │   ├── input.sh
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-dump-keywords.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-dump-options.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-echo-and-force-quit.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-exclude-exception.d/
│   │   ├── input.d/
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   └── bazel-z/
│   │   │       └── z.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-exclude-including-fsep.d/
│   │   ├── input.d/
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   ├── bazel-z/
│   │   │   │   └── z.c
│   │   │   └── labze-a/
│   │   │       └── a.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-exclude-simple.d/
│   │   ├── input.d/
│   │   │   ├── a.h
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   └── bazel-z/
│   │   │       └── z.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-extradef-in-mtable.d/
│   │   ├── input.mtextra
│   │   ├── mtextra.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-extras-enabling-all.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-no-such-foreign-extra.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-no-such-foreign-field.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-options-directory.d/
│   │   ├── exit-expected.txt
│   │   ├── optlib/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-options-maybe.d/
│   │   ├── exit-expected.txt
│   │   ├── input-maybe.c
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-pseudo-tags.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-totals-extra.d/
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-use-slash-as-filename-separator.d/
│   │   ├── run.sh
│   │   ├── src/
│   │   │   └── input.c
│   │   └── stdout-expected.txt
│   ├── optlib-dir-option.d/
│   │   ├── optlib/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── optlib-message-flag.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── input2.foo
│   │   ├── input3.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── optscript-preludes-stack.d/
│   │   ├── args-c.ctags
│   │   ├── args-cpreprocessor.ctags
│   │   ├── args-dts.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── input.dts
│   │   ├── input.i
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── optscript-scope.d/
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknown.ctags
│   ├── optscript.d/
│   │   ├── arithmetic.expected
│   │   ├── arithmetic.ps
│   │   ├── array.expected
│   │   ├── array.ps
│   │   ├── arrayx.expected
│   │   ├── arrayx.ps
│   │   ├── compound.expected
│   │   ├── compound.ps
│   │   ├── control.expected
│   │   ├── control.ps
│   │   ├── dict.expected
│   │   ├── dict.ps
│   │   ├── dictx.expected
│   │   ├── dictx.ps
│   │   ├── error-undefined-if-if.expected
│   │   ├── error-undefined-if-if.ps
│   │   ├── error-undefined-if.expected
│   │   ├── error-undefined-if.ps
│   │   ├── exit-expected.txt
│   │   ├── misc.expected
│   │   ├── misc.ps
│   │   ├── pstack.expected
│   │   ├── pstack.ps
│   │   ├── read-and-print.expected
│   │   ├── read-and-print.ps
│   │   ├── relalogbits.expected
│   │   ├── relalogbits.ps
│   │   ├── run.sh
│   │   ├── stack.expected
│   │   ├── stack.ps
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── string.expected
│   │   ├── string.ps
│   │   ├── typeattrconv.expected
│   │   └── typeattrconv.ps
│   ├── output-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── output-file-resource-management.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── output-format-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── output-input-field-with-no-escape.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-init-useCork.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── parser-specific-extras-for-foreign-lang.d/
│   │   ├── input-0.x1
│   │   ├── input-1.x1
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── x0.ctags
│   │   └── x1.ctags
│   ├── parser-specific-extras.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-specific-fields-clearing-all.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-specific-fields-for-foreign-lang-in-json.d/
│   │   ├── input.unknownx
│   │   ├── knownz.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── parser-specific-fields-for-foreign-lang.d/
│   │   ├── input.unknownx
│   │   ├── knownz.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── parser-specific-fields-with-datatype.d/
│   │   ├── exit-expected.txt
│   │   ├── input.testlang
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── testlang.ctags
│   ├── parser-specific-fields-with-scripts.d/
│   │   ├── exit-expected.txt
│   │   ├── input.testlang
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── testlang.ctags
│   ├── parser-specific-fields.d/
│   │   ├── input.unknownx
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── pattern-length-limit.d/
│   │   ├── input-iso-8859-1.py
│   │   ├── input-utf8.py
│   │   ├── input.java
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── pretend-option.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-dont-emit-to-stdout-by-default.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-emits-even-when-rewinding.d/
│   │   ├── README
│   │   ├── exit-expected.txt
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-extra-desc.d/
│   │   ├── input.robot
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-field-sec.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-in-optlib-parser.d/
│   │   ├── input.foo
│   │   ├── input.sh
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-kind-desc.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-kind-sep.d/
│   │   ├── exit-expected.txt
│   │   ├── input.php
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-output-excmd.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-proc-cwd-including-tab.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-proc-cwd.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-role-desc.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-alias.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-broken-input.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── target.tags
│   ├── readtags-canonicalize-input-names.d/
│   │   ├── drive-letter0.tags
│   │   ├── drive-letter1.tags
│   │   ├── exit-expected.txt
│   │   ├── good-ptags.tags
│   │   ├── good0.tags
│   │   ├── good1.tags
│   │   ├── good2.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-combine.d/
│   │   ├── backward.tags
│   │   ├── exit-expected.txt
│   │   ├── forward.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-default-field-val.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-conflicting-actions.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-in-sorter.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   └── run.sh
│   ├── readtags-error-no-action.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-no-input.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-escaping.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── output2.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter-op-regex-extraction.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter-op-tr.d/
│   │   ├── input.cpp
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-list-pseudo-tags.d/
│   │   ├── ptag-sort-no.tags
│   │   ├── ptag-sort-yes.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-dls.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-escaping.d/
│   │   ├── exit-expected.txt
│   │   ├── pseudo-input-b_.tags
│   │   ├── pseudo-input-bb.tags
│   │   ├── pseudo-input-bt.tags
│   │   ├── pseudo-name-b_.tags
│   │   ├── pseudo-name-bb.tags
│   │   ├── pseudo-name-bt.tags
│   │   ├── regular-input-b_.tags
│   │   ├── regular-input-bb.tags
│   │   ├── regular-input-bt.tags
│   │   ├── regular-kind-b_.tags
│   │   ├── regular-kind-bb.tags
│   │   ├── regular-name-b_.tags
│   │   ├── regular-name-bb.tags
│   │   ├── regular-name-bt.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-escaping2.d/
│   │   ├── example-_-_.tags
│   │   ├── example-_-b.tags
│   │   ├── example-_-s.tags
│   │   ├── example-e-_.tags
│   │   ├── example-e-b.tags
│   │   ├── example-e-s.tags
│   │   ├── example-u-_.tags
│   │   ├── example-u-b.tags
│   │   ├── example-u-s.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-begin.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── sample.c
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-broken-exp.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── readtags-qualifier-end-field.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-exp-with-garbage.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── readtags-qualifier-nth-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-downcase-upcase.d/
│   │   ├── input.cpp
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-length.d/
│   │   ├── input.el
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-list.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-regexp-quote.d/
│   │   ├── exit-expected.txt
│   │   ├── input.x
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── readtags-qualifier-op-string-append.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-regex.d/
│   │   ├── input.hxx
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-sf-cond.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier.d/
│   │   ├── base.c
│   │   ├── base.py
│   │   ├── c.tags
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── roles.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-simple-listing.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── sorted.tags
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-cmp_or-sform.d/
│   │   ├── README.md
│   │   ├── exit-expected.txt
│   │   ├── input.d/
│   │   │   ├── bar.c
│   │   │   ├── decl.h
│   │   │   └── foo.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-if-sform-order.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-if-sform.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter.d/
│   │   ├── .ctags.d/
│   │   │   ├── 0.ctags
│   │   │   └── src.list
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── src/
│   │   │   ├── input-area.cpp
│   │   │   ├── input-volume.cpp
│   │   │   └── input.h
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-stdin.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-with-list-pseudo-tags.d/
│   │   ├── ptag-sort-no.tags
│   │   ├── ptag-sort-yes.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── regex-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── regex-patterns-from-file.d/
│   │   ├── input.c
│   │   ├── list.regex
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── reset-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── roledef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── roles-field-optscript.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ruby-scope-loop-oom.d/
│   │   ├── README
│   │   ├── a.rb
│   │   ├── b.rb
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── run-as-etags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── sandbox-crash.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── sandbox-default-req.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-no-eager-guessing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-unknown-submode.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-with-eager-guessing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── scopesep.d/
│   │   ├── input.tcl
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── selector-dont-select-disabled-lang.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-select-C-for-dot-h.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-select-perl6-for-dot-pm.d/
│   │   ├── input0.pm
│   │   ├── input1.pm
│   │   ├── input2.pm
│   │   ├── input3.pm
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-xml-root-elelement.d/
│   │   ├── input.xml
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── sorted-list-languages.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── subparser-direction.d/
│   │   ├── input.cc
│   │   ├── input.mojom
│   │   ├── mojom-bidirectional.ctags
│   │   ├── mojom-dedicated.ctags
│   │   ├── mojom-default.ctags
│   │   ├── mojom-shared.ctags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tab-in-parser-specific-field.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tag-relative-option-in-etags.d/
│   │   ├── indirect/
│   │   │   └── src/
│   │   │       └── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tag-relative-option-no-optarg.d/
│   │   ├── exit-expected.txt
│   │   └── run.sh
│   ├── tag-relative-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tags-output-typed-fields.d/
│   │   ├── input.c
│   │   ├── input.ctst
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── tmain-example.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── tmain-skip-example.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── trace-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── two-inputs-requiring-scope-stack.d/
│   │   ├── a.dts
│   │   └── b.dts
│   ├── unreadable-input.d/
│   │   ├── input-1.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── utils.sh
│   ├── version-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── versioning.d/
│   │   ├── broken-extra.ctags
│   │   ├── broken-field.ctags
│   │   ├── broken-kind.ctags
│   │   ├── broken-role.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── test.ctags
│   │   ├── warning-extra.ctags
│   │   ├── warning-field.ctags
│   │   ├── warning-kind.ctags
│   │   └── warning-role.ctags
│   ├── w32-slash-in-exclude-option.d/
│   │   ├── input.d/
│   │   │   ├── capture_me/
│   │   │   │   └── input.c
│   │   │   ├── dont_capture_me/
│   │   │   │   └── input.c
│   │   │   └── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── warn-garbage-on-ostack.d/
│   │   ├── exit-expected.txt
│   │   ├── garbage.ctags
│   │   ├── input.garbage
│   │   ├── input.kconfig
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── warn-reusing-kind-letter.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── wildcard-in-lang-of-fields-option.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── wrong-parser-name-in-field.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── xref-output-common-fields.d/
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── xref-output-formatting-parser-specific-field.d/
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── xref-output-ptag-in-list-extras.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── xref-output-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   └── xref-output-typed-fields.d/
│       ├── input.c
│       ├── input.ctst
│       ├── input.rst
│       ├── run.sh
│       ├── stderr-expected.txt
│       └── stdout-expected.txt
├── Units/
│   ├── afl-fuzz.r/
│   │   ├── github-issue-528-sml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sml
│   │   ├── github-issue-529-bas.d/
│   │   │   └── input.bas
│   │   ├── github-issue-530-css.d/
│   │   │   └── input.css
│   │   ├── github-issue-531-make.d/
│   │   │   └── input.mk
│   │   ├── github-issue-532-vim.d/
│   │   │   └── input.vim
│   │   ├── github-issue-536-flex.d/
│   │   │   └── input.as
│   │   ├── github-issue-537-beta.d/
│   │   │   └── input.bet
│   │   ├── github-issue-538-sql.d/
│   │   │   └── input.sql
│   │   ├── github-issue-539-js.d/
│   │   │   └── input.js
│   │   ├── github-issue-540-fortran.d/
│   │   │   └── input.f
│   │   ├── github-issue-541-json.d/
│   │   │   └── input.json
│   │   ├── github-issue-542-vhdl.d/
│   │   │   └── input.vhdl
│   │   ├── github-issue-543-eiffel.d/
│   │   │   └── input.e
│   │   ├── github-issue-625-r.d/
│   │   │   └── input.r
│   │   ├── github-issue-627-perl.d/
│   │   │   └── input.pl
│   │   └── github-issue-628-vera.d/
│   │       └── input.vr
│   ├── csharp-review-needed.r/
│   │   ├── array_ref_and_out.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── attributes.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1515910.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1611054.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1800065.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1830343.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1830344.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug2411878.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── events.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── general.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── indexer.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── interface_indexers.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── interface_properties.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── internal.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_abstract.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_catch_try.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_class.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_const.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_delegate.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_enum.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_event.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_explicit.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_extern.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_implicit.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_interface.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_namespace.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_out.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_override.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_params.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_private.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_protected.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_public.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_sealed.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_static.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_struct.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_virtual.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_volatile.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   └── property.cs.t/
│   │       ├── expected.tags
│   │       └── input.cs
│   ├── extension-with-template-suffix.d/
│   │   ├── expected.tags
│   │   └── input.c.in
│   ├── extra-anonymous.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.js
│   │   └── input.c
│   ├── extra-disabling-anonymous.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.js
│   │   └── input.c
│   ├── extra-file-scope-option.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── extra-total-lines.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── foo.h
│   │   └── input.c
│   ├── flags-langdef-directions.r/
│   │   ├── bidirectional.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   ├── dedicated.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   ├── default.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   └── shared.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.sub
│   │       └── input.base
│   ├── foreign-tags.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.docc
│   ├── fuzz-hitting-assertions.r/
│   │   ├── README
│   │   ├── csharp-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── d-fha-0.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── eiffel-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── java-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── systemverilog-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sv
│   │   ├── vera-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.vr
│   │   └── verilog-fha-0.d/
│   │       ├── expected.tags
│   │       └── input.v
│   ├── guest-in-optlib-single-line.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.single
│   │   ├── input-1.single
│   │   ├── input-2.single
│   │   └── input.single
│   ├── main-guessing.r/
│   │   ├── nolang-modeline-emacs-after-shbang.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-eof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-firstline0.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-firstline1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim0-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim0-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim1-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim1-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim2-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim2-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-zsh-autoload.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-zsh-compdef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   └── nolang-shebang-python3.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nolang
│   ├── matlab-tg-corpus.d/
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.m
│   ├── mtable-simple-with-continuation.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── mtable-simple-with-table-extending.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── mtable-simple.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── noext-tg-matlab.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.nolang
│   ├── noext-tg-objc.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.nolang
│   ├── objc-tg-corpus.d/
│   │   ├── expected.tags
│   │   └── input.m
│   ├── option-add-alias.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.nolang
│   ├── option-disable-kind-in-both.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-disable-kind-in-builtin.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.c
│   ├── option-disable-kind-in-regex.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-extradef.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.py
│   ├── option-file-tags-no.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mk
│   ├── option-file-tags.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mk
│   ├── option-input-file.d/
│   │   ├── README
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-lang-compatibility.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.foo
│   ├── option-langmap-ext--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-ext--pat-ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.zzz
│   ├── option-langmap-ext-pat--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-pat--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-pat--pat-ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.zzz
│   ├── option-regex-attaching-role.r/
│   │   ├── extending-existing-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   └── standing-alone-line-parser.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.foo
│   ├── option-same-kind-in-regex-and-builtin.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.c
│   ├── optlib-recursive.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   ├── input.cof
│   │   └── optlib/
│   │       └── lang/
│   │           ├── a.ctags
│   │           ├── b.ctags
│   │           ├── c.ctags
│   │           ├── d.ctags
│   │           └── e.ctags
│   ├── optlib-simple.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   ├── input.coffee
│   │   └── optlib/
│   │       └── coffee.ctags
│   ├── optscript.r/
│   │   ├── op-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-anongen.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-extras.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-inherits.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-intervaltab.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── op-line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-markplaceholder.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-matchloc2line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-not-traced.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-reftag.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-taction.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-tagloc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-traced.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.unknown
│   │   ├── op-typeref.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   └── with-foreignLanguage-flag.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.c
│   │       └── input.xxx
│   ├── paramdef.r/
│   │   ├── no-set.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.foo
│   ├── parser-I18nRubyGem.r/
│   │   ├── language-force.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.i18n
│   │   ├── locale-kind.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── no-language-force.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── no-locale.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── qualified.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── simple-I18nRubyGem.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   └── symbols.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       ├── input-0.yml
│   │       └── input.yml
│   ├── parser-ada.r/
│   │   ├── ada-adb.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-ads.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ads
│   │   ├── ada-block-tracking.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   └── validator
│   │   ├── ada-char-literal.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-end-without-designator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   └── validator
│   │   ├── ada-entry.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   ├── input_0.gpr
│   │   │   ├── input_1.adb
│   │   │   └── input_1.ads
│   │   ├── ada-etags-suffix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-e
│   │   │   ├── input.ads
│   │   │   ├── input_0.adb
│   │   │   └── input_0.ads
│   │   ├── ada-expression-function-with-generic.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-expression-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-function.d/
│   │   │   ├── args.ctags
│   │   │   └── input.broken
│   │   ├── ada-generic-in-package.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-e
│   │   │   ├── input.ads
│   │   │   ├── input_1.adb
│   │   │   └── input_2.ads
│   │   ├── ada-is-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ada
│   │   ├── ada-label.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-overriding.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.ads
│   │   │   ├── input_2.adb
│   │   │   └── input_3.ads
│   │   ├── ada-partial-bug.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-partial-bug2.d/
│   │   │   └── input.adb
│   │   ├── ada-partial-type.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ads
│   │   ├── ada-protected.d/
│   │   │   └── input.adb
│   │   ├── ada-separate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.adb
│   │   │   └── input.adb
│   │   ├── ada-string-literal.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-type-new-without-with.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   └── ada-whitespaces-between-id-and-colon.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.adb
│   ├── parser-ansibleplaybook.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.yml
│   │   └── play-name.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.yml
│   ├── parser-ant.r/
│   │   ├── regex-based.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   ├── xpath-based-unix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   └── xpath-based.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.xml
│   ├── parser-asciidoc.r/
│   │   ├── anchor-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asciidoc
│   │   ├── anchor-invalid-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adoc
│   │   ├── one-character-title.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adoc
│   │   ├── simple-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asciidoc
│   │   └── utf8-asciidoc.d/
│   │       ├── expected.tags
│   │       └── input.asc
│   ├── parser-asm.r/
│   │   ├── 68hc11.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── asm-cpp-macro-expansion-cmdline.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-limitation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-multi-line-args-last-items.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-multi-line-args.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.S
│   │   │   ├── input-1.S
│   │   │   ├── input-2.S
│   │   │   ├── input-3.S
│   │   │   ├── input-4.S
│   │   │   ├── input-5.S
│   │   │   ├── input-6.S
│   │   │   ├── input-7.S
│   │   │   └── input.S
│   │   ├── bd32.s.d/
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── bug538629.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── cpp-parameter-false.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── cpp-parameter-true.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── crash-when-deleting-token.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.S
│   │   ├── directive-before-label.d/
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-comment-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-linesep-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-linesep.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-section.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.s
│   │   │   ├── input-1.s
│   │   │   └── input.s
│   │   ├── gas.s.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── label-capturing.d/
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── label-just-before-comment-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── label-just-before-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── macro-params.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── masm.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── moniker.x68.d/
│   │   │   ├── expected.tags
│   │   │   └── input.x68
│   │   └── unbalanced-end-macro.d/
│   │       ├── expected.tags
│   │       └── input.S
│   ├── parser-autoconf.r/
│   │   ├── disabling-m4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── forcing-autoconf-and-disabling-m4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── nested-block.ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── no-string-literal.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── simple.ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   └── simple2.ac.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ac
│   ├── parser-autoit.r/
│   │   └── simple-au3.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.au3
│   ├── parser-automake.r/
│   │   ├── disable-make-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── eof-value.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.am
│   │   ├── langstack.am.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── noinst.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── objprefix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── simple.am.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   └── subdirs.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.am
│   ├── parser-awk.r/
│   │   ├── functions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.awk
│   │   ├── gawk-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── simple-awk.d/
│   │   │   ├── expected.tags
│   │   │   └── input.awk
│   │   └── simple2-awk.d/
│   │       ├── expected.tags
│   │       └── input.awk
│   ├── parser-basic.r/
│   │   ├── basic-labels.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-decls.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-namespace.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── simple.bas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   └── simple.bb.d/
│   │       ├── expected.tags
│   │       └── input.bb
│   ├── parser-bats.r/
│   │   └── bats-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.bats
│   ├── parser-bibtex.r/
│   │   └── bib-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.bib
│   ├── parser-c.r/
│   │   ├── anonymous-param-in-broken-paramlist.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── attr-attached-to-array-failed.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attr-attached-to-array.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── backslash-in-input.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bit_field.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── broken-input-cxx-operator.d/
│   │   │   └── input.c
│   │   ├── bug1020715.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1085585.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1086609.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1198.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1201689.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1458930.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1466117.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1491666.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1764143.h.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug2554.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug507864.c.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug556645.c.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug556646.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug945.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug950.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-define-mixed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-digraphs.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-keyword-alignas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-knr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-label.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-multichars-between-single-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-sample.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-size_t-wchar_t-typedef.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-struct-var-with-initializer.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-trigraphs.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-var-initialized-using-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── complex_decl.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── cxx-keywords-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── cxx-scope-keywords.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── directives-2.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── directives.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── end-field-of-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── end-field-of-var.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── enum-bit-fields.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── enum.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── extern_variable.h.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── func-after-typedef-for-fptr-returning-enum.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── func-after-typedef-for-fptr-returning-struct.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── func_typedef.h.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── if0.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── line_directives.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── local.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macrodef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-empty-arg.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-typeof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-with-linenum-adjustment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macros.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── option-disable-undef.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties-thread.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── prototype.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── recursive-macros-2.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── recursive-macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── spurious_label_tags.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── static_array.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── using-cxx-keyword-in-c-code.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   └── vardef-surrounded-by-parentheses.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.c
│   ├── parser-cargo.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.cargo
│   ├── parser-clojure.r/
│   │   ├── broken-ns.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.clj
│   │   │   ├── input-1.clj
│   │   │   └── input.clj
│   │   ├── clojure-def-in-unknown-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-metadata-in-fn.d/
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-metadata-in-ns.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.clj
│   │   │   └── input.clj
│   │   ├── clojure-methods.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-vars.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   └── simple-clojure.d/
│   │       ├── expected.tags
│   │       └── input.clj
│   ├── parser-cmake.r/
│   │   ├── cmake-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-option.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-project.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-scoped-variable.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-target.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   └── cmake-variable.d/
│   │       ├── expected.tags
│   │       └── input.cmake
│   ├── parser-cobol-to-review.r/
│   │   ├── HelloWorld.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── HelloWorldFree.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── HelloWorldLatin1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── MALFORMED.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── README
│   │   ├── TEST-PRINTER.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-PRINTER2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-PRINTER3.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-SINGLE-QUOTES.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── VIRTUAL-PRINTER.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   └── VIRTUAL-PRINTER2.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cbl
│   ├── parser-cobol-to-review2.r/
│   │   ├── FETCHTBL.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── INSERTTBL.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── README
│   │   └── sqlca.d/
│   │       ├── expected.tags
│   │       └── input.cbl
│   ├── parser-cobol.r/
│   │   ├── comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── helloworld.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── helloworld2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── issue-1324.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── levels.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── quoted-program-id.cbl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   └── simple.cbl.d/
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.cbl
│   ├── parser-cpreprocessor.r/
│   │   ├── asm-area.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   ├── input-2.c
│   │   │   ├── input-3.c
│   │   │   ├── input-4.c
│   │   │   ├── input-5.c
│   │   │   ├── input-6.c
│   │   │   ├── input-7.asm
│   │   │   └── input.c
│   │   ├── backslash-in-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── capture-params-in-macro-defs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── disable-cpp-client--clinet-kind.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-client--cpp-kind.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-client.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dts
│   │   ├── if0-false-with-param.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── if0-true-with-param.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macro-condition-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── macrodef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── macroexpand.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── macros-specified-with-param.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── simple-cpreprocessor.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── skip-newlines-in-literals.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── unget-mbyte-string.d/
│   │   │   ├── README
│   │   │   ├── input-0.lds
│   │   │   ├── input-1.java
│   │   │   ├── input-2.lds
│   │   │   ├── input-3.java
│   │   │   └── input.java
│   │   └── unget-multi-bytes-string.d/
│   │       ├── README
│   │       ├── input-0.lds
│   │       ├── input-1.java
│   │       ├── input-2.lds
│   │       └── input.java
│   ├── parser-csharp.r/
│   │   └── nullable-parameters.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cs
│   ├── parser-css.r/
│   │   ├── css-at-rules.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-at-supports.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-attribute-selectors.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-comma-no-space.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-namespace-selectors.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-pseudo-classes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-singlequote-in-comment-issue2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-tag-types.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   └── css-trivial.d/
│   │       ├── expected.tags
│   │       └── input.css
│   ├── parser-cuda.r/
│   │   ├── cuda-sample.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cu
│   │   └── param-with-default-value.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cuh
│   ├── parser-cxx.r/
│   │   ├── 1117-using-in-c.d/
│   │   │   └── input.c
│   │   ├── README
│   │   ├── alignas-in-struct.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── angle_bracket.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── attribute-alias.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attribute-sections.cpp-no-ldscript.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attribute-sections.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── attribute.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── blocks-nesting-too-deep.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cxx
│   │   │   ├── input-1.cxx
│   │   │   └── input.cxx
│   │   ├── brackets.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── broken-input.d/
│   │   │   └── input.cc
│   │   ├── bug-github-1111.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1671.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1675.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1781.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-2263.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── bug-github-2538.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-3019.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   └── input.cpp
│   │   ├── bug-github-3413.cpp.d/
│   │   │   ├── README
│   │   │   └── input.hpp
│   │   ├── bug-github-871.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-pull-972.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-issue-3166.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── bug1020715.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1093123.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1187505.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1252.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1548443.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1563476.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1575055.cpp.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1585745.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1770479.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1773926.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799340.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799343-1.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799343-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1907083.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1924919.cpp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug639639.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug639644.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug665086.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug834.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug849591.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug852368.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug872494.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── c-header-as-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── class-inheritance.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── class.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── complex-macros.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.cpp
│   │   ├── cpp-type-alias-with-using-keyword.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cpp_destructor.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx-keyword-alignas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── cxx-keywords-as-c-identifiers.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── gen-expected-tags.sh
│   │   │   ├── gen-input.sh
│   │   │   ├── input.h
│   │   │   └── keywords.sh
│   │   ├── cxx-shift-operators-in-template-parameters.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-attributes.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-broken-nested-attributes.cpp.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cxx
│   │   │   └── input.cxx
│   │   ├── cxx11-constexpr-variable.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-delete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-final.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-lambdas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-noexcept.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-override.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-raw-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-user-defined-literals.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── cxx11enum.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx14-combined.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx14-digit-separator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── digraph-and-template-angle-confliction.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hh
│   │   ├── end-field-for-prototype-kind.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── enum-in-a-struct--with-q-extra.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── export-2.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-3.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-namespace-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-using.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── extern.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── field-nth.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── foreach.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── func-name-in-parentheses.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.c
│   │   ├── function-return-type-via-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── function-return-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── function_try_block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── functions.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── ignoring-macro-with-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hxx
│   │   ├── import-4.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   └── input.cpp
│   │   ├── import-5.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   ├── input-7.cpp
│   │   │   └── input.cpp
│   │   ├── import-6.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   └── input.cpp
│   │   ├── initializer-list.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input.h
│   │   │   ├── validator
│   │   │   ├── validator-0
│   │   │   ├── validator-1
│   │   │   ├── validator-2
│   │   │   ├── validator-3
│   │   │   └── validator-4
│   │   ├── inline-variables.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── instantiation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── instantiation2.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── iostream.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── k-and-r.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── keyword-in-return-type.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── less-than-operator-between-anglebrackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── member-with-initial-value.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── modules-1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   ├── input-7.cpp
│   │   │   ├── input-8.cpp
│   │   │   ├── input-9.cpp
│   │   │   ├── input.cpp
│   │   │   ├── validator
│   │   │   ├── validator-0
│   │   │   ├── validator-2
│   │   │   ├── validator-8
│   │   │   └── validator-9
│   │   ├── modules-8.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.cpp
│   │   ├── more-decltypes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── namespace-alias-in-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace-and-preprocessor.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace-and-scope.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── new-delete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── operators.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── out-range-input-for-isspace.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── partition.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   └── input.cpp
│   │   ├── pointer-to-array.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties-consteval.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties-constexpr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties-constinit.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── prototype-starting-from-scope-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── rojas.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── scope-of-using-in-lambda-in-enum.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── signature.cpp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── struct-keyword-not-for-defining-struct.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── template-member-forward-declaration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── template-member-function-pointer-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── template-nested-triangle-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.hpp
│   │   │   ├── input-1.hpp
│   │   │   ├── input-2.hpp
│   │   │   ├── input-3.hpp
│   │   │   ├── input.hpp
│   │   │   └── validator-2
│   │   ├── template-parameters.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── template-prototype.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── template-specializations-including-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── template-specializations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-enable-if.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-in-labmdas-1.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-in-labmdas-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates3.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates5.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates6.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── templates7.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── templates8.d/
│   │   │   ├── README
│   │   │   └── input.cpp
│   │   ├── typedef-of-function-ptr-with-macro.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── typedefs.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── unclosed-angle-bracket.d/
│   │   │   ├── README
│   │   │   └── input.cxx
│   │   ├── using-in-template.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── using.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variable-declarations.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variable-templates.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   └── input.cpp
│   │   ├── variables-in-control-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variables-prototypes-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   └── variables-prototypes.cpp.b/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cpp
│   ├── parser-d.r/
│   │   ├── d-accessmod.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── d-size_t-wchar_t-alias.d/
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── simple.d.d/
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   └── templates.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.d
│   ├── parser-dbus-inspect.r/
│   │   ├── node-as-root-with-dtd.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   ├── node-as-root-without-dtd.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   └── simple-dbus-inspect.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.xml
│   ├── parser-dbus-service.r/
│   │   └── simple.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.service
│   ├── parser-dtd.r/
│   │   ├── colons-in-name.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── condtion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── elements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mod
│   │   ├── fq.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── notation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── parameter-entities.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   └── simple-dtd.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.dtd
│   ├── parser-dts.r/
│   │   ├── dts-core-dump.d/
│   │   │   └── input.dts
│   │   ├── dts-fq-core-dump.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.dts
│   │   ├── dts-fq-without-scope-field.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dts
│   │   └── dts-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.dts
│   ├── parser-eiffel.r/
│   │   ├── aliases.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── attributes.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── class.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── deprecated-syntax.e.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── functions.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── inherit-rename.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── local-kind.e.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── note.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── obsolete.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── procedures.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   └── verbatim.e.d/
│   │       ├── expected.tags
│   │       └── input.e
│   ├── parser-elixir.r/
│   │   ├── elixir-callbacks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-exceptions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-records.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-sign-operators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-tests.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   └── elixir-word-operators.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ex
│   ├── parser-elm.r/
│   │   ├── elm-aliases.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-bad-lines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   ├── input-2.elm
│   │   │   ├── input-3.elm
│   │   │   └── input.elm
│   │   ├── elm-case-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-complex-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-constructor-signatures.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-expressions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-if-then-else.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-imports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   └── input.elm
│   │   ├── elm-just-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-let-in.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   ├── input-2.elm
│   │   │   ├── input-3.elm
│   │   │   ├── input-4.elm
│   │   │   ├── input-5.elm
│   │   │   └── input.elm
│   │   ├── elm-multiline-strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-namespaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-optlist-compatibility.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-parameter-capture.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-parameter-patterns.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-ports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-single-expressions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-type-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   └── elm-types.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-1.elm
│   │       └── input.elm
│   ├── parser-emacsLisp.r/
│   │   ├── definitions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   ├── misleading-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   ├── newline.b/
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   └── simple-emacsLisp.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.el
│   ├── parser-erlang.r/
│   │   └── crash1.d/
│   │       └── input.erl
│   ├── parser-flex.r/
│   │   ├── as-first-token.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── const.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── const2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── flex_comment.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── flex_only_mxml.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── flex_with_actionscript.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── method-attributes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── packages.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   └── sampler.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.as
│   ├── parser-forth.r/
│   │   └── simple-forth.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.fth
│   ├── parser-fortran.r/
│   │   ├── array-spec.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── array_spec.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── auto.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── bug565813.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug620288.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── bug629.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug670433.f90.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug726712.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug726875.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug734933.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug858165.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug877956.f90.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.f90
│   │   ├── byte.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── char-selector.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── common-json.f.d/
│   │   │   ├── expected.tags-json
│   │   │   └── input.f
│   │   ├── common-xref.f.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.f
│   │   ├── common.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── continuation.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── debian_432872.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── dollars-in-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.f
│   │   │   └── validator
│   │   ├── dopbl2.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── fortran-abstract-implementation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-abstract-interface.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-associate.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-bind-c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-block.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-derived-type-params.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-enum.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-extends-qualifier.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-forall.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-interface.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-linkname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── fortran-method.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-pointer.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-procedure-qualifiers.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-procedure.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-protected.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-square-parens.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-submodule.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── implied_program.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── initialization.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── invalid_name.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── lanus.for.d/
│   │   │   ├── expected.tags
│   │   │   └── input.for
│   │   ├── misc_types.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── misc_types.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── multi-input-fixed-then-free.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.f90
│   │   │   └── input.f
│   │   ├── multi-input-free-then-fixed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.f
│   │   │   └── input.f90
│   │   ├── namelist.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── numlib.f90.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── pure_elem.f95.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.f95
│   │   ├── recursive.f95.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f95
│   │   ├── reset-newline-state.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.f90
│   │   │   ├── input-2.f90
│   │   │   └── input.f90
│   │   ├── semicolon.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── stdcall.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── structure.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── union.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   └── value.f.d/
│   │       ├── expected.tags
│   │       └── input.f
│   ├── parser-function-parameters.r/
│   │   ├── perl-fp-test.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.pl
│   │       └── input.pl
│   ├── parser-fypp.r/
│   │   ├── cont.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── emptyline.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── first-if-area.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── if-cont.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── if-with-no-endif.d/
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── run-alt-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── run-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── segv.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.fy
│   │   └── simple-fypp.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.fy
│   ├── parser-gdscript.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   └── input.gd
│   │   ├── class_name-extends-no-implicit-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── class_name-extends.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── inner-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── modifiers.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── no-implicit-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── sample.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   └── signal.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gd
│   │       ├── input-1.gd
│   │       └── input.gd
│   ├── parser-gemspec.r/
│   │   └── simple-gemspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gemspec
│   │       ├── input-1.gemspec
│   │       └── input.gemspec
│   ├── parser-go.r/
│   │   ├── github-issue-2430.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-anonmember.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-crash-issue-2220.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-dont-solve-type-for-underscore-var.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-end-field-for-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-funcs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-goroutines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-helloworld.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-ignore-underscore-var.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.go
│   │   │   ├── input-1.go
│   │   │   ├── input-2.go
│   │   │   ├── input-3.go
│   │   │   ├── input-4.go
│   │   │   ├── input-5.go
│   │   │   ├── input-6.go
│   │   │   ├── input-7.go
│   │   │   └── input.go
│   │   ├── go-incomplete-func.d/
│   │   │   └── input.go
│   │   ├── go-incomplete-input.d/
│   │   │   ├── args.ctags
│   │   │   └── input.go
│   │   ├── go-interface.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── src/
│   │   │       └── ext/
│   │   │           └── iface.go
│   │   ├── go-op-less-than.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-timeouts.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-torture.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-type-aliases.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-variadic-dots-broken.d/
│   │   │   ├── args.ctags
│   │   │   └── input.go
│   │   ├── go-variadic-dots.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   └── go-vars.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.go
│   ├── parser-gperf.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gperf
│   │       ├── input-1.perf
│   │       └── input.perf
│   ├── parser-haskell.r/
│   │   ├── literate-haskell1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lhs
│   │   ├── literate-haskell2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lhs
│   │   ├── multi-line-type-signature.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hs
│   │   └── simple-haskell.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.hs
│   ├── parser-html.r/
│   │   ├── class-and-id.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── comment-in-js-2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── comment-in-js.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── comment-starter-in-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── external-files.html.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── jsp-with-bom.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.html
│   │   ├── jsp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.html
│   │   ├── script.html.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── simple.html.t/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.html
│   │   ├── string-in-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   └── whitespaces.html.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.html
│   │       └── minitrip
│   ├── parser-iPythonCell.r/
│   │   ├── customizing.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── default-formats.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   └── double-sharps.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.py
│   ├── parser-iniconf.r/
│   │   ├── ignore-utf8-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ini
│   │   └── toml-support-in-geany.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.toml
│   ├── parser-inko.r/
│   │   ├── comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── everything.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── implementations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── let.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── methods.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── objects.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   └── traits.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.inko
│   ├── parser-itcl.r/
│   │   ├── force-use.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── fq-with-namespace.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-3.d/
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── no-itcl-2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   └── simple-itcl.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.tcl
│   ├── parser-java.r/
│   │   ├── accented-latin1-identifiers.java.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── anonymous-class.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1447756.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1691412.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1777340.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1777344.java.b/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug2049723.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug2117073.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug814263.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── default-literals.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── enum.java.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── imported-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── infinite_loop.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── java-catch-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   └── java_enum.java.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.java
│   ├── parser-javascript.r/
│   │   ├── 1795612.js.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1850914.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1878155.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1880687.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 2023624.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 3470609.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── babel-decorators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug1950327.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug2777310.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug2888482.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug3036476.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug3571233.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── contextual.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── dont-append-eof-to-repr.d/
│   │   │   ├── README
│   │   │   └── input.js
│   │   ├── generators.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-1389.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-1933.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-3641.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-4005.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-780.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-900.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-arraylist.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-arrow-funcs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.js
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-async1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-async2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template-backslash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template-dollar.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-class-related-unterminated.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-comma-at-end-of-object.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-commas-and-missing-semicolons.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-complex-return.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-computed-propname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-const.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-crlf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-default-export.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-destructural-binding-todo.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.js
│   │   │   └── input.js
│   │   ├── js-destructural-binding.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.js
│   │   │   ├── input-1.js
│   │   │   ├── input-2.js
│   │   │   ├── input-3.js
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-do-while.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-empty-class-name.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-class-private.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-mixin.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-export.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-extract-empty-property-in-json.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-json
│   │   │   ├── features
│   │   │   └── input.js
│   │   ├── js-extract-empty-property.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.js
│   │   ├── js-fields.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-fq-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-func-in-method.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-function-in-arglist.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-get-and-set.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-get-and-set2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-getter-and-setter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-implicit-semicolons.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-let.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-many-functions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-methods.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-multiple-vars.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-naked-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-non-printable-in-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input0.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input3.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input4.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-object-value-shortcut.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-odd-method-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-parenthesis-rvalue.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-parse-function-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-qualified-name-after-new-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-rest-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-scope-resolution.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-scope.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-self-invoking-anon-func.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.ctags
│   │   │   └── input.js
│   │   ├── js-shebang-gjs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-node.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-nodejs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-seed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-skip-empty-property.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-static-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-string-continuation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-sub-block-scope.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-template-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-tricky-newlines.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-two-vars.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unicode-escape-iconv.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input.js
│   │   │   └── minitrip
│   │   ├── js-unicode-escape-naked-surrogate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── minitrip
│   │   ├── js-unicode-escape.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unknown-construct-nesting.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unterminated-leak.d/
│   │   │   └── input.js
│   │   ├── js-unterminated-new.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-var-at-eof.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── jsFunc_tutorial.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── no_terminator.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── qualified-contextual.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── regexp.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── secondary_fcn_name.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── shift-op-jsx.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── input-0.js
│   │   │   ├── input-1.js
│   │   │   └── input.js
│   │   ├── simple-jsx-no-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.jsx
│   │   │   └── input.jsx
│   │   ├── simple-jsx.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.jsx
│   │   │   └── input.jsx
│   │   ├── simple.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── spread-operator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── tagging-empty-name.d/
│   │   │   ├── README
│   │   │   └── input.js
│   │   └── ui5.controller.js.d/
│   │       ├── expected.tags
│   │       └── input.js
│   ├── parser-jni.r/
│   │   ├── broken.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.cpp
│   │       ├── input-1.cpp
│   │       └── input.cpp
│   ├── parser-json.r/
│   │   ├── dotted-names.d/
│   │   │   ├── expected.tags
│   │   │   └── input.json
│   │   ├── fq-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.json
│   │   ├── nulltags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.json
│   │   └── simple-json.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.json
│   │       └── validator
│   ├── parser-julia.r/
│   │   ├── corner_cases.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── empty_line.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── function_scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── import_module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── infinite_loop.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── julia_test.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── parametric_constructor.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── scoped_macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   └── struct_attributes.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.jl
│   ├── parser-kconfig.r/
│   │   ├── comment-starting-from-middle-of-lines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kconfig
│   │   ├── macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kconfig
│   │   ├── simple-kconfig.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.kconfig
│   │   │   ├── input-2.kconfig
│   │   │   ├── input-3.kconfig
│   │   │   ├── input-4.kconfig
│   │   │   └── input.kconfig
│   │   └── unbalance.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.kconfig
│   │       ├── input-1.kconfig
│   │       ├── input-2.kconfig
│   │       ├── input-3.kconfig
│   │       └── input.kconfig
│   ├── parser-kotlin.r/
│   │   ├── kotlin-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-backticks.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-destructuring.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-extensions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-generics.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-invalid-input.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-rawstrings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   └── kotlin-syntax.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.kt
│   ├── parser-ldscript.r/
│   │   ├── anon-version.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── cpp-out-of-band-chars.d/
│   │   │   ├── README
│   │   │   ├── input-0.lds
│   │   │   ├── input-1.lds
│   │   │   └── input.lds
│   │   ├── crash-when-deleting-token.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.lds
│   │   ├── discard.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── input-sections.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── ld-hello.d/
│   │   │   ├── LICENSE
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.ld
│   │   ├── ld-symtab.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.lds
│   │   ├── lds-invalid-macro-call.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── lds-macro-expansion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── multi-versions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── simple-ldscript.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── sort.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   └── versions.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.lds
│   ├── parser-lex.r/
│   │   └── simple-lex.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.l
│   ├── parser-lisp.r/
│   │   ├── misleading-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lisp
│   │   ├── more-defsomething.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lisp
│   │   ├── newline-between-tokens.b/
│   │   │   ├── expected.tags
│   │   │   └── input.l
│   │   └── simple-lisp.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.l
│   ├── parser-lua.r/
│   │   ├── lua-broken-nested-tables.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.lua
│   │   ├── lua-double-equals.d/
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-equal-after-function.d/
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-function-in-nested-tables.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-function-in-string-literal.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-skip-curly-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-skip-whitespaces-in-name.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.lua
│   │   │   └── minitrip
│   │   └── simple.lua.d/
│   │       ├── expected.tags
│   │       └── input.lua
│   ├── parser-m4.r/
│   │   ├── disabling-autoconf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── disabling-subparser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-autoconf-and-optlib.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-multi-undef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-quotestring.b/
│   │   │   ├── DESC.rst
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-switch-lang-by-ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   └── m4-switch-lang-by-m4.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.m4
│   ├── parser-make.r/
│   │   ├── bug2959889.mak.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── cpp-marcros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.mak
│   │   │   ├── input-1.mak
│   │   │   ├── input-2.mak
│   │   │   └── input.mak
│   │   ├── in-define.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.comment-in-rule.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.continuation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.gnumake-not-special-targets.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.gnumake-pattern-rules.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mk
│   │   ├── make.multi-target.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.parenthesis.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mk
│   │   ├── make.target-with-parentheses.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.variable-on-cmdline.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.variable-set-if-undefined.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── override-directive.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── same-line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── shell-assignment-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   └── simple.mak.t/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.mak
│   ├── parser-man.r/
│   │   ├── double-quoted.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.1
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.1
│   ├── parser-markdown.r/
│   │   ├── backquote.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── c-guest.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── code-block-under-items.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── empty-frontmatter.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── footnotes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── frontmatter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.md
│   │   │   ├── input.md
│   │   │   └── languages
│   │   ├── gaps-in-section-hierarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── hashtags-utf8.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── packcc-parser-running-within-code-block-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── packcc-parser-running-within-code-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── scope-field-markdown.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── section-prefixed-with-spaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── simple-markdown.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── xml-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   └── yaml-in-code-block.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.md
│   ├── parser-matlab.r/
│   │   ├── matchfail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── matlab_backtracking.m.d/
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.m
│   │   ├── matlab_setget.m.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.m
│   │   └── matlab_test.m.d/
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.m
│   ├── parser-meson.r/
│   │   ├── config-inline.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.meson
│   │   │   └── input.meson
│   │   ├── config.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   ├── escape-in-string.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   ├── modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   └── simple-meson.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.meson
│   │       ├── input-1.meson
│   │       ├── input-2.meson
│   │       ├── input-3.meson
│   │       ├── input-4.meson
│   │       ├── input-5.meson
│   │       ├── input-6.meson
│   │       └── input.meson
│   ├── parser-moose.r/
│   │   ├── no-use-only.d/
│   │   │   └── input.pm
│   │   ├── parse-overrun.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── simple-moose.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.pl
│   │   │   └── input.pl
│   │   └── wrong-position.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pl
│   ├── parser-myrddin.r/
│   │   └── simple.d/
│   │       ├── expected.tags
│   │       └── input.myr
│   ├── parser-nftables.r/
│   │   ├── family-and-hook.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-all-in-one.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-counter.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-ct_helpers.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-define_sets_and_maps.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-flowtable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-limits.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-named_ct_objects.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-quota.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-secmark.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   └── nftables-synproxy.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nft
│   ├── parser-nsis.r/
│   │   ├── include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── langstr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── section_groups.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── simple-nsis.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   └── various-sections.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nsi
│   ├── parser-objectivec.r/
│   │   ├── crash-in-parsing-protocol.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.h
│   │   │   └── input.h
│   │   ├── objc-extern-c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.m
│   │   │   └── input.h
│   │   ├── objc-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objc.m.d/
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objc_underscore.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mm
│   │   ├── objectivec_implementation.m.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objectivec_interface.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── objectivec_property.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   └── objectivec_protocol.h.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.h
│   ├── parser-ocaml.r/
│   │   ├── github-451-improved.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocamlAllKinds.ml.t/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocamlCommentInStringAllowed.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml_etags.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml_xref.d/
│   │   │   ├── expected.tags-x
│   │   │   └── input.ml
│   │   ├── ocaml_only_str.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_string_tests.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   └── ocaml_two_files.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.ml
│   │       └── input.ml
│   ├── parser-odin.r/
│   │   ├── odin-attributes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-basic.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-enums.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-foreign.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-imports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-incomplete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-procs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-structs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-unions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-vars-consts.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   └── odin-when.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.odin
│   ├── parser-openapi.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.yml
│   │   ├── crash-test.d/
│   │   │   ├── README
│   │   │   └── input.yml
│   │   ├── openapi.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.yaml
│   │   └── swagger.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.yaml
│   ├── parser-org.r/
│   │   └── simple-org.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.org
│   ├── parser-pascal.r/
│   │   ├── bug612019.pas.t/
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   ├── comment-after-keyword.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   ├── simple-pascal.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   └── various-comments.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pas
│   ├── parser-perl.r/
│   │   ├── bug612621.pl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── bug842077.pl.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── curly-bracket.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── format.pl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── no-heredoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.pl
│   │   │   └── input.pl
│   │   ├── package.pm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-autoloader.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── perl-pod-after-end-no-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.pl
│   │   │   └── input.pl
│   │   ├── perl-pod-after-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.pl
│   │   │   └── input.pl
│   │   ├── perl-selfloader.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-two-line-package.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── simple.pl.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── skip-heredoc.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.pl
│   │       └── input.pl
│   ├── parser-php.r/
│   │   ├── anonymous_functions.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── bug681824.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── classes.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── combined.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── coverage.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── mode.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── nullable-return-type-decl.d/
│   │   │   ├── args.tags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-7-4-typed-props-with-use-trait.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-7-4-typed-props.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-anonymous-classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-anonymous_functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-bug681824.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-case_sensitivity.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-echo-tag.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-full-qualified-tags-no-esc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-full-qualified-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-heredoc-cr.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-heredoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-marker.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown-lang
│   │   ├── php-mode.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-namespaces.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-namespaces2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-php5_5_class_kw.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-return-type-declaration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-semi-reserved-keywords.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-traits.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-use.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-whitespaces.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.php
│   │   │   └── minitrip
│   │   ├── run-as-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── run-as-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── run-guest-nested.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── run-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── run-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── simple.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── traits.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── whitespaces.php.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.php
│   │   │   └── minitrip
│   │   ├── wp-guest-crlf.b/
│   │   │   ├── .gitattributes
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── wp-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── wp-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   └── xml.d/
│   │       ├── expected.tags
│   │       └── input.php
│   ├── parser-pod.r/
│   │   ├── broken-levels.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pod
│   │   └── simple-pod.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pod
│   ├── parser-powershell.r/
│   │   ├── class-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── enum-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── filter-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── herestring.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.ps1
│   │   │   ├── input-1.ps1
│   │   │   ├── input-2.ps1
│   │   │   ├── input-3.ps1
│   │   │   ├── input-4.ps1
│   │   │   ├── input-5.ps1
│   │   │   ├── input-6.ps1
│   │   │   └── input.ps1
│   │   └── simple-powershell.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ps1
│   ├── parser-prolog.r/
│   │   ├── code.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── dcg.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pl
│   │   │   └── validator
│   │   ├── simple-flat-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pl
│   │   │   └── validator
│   │   ├── simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── validator
│   ├── parser-protobuf.r/
│   │   ├── package-name-including-dot.d/
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── protobuf-group.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── protobuf-oneof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── simple-protobuf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── syntax-proto3.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   └── version-2-3-files.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.proto
│   │       └── input.proto
│   ├── parser-puppetManifest.r/
│   │   ├── README.md
│   │   ├── class-with-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── nested-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── node.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-aliastest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-append.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pp
│   │   │   └── validator
│   │   ├── puppet-argumentdefaults.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-arithmetic_expression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-arraytrailingcomma.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-casestatement.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classheirarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classincludes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classpathtest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection_override.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection_within_virtual_definitions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-componentmetaparams.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-componentrequire.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-deepclassheirarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-defineoverrides.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-definitionname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyclass.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyexec.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyif.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyifelse.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-falsevalues.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-filecreate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-fqdefinition.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-fqparents.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-funccomma.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-hash.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-ifexpression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-implicititeration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multilinecomments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multipleclass.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multipleinstances.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multisubs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-namevartest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-scopetest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-selectorvalues.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-simpledefaults.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-simpleselector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singleary.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singlequote.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singleselector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-subclass_name_duplication.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-tag.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.pp
│   │   ├── puppet-tagged.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.pp
│   │   ├── puppet-virtualresources.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── root-sep.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── typealias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── unless.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── validator
│   │   └── varname.d/
│   │       ├── expected.tags
│   │       └── input.pp
│   ├── parser-python.r/
│   │   ├── async.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── blanks.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1764148.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bug1764148
│   │   ├── bug1809024.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1856363.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1906062.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988026.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988027.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988130.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug2075402.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug3168705.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug699171.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── cython-external.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── cython_sample.pyx.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── cython_sample2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── dotted-variable-leftovers.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── f-strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── matrix-multiplication-operator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-arglist.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-class-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── nested-parenthesis.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── newlines-cr.b/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── newlines-crlf.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── pep604-bar-operator-for-union.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── py-skipped-string.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-anonymous-nestlevel_ctags-bug-356.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-arguments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-decorators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-disable-member-kind.d/
│   │   │   ├── args.ctags
│   │   │   └── input.py
│   │   ├── python-dot-in-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-dotted-variable.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-end-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-fullqualified-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-geany-bug-612.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-keyword-tabulation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-local-lambdas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-local-variables.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-no-declaration.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-statement-with-lambdas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-statement.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-semicolon.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python2-arglists.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python3-arglists.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python3-function-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── reserved-words.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── simple.py.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── simpleNamespace.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.py
│   │   │   └── input.py
│   │   ├── strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── tabindent.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── test.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── toplevel-funcall-with-keyword-args.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-after-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-default-arg.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-list.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── type-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.py
│   │   │   └── input.py
│   │   ├── typehint.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.py
│   │   │   └── validator
│   │   ├── underscore-numeric-literals.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   └── variable-annotations.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.py
│   ├── parser-qemuhx.r/
│   │   ├── disable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   ├── enable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   ├── optscript-translation.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   └── rst.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.hx
│   ├── parser-qtmoc.r/
│   │   └── simple-qt.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.h
│   ├── parser-quarto.r/
│   │   ├── simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.qmd
│   │   └── unexecuted-block.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.qmd
│   ├── parser-r.r/
│   │   ├── r-avoid-duplication.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-broken-input.d/
│   │   │   ├── README
│   │   │   ├── input-0.r
│   │   │   ├── input-1.r
│   │   │   ├── input-2.r
│   │   │   └── input.r
│   │   ├── r-dataframe.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-dots.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-extended.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-external-entities.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.r
│   │   │   └── input.r
│   │   ├── r-list-indexing.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-loop-counters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-nested-vector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-2.r
│   │   │   ├── input-3.r
│   │   │   ├── input-4.r
│   │   │   ├── input-5.r
│   │   │   ├── input-6.r
│   │   │   ├── input-7.r
│   │   │   ├── input-8.r
│   │   │   └── input.r
│   │   ├── r-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-upper-scope-assignement.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-uppercase-extension.d/
│   │   │   ├── expected.tags
│   │   │   └── input.R
│   │   └── r-vector.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.r
│   ├── parser-r6class.r/
│   │   ├── infinite-loop.d/
│   │   │   ├── input-0.r
│   │   │   └── input.r
│   │   ├── r6-null-pointer-regression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r6prefix.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   └── simple-r6class.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.r
│   ├── parser-rake.r/
│   │   ├── anonymous.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   ├── crash.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   ├── simple-rake.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   └── xtasks.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.rake
│   │       ├── input-1.rake
│   │       └── input.rake
│   ├── parser-raku.r/
│   │   ├── raku-bunch1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rakumod
│   │   ├── raku-bunch2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rakumod
│   │   └── raku-package.d/
│   │       ├── expected.tags
│   │       └── input.rakumod
│   ├── parser-rdoc.r/
│   │   ├── run-as-guest.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rb
│   │   │   └── languages
│   │   ├── simple-rdoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rdoc
│   │   │   └── languages
│   │   └── too-deep-level.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.rdoc
│   │       └── languages
│   ├── parser-relaxng.r/
│   │   ├── element.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.rng
│   │   └── grammar.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.rng
│   ├── parser-restructuredtext.r/
│   │   ├── citation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── code-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rst
│   │   │   ├── input-1.rst
│   │   │   ├── input-2.rst
│   │   │   └── input.rst
│   │   ├── iso8859-1-restructuredtext.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── markup-line-with-spaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── simple-restructuredtext.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── substdef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── target-restructuredtext.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── title.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rst
│   │   │   ├── input-1.rst
│   │   │   ├── input-2.rst
│   │   │   └── input.rst
│   │   └── utf8-restructuredtext.d/
│   │       ├── expected.tags
│   │       └── input.rst
│   ├── parser-rmarkdown.r/
│   │   ├── frontmatter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rmd
│   │   │   └── languages
│   │   └── simple-rmarkdown.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.rmd
│   ├── parser-robot.r/
│   │   ├── dashes-in-identifiers.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   ├── keyword-started-from-varref.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   ├── simple-robot-no-extra.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   └── simple-robot.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.robot
│   ├── parser-rpmMacros.r/
│   │   ├── lua.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.macros
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.macros
│   │       ├── input-1.macros
│   │       ├── input-2.macros
│   │       └── input.macros
│   ├── parser-rpmspec.r/
│   │   ├── empty-line-in-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.spec
│   │   └── simple-rpmspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.spec
│   ├── parser-rspec.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.rb
│   │   └── simple-rspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.rb
│   ├── parser-ruby.r/
│   │   ├── bug1742588.rb.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rb
│   │   │   └── input.rb
│   │   ├── ruby-anonymouse-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-attr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-block-assign.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-block-call.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-class-method-in-lt-lt-self.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-class-method-with-prefixing-self.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-curly-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rb
│   │   │   ├── input-1.rb
│   │   │   ├── input-2.rb
│   │   │   └── input.rb
│   │   ├── ruby-define-method.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-doc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-geany-sf-bug-302.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-geany-sf-bug-542.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-inheritance.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-kind-option.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-library.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-methods-for-visiblity.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-mixin-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-modules-indirect.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-namespaced-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-scope-after-anonymous-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-sending-define-method.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-sf-bug-364.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-signature-field-complicated.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-signature-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-skip-data.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── simple.rb.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   └── validator
│   ├── parser-rust.r/
│   │   ├── defs-in-macro-arguments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-const-fn.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rs
│   │   │   └── input.rs
│   │   ├── rust-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.rs
│   │   ├── rust-test_input.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-test_input2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-visibility-spec.d/
│   │   │   ├── args.crags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   └── rust-vstringput-eof.d/
│   │       ├── README
│   │       └── input.rs
│   ├── parser-scdoc.r/
│   │   ├── end-with-subsection.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scd
│   │   └── simple-scdoc.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.scd
│   ├── parser-scheme.r/
│   │   ├── scheme-simple-define.d/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   ├── scheme-simple-setbang.d/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   ├── scheme-srfi-30-comment.b/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   └── scheme-string.b/
│   │       ├── expected.tags
│   │       └── input.scm
│   ├── parser-scss.r/
│   │   ├── function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── mixin.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── placeholder.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── selectors.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── use.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   └── variable.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.scss
│   ├── parser-selinux-interface.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.if
│   ├── parser-selinux-type-enforcement.r/
│   │   ├── modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.te
│   │   │   └── input.te
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.te
│   ├── parser-sh.r/
│   │   ├── array-alike-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── function-identifiers-bash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── function-identifiers-no-function-keyword-bash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── sh-alias.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.zsh
│   │   │   └── input.sh
│   │   ├── sh-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-broken.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-broken2.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-checks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-env-with-no-command.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-external-libs-and-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.sh
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-external-libs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.sh
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-packcc-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-packcc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-herestring.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-modeline-1-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-modeline-2-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-modeline-at-eof-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-quoted-func.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-source.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-spaces-in-funcdef.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.sh
│   │   │   └── minitrip
│   │   ├── sh-statements.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── simple.ksh.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ksh
│   │   ├── simple.sh.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   └── zsh-traced-function.d/
│   │       ├── expected.tags
│   │       └── input.zsh
│   ├── parser-sinex.r/
│   │   ├── degraded_length.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── degraded_missing_end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── degraded_missing_start.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── ok_4_blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   └── trailing_spaces.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.snx
│   ├── parser-sql.r/
│   │   ├── 3184782.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1324663.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1428714.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1570779.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1938565.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1944150.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug2961855.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug629115.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug722501.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug823000.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── comment-as-identifier.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── countall.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── db-trig.s

================================================
FILE CONTENTS
================================================

================================================
FILE: .ctags.d/exclusion.ctags
================================================
# Exclude directories that don't contain real code
--exclude=Units
--exclude=tinst-root
--exclude=Tmain


================================================
FILE: .dir-locals.el
================================================
;; Don't forget putting (add-hook 'hack-local-variables-hook (lambda () (editorconfig-apply))) to your .emacs.
((c-mode . ((c-file-style . "linux"))))


================================================
FILE: .editorconfig
================================================
root = true

[*]
end_of_line = lf
insert_final_newline = true

[*.{c,h,sh}]
indent_size = 4
indent_style = tab
trim_trailing_whitespace = true
tab_width = 4

[misc/packcc/packcc.c]
indent_size = 4
indent_style = space
trim_trailing_whitespace = true
tab_width = 4

[*.{ctags,ps}]
indent_size = 4
indent_style = space
trim_trailing_whitespace = true
tab_width = 4

[{Makefile*,*.mak}]
indent_size = 8
indent_style = tab
trim_trailing_whitespace = true
tab_width = 8

[*.rst*]
indent_size = 4
indent_style = tab
trim_trailing_whitespace = true
tab_width = 4

[gnulib/*.{c,h}]
tab_width = 8

[misc/optlib2c]
trim_trailing_whitespace = true

[win32/*.{bat,sln,vcxproj,vcxproj.filters}]
end_of_line = crlf

[win32/*.vcxproj*]
insert_final_newline = false


================================================
FILE: .gdbinit
================================================
define pst
    call ps(st)
end


================================================
FILE: .gitattributes
================================================
*	text=auto

/win32/*.bat	text eol=crlf
/win32/*.sln	text eol=crlf
/win32/*.vcxproj	text eol=crlf
/win32/*.vcxproj.filters	text eol=crlf


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
(
Thank you for contacting us.

If you are reporting an issue with the parsing output, please fill
the following template.  As your custom CTags configuration can
affect results, please always use `--options=NONE` as the first
option when running `ctags`.

Otherwise, delete the template and write your issue from scratch.
Examples may help developers understanding your issue better.

Use GitHub web interface and markdown notation.
Using mail results broken text rendering that makes
the developers go crazy.
)

*****

The name of the parser:


The command line you used to run ctags:

```
$ ctags --options=NONE ...
```

The content of input file:

```C
/* THIS IS AN EXAMPLE */
int
main(void)
{
	...
```

The tags output you are not satisfied with:

```
!_THIS_IS_AN_EXAMPLE
mainVoid	foo.c	/^main(void)$/;"	kind:function	line:2	language:C	typeref:typename:int	signature:(void)	roles:def
...
```

The tags output you expect:

```
!_THIS_IS_AN_EXAMPLE
main	foo.c	/^main(void)$/;"	kind:function	line:2	language:C	typeref:typename:int	signature:(void)	roles:def
...
```

The version of ctags:

```
$ ctags --version
Universal Ctags 0.0.0(EXAMPLE), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: May 11 1018, 23:16:36
  URL: https://ctags.io/
  Optional compiled features: +wildcards, +regex, +iconv, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml
```

How do you get ctags binary:

(
Building it locally, via GNU/Linux distribution, as BSD's package,
win32 binary taken from Universal-ctags/ctags-win32 project, macosx
binary taken from Universal-ctags/homebrew-universal-ctags project,
etc.
)


================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: "github-actions" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "weekly"


================================================
FILE: .github/workflows/building-with-nmake.yml
================================================
name: build with Vistual Studio / NMake

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  test:

    strategy:
      fail-fast: false
      matrix:
        version: [2022]
        arch: [x64, x86]

    runs-on: windows-${{ matrix.version }}

    defaults:
      run:
        shell: cmd /C {0}

    steps:
      - run: choco install -y file

      - uses: actions/checkout@v6

      - name: setup nmake
        run: |
          if "${{ matrix.version }}" == "2019" (
            set "XX= (x86)"
          ) else (
            set "XX="
          )

          @echo on

          echo call "C:\Program Files%XX%\Microsoft Visual Studio\${{ matrix.version }}\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} > nmake-setup.cmd
          type nmake-setup.cmd

      - name: build libiconv
        run: |
          @echo on

          git clone --depth=1 https://github.com/koron/libiconv libiconv-source
          cd libiconv-source\msvc10

          call "${{ github.workspace }}\nmake-setup.cmd"
          nmake NODEBUG=1 NOMSVCRT=1

      - name: install libiconv
        run: |
          @echo on

          mkdir libiconv-installed\include
          mkdir libiconv-installed\lib

          copy  libiconv-source\msvc10\iconv.h   libiconv-installed\include
          copy  libiconv-source\msvc10\iconv.lib libiconv-installed\lib
          copy  libiconv-source\msvc10\iconv.dll .

      - name: build ctags with nmake
        run: |
          @echo on
          call nmake-setup.cmd
          nmake -f mk_mvc.mak WITH_ICONV=yes ICONV_DIR=libiconv-installed PDB=yes

      - run: dir

      - name: dumpbin ctags.exe
        run: |
          @echo on
          call nmake-setup.cmd
          dumpbin /dependents ctags.exe

      - run: file ctags.exe
      - run: ctags.exe --version


================================================
FILE: .github/workflows/building-with-pegof.yml
================================================
name: build ctags with pegof and run units target on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:

    strategy:
      matrix:
        os: [ubuntu-24.04]

    runs-on: ${{ matrix.os }}

    env:
       DEBIAN_FRONTEND: noninteractive

    steps:
      - run: sudo apt -y update
      - run: sudo apt -y install cmake g++ pkg-config automake libseccomp-dev libjansson-dev libyaml-dev libxml2-dev libpcre2-dev bash gdb python3-docutils
      # cmake and g++ are used to build pegof

      - uses: actions/checkout@v6

      - uses: actions/checkout@v6
        with:
          repository: dolik-rce/pegof
          submodules: recursive
          fetch-tags: true
          path: pegof

      - run: cmake -S pegof -B pegof/build.d
      - run: cmake --build     pegof/build.d

      - run: pegof/build.d/pegof --version

      - run: ./autogen.sh
      - run: ./configure --enable-debugging --enable-iconv --with-pegof=$PWD/pegof/build.d/pegof

      - run: make -j2

      - run: ./ctags --list-features | grep pegof

      - run: |
          echo "Targets: $(./ctags --list-languages=_packcc |  while read LANG REST; do echo "$LANG"; done | tr '\n' ',')"
      - run: make units LANGUAGES="$(./ctags --list-languages=_packcc |  while read LANG REST; do echo "$LANG"; done | tr '\n' ',')"
      - run: make dist
        # See EXTRA_DIST in Makefile.am.
        # Currently we add .pego files.


================================================
FILE: .github/workflows/code-coverage-on-ubuntu.yml
================================================
name: upload coverage report to codecov.io

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  coverage:

    runs-on: ubuntu-22.04

    env:
      DEBIAN_FRONTEND: noninteractive

      CC: gcc

    steps:
    - uses: actions/checkout@v6
      with:
        fetch-depth: 0

    - run: sudo apt-get -y -o APT::Immediate-Configure=false update
    - run: sudo apt-get -y -o APT::Immediate-Configure=false install bash pkg-config automake gcc gdb lcov libseccomp-dev libjansson-dev libyaml-dev libxml2-dev libpcre2-dev

    - run: gcc --version
    - run: make --version

    - run: ./autogen.sh

    - run: mkdir -p build.d

    - run: cd build.d && ../configure --enable-debugging --enable-coverage-gcov
    - run: cd build.d && make -j2

    - run: cd build.d && ./ctags --list-features
    - run: cd build.d && ./ctags --help
    - run: cd build.d && ./ctags --version

    - run: cd build.d && make check
    - run: cd build.d && make roundtrip

    - run: cd build.d && lcov -c -b . -d . -o coverage.info

    - uses: codecov/codecov-action@v5
      with:
        files: build.d/coverage.info
        name: travis-ubuntu-latest
        token: ${{ secrets.CODECOV_TOKEN }}


================================================
FILE: .github/workflows/cross-compile-for--netbsd-on-ubuntu.yml
================================================
name: cross compile for NetBSD on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        netbsd-release-version: ['10.1', '10.0', '9.4', '9.3']
        # https://ftp.netbsd.org/pub/NetBSD/

    runs-on: ubuntu-latest

    env:
      CC: clang --target=amd64-unknown-netbsd --sysroot=${{ github.workspace }}/amd64-unknown-netbsd-sysroot
      CFLAGS:  -I${{ github.workspace }}/amd64-unknown-netbsd-3rdroot/include -fPIC
      LDFLAGS: -L${{ github.workspace }}/amd64-unknown-netbsd-3rdroot/lib
      PKG_CONFIG_PATH: ${{ github.workspace }}/amd64-unknown-netbsd-3rdroot/lib/pkgconfig

    steps:
      - uses: actions/checkout@v6

      - run: sudo apt-get -y update
      - run: sudo apt-get -y install clang cmake make automake autoconf pkg-config curl file

      - run: install -d amd64-unknown-netbsd-sysroot
      - run: install -d amd64-unknown-netbsd-3rdroot

      - name: install amd64-unknown-netbsd-sysroot
        run: |
          for item in base comp
          do
            FILENAME="$item.tar.xz"
            curl -LO "https://ftp.netbsd.org/pub/NetBSD/NetBSD-${{ matrix.netbsd-release-version }}/amd64/binary/sets/$FILENAME"
            tar vxf "$FILENAME" -C amd64-unknown-netbsd-sysroot
          done

      - name: build zlib
        run: |
          install -d src/zlib
          cd         src/zlib
          curl -L -o src.tar.gz https://distfiles.macports.org/zlib/zlib-1.3.1.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          sed -i 's|/share/pkgconfig|/lib/pkgconfig|' CMakeLists.txt
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF
          cmake --build build.d
          cmake --install build.d

      - name: build libiconv
        run: |
          install -d src/libiconv
          cd         src/libiconv
          curl -L -o src.tar.gz https://distfiles.macports.org/libiconv/libiconv-1.17.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-netbsd --prefix=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot --enable-extra-encodings --enable-static --disable-shared
          make V=1
          make install

      - name: build libxml2
        run: |
          install -d src/libxml2
          cd         src/libxml2
          curl -L -o src.tar.gz https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-netbsd --prefix=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot --with-zlib --without-lzma --without-python --without-readline --without-coverage --enable-ipv6 --enable-static --disable-shared LIBS=-liconv
          make V=1
          make install

      - name: build libyaml
        run: |
          install -d src/libyaml
          cd         src/libyaml
          curl -L -o src.tar.gz https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-netbsd --prefix=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot
          make V=1
          make install

      - name: build jansson
        run: |
          install -d src/jansson
          cd         src/jansson
          curl -L -o src.tar.gz https://github.com/akheron/jansson/releases/download/v2.14/jansson-2.14.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DJANSSON_BUILD_DOCS=OFF -DJANSSON_COVERAGE=OFF -DJANSSON_EXAMPLES=OFF -DJANSSON_WITHOUT_TESTS=ON
          cmake --build build.d
          cmake --install build.d

      - name: build libpcre2
        run: |
          install -d src/libpcre2
          cd         src/libpcre2
          curl -L -o src.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-netbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DCMAKE_C_STANDARD=99 -DCMAKE_C_STANDARD_REQUIRED=ON -DPCRE2_BUILD_PCRE2_8=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_BUILD_PCRE2GREP=OFF -DPCRE2_BUILD_TESTS=OFF -DPCRE2_SUPPORT_VALGRIND=OFF -DPCRE2_SUPPORT_UNICODE=ON
          cmake --build build.d
          cmake --install build.d

      - run: ./autogen.sh
      - run: |
          ./configure --host=amd64-unknown-netbsd --prefix=${{ github.workspace }}/uctags-netbsd-amd64 --enable-static || {
            cat config.log
            exit 1
          }
      - run: make V=1
      - run: make install

      - run: readelf -h ctags
      - run: readelf -d ctags
      - run: file ctags | grep NetBSD


================================================
FILE: .github/workflows/cross-compile-for-android-on-macos.yml
================================================
name: cross compile for Android on macOS

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  cross-compile:
    strategy:
      fail-fast: false
      matrix:
        build-machine-os: [macos-15, macos-14, macos-26]

    runs-on: ${{ matrix.build-machine-os }}

    steps:
      - uses: actions/checkout@v6

      - run: brew install make automake autoconf file

      - run: ./autogen.sh

      - name: Run ./configure ...
        run: |
          TOOLCHAIN_BASE_DIR=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64
          TOOLCHAIN_BIN_DIR=$TOOLCHAIN_BASE_DIR/bin
          SYSROOT=$TOOLCHAIN_BASE_DIR/sysroot

          export CC=$TOOLCHAIN_BIN_DIR/armv7a-linux-androideabi24-clang
          export AR=$TOOLCHAIN_BIN_DIR/llvm-ar
          export RANLIB=$TOOLCHAIN_BIN_DIR/llvm-ranlib

          export CFLAGS="--sysroot $SYSROOT -Qunused-arguments -Os -fpic"
          export CPPFLAGS="--sysroot $SYSROOT -Qunused-arguments"
          export LDFLAGS="--sysroot $SYSROOT"

          ./configure \
              --host=armv7a-linux-androideabi \
              --disable-iconv \
              --disable-xml \
              --disable-json \
              --disable-yaml \
              --disable-pcre2

      - run: make V=1

      - run: file ctags | grep 'ELF 32-bit LSB pie executable, ARM, EABI5'


================================================
FILE: .github/workflows/cross-compile-for-android-on-ubuntu.yml
================================================
name: cross compile for Android on ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  cross-compile:
    strategy:
      fail-fast: false
      matrix:
        build-machine-os: [ubuntu-24.04, ubuntu-22.04]

    runs-on: ${{ matrix.build-machine-os }}

    steps:
      - uses: actions/checkout@v6

      - run: sudo apt-get -y -o APT::Immediate-Configure=false update
      - run: sudo apt-get -y -o APT::Immediate-Configure=false install gcc make automake autoconf file

      - run: ./autogen.sh

      - name: Run ./configure ...
        run: |
          TOOLCHAIN_BASE_DIR=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
          TOOLCHAIN_BIN_DIR=$TOOLCHAIN_BASE_DIR/bin
          SYSROOT=$TOOLCHAIN_BASE_DIR/sysroot

          export CC=$TOOLCHAIN_BIN_DIR/armv7a-linux-androideabi24-clang
          export AR=$TOOLCHAIN_BIN_DIR/llvm-ar
          export RANLIB=$TOOLCHAIN_BIN_DIR/llvm-ranlib

          export CFLAGS="--sysroot $SYSROOT -Qunused-arguments -Os -fpic"
          export CPPFLAGS="--sysroot $SYSROOT -Qunused-arguments"
          export LDFLAGS="--sysroot $SYSROOT"

          set -ex

          ./configure \
              --host=armv7a-linux-androideabi \
              --disable-iconv \
              --disable-xml \
              --disable-json \
              --disable-yaml \
              --disable-pcre2

      - run: make V=1

      # pie executable or shared object
      - run: file ctags | grep 'ELF 32-bit LSB .*, ARM, EABI5'


================================================
FILE: .github/workflows/cross-compile-for-freebsd-on-ubuntu.yml
================================================
name: cross compile for FreeBSD on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        freebsd-release-version: ['14.2', '14.1', '14.0', '13.4', '13.3', '13.2', '13.1', '13.0']
        # https://archive.freebsd.org/old-releases/amd64/

    runs-on: ubuntu-latest

    env:
      CC: clang --target=amd64-unknown-freebsd --sysroot=${{ github.workspace }}/amd64-unknown-freebsd-sysroot
      CFLAGS:  -I${{ github.workspace }}/amd64-unknown-freebsd-3rdroot/include -fPIC
      LDFLAGS: -L${{ github.workspace }}/amd64-unknown-freebsd-3rdroot/lib
      PKG_CONFIG_PATH: ${{ github.workspace }}/amd64-unknown-freebsd-3rdroot/lib/pkgconfig

    steps:
      - uses: actions/checkout@v6

      - run: sudo apt-get -y update
      - run: sudo apt-get -y install clang cmake make automake autoconf curl file

      - run: install -d amd64-unknown-freebsd-sysroot
      - run: install -d amd64-unknown-freebsd-3rdroot

      - run: curl -L -o amd64-unknown-freebsd-sysroot.txz https://archive.freebsd.org/old-releases/amd64/${{ matrix.freebsd-release-version }}-RELEASE/base.txz
      - run: tar vxf    amd64-unknown-freebsd-sysroot.txz -C amd64-unknown-freebsd-sysroot

      - name: build zlib
        run: |
          install -d src/zlib
          cd         src/zlib
          curl -L -o src.tar.gz https://distfiles.macports.org/zlib/zlib-1.3.1.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          sed -i 's|/share/pkgconfig|/lib/pkgconfig|' CMakeLists.txt
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF
          cmake --build build.d
          cmake --install build.d

      - name: build libiconv
        run: |
          install -d src/libiconv
          cd         src/libiconv
          curl -L -o src.tar.gz https://distfiles.macports.org/libiconv/libiconv-1.17.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-freebsd --prefix=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot --enable-extra-encodings --enable-static --disable-shared
          make V=1
          make install

      - name: build libxml2
        run: |
          install -d src/libxml2
          cd         src/libxml2
          curl -L -o src.tar.gz https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-freebsd --prefix=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot --with-zlib --without-lzma --without-python --without-readline --without-coverage --enable-ipv6 --enable-static --disable-shared LIBS=-liconv
          make V=1
          make install

      - name: build libyaml
        run: |
          install -d src/libyaml
          cd         src/libyaml
          curl -L -o src.tar.gz https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-freebsd --prefix=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot
          make V=1
          make install

      - name: build jansson
        run: |
          install -d src/jansson
          cd         src/jansson
          curl -L -o src.tar.gz https://github.com/akheron/jansson/releases/download/v2.14/jansson-2.14.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DJANSSON_BUILD_DOCS=OFF -DJANSSON_COVERAGE=OFF -DJANSSON_EXAMPLES=OFF -DJANSSON_WITHOUT_TESTS=ON
          cmake --build build.d
          cmake --install build.d

      - name: build libpcre2
        run: |
          install -d src/libpcre2
          cd         src/libpcre2
          curl -L -o src.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-freebsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DCMAKE_C_STANDARD=99 -DCMAKE_C_STANDARD_REQUIRED=ON -DPCRE2_BUILD_PCRE2_8=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_BUILD_PCRE2GREP=OFF -DPCRE2_BUILD_TESTS=OFF -DPCRE2_SUPPORT_VALGRIND=OFF -DPCRE2_SUPPORT_UNICODE=ON
          cmake --build build.d
          cmake --install build.d

      - run: ./autogen.sh
      - run: |
          ./configure --host=amd64-unknown-freebsd --prefix=${{ github.workspace }}/uctags-freebsd-amd64 --enable-static || {
            cat config.log
            exit 1
          }
      - run: make V=1
      - run: make install

      - run: readelf -h ctags
      - run: readelf -d ctags
      - run: file ctags | grep FreeBSD


================================================
FILE: .github/workflows/cross-compile-for-openbsd-on-ubuntu.yml
================================================
name: cross compile for OpenBSD on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        openbsd-release-version: ['7.8', '7.7']
        # https://cdn.openbsd.org/pub/OpenBSD/

    runs-on: ubuntu-latest

    env:
      CC: clang --target=amd64-unknown-openbsd --sysroot=${{ github.workspace }}/amd64-unknown-openbsd-sysroot
      CFLAGS:  -I${{ github.workspace }}/amd64-unknown-openbsd-3rdroot/include -fPIC
      LDFLAGS: -L${{ github.workspace }}/amd64-unknown-openbsd-3rdroot/lib
      PKG_CONFIG_PATH: ${{ github.workspace }}/amd64-unknown-openbsd-3rdroot/lib/pkgconfig

    steps:
      - uses: actions/checkout@v6

      - run: sudo apt-get -y update
      - run: sudo apt-get -y install clang cmake make automake autoconf pkg-config curl file

      - run: install -d amd64-unknown-openbsd-sysroot
      - run: install -d amd64-unknown-openbsd-3rdroot

      - name: install amd64-unknown-openbsd-sysroot
        run: |
          major="$(printf '%s\n' ${{ matrix.openbsd-release-version }} | cut -d. -f1)"
          minor="$(printf '%s\n' ${{ matrix.openbsd-release-version }} | cut -d. -f2)"

          for item in base comp
          do
            FILENAME="$item$major$minor.tgz"
            curl -LO "https://cdn.openbsd.org/pub/OpenBSD/${{ matrix.openbsd-release-version }}/amd64/$FILENAME"
            tar vxf "$FILENAME" -C amd64-unknown-openbsd-sysroot
          done

      - name: build zlib
        run: |
          install -d src/zlib
          cd         src/zlib
          curl -L -o src.tar.gz https://distfiles.macports.org/zlib/zlib-1.3.1.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          sed -i 's|/share/pkgconfig|/lib/pkgconfig|' CMakeLists.txt
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF
          cmake --build build.d
          cmake --install build.d

      - name: build libiconv
        run: |
          install -d src/libiconv
          cd         src/libiconv
          curl -L -o src.tar.gz https://distfiles.macports.org/libiconv/libiconv-1.17.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-openbsd --prefix=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot --enable-extra-encodings --enable-static --disable-shared
          make V=1
          make install

      - name: build libxml2
        run: |
          install -d src/libxml2
          cd         src/libxml2
          curl -L -o src.tar.gz https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-openbsd --prefix=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot --with-zlib --without-lzma --without-python --without-readline --without-coverage --enable-ipv6 --enable-static --disable-shared LIBS=-liconv
          make V=1
          make install
          cd ${{ github.workspace }}/amd64-unknown-openbsd-3rdroot/lib/pkgconfig
          sed -i '/^Requires: /d'      libxml-2.0.pc
          printf 'Requires: zlib\n' >> libxml-2.0.pc

      - name: build libyaml
        run: |
          install -d src/libyaml
          cd         src/libyaml
          curl -L -o src.tar.gz https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          ./configure --host=amd64-unknown-openbsd --prefix=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot
          make V=1
          make install

      - name: build jansson
        run: |
          install -d src/jansson
          cd         src/jansson
          curl -L -o src.tar.gz https://github.com/akheron/jansson/releases/download/v2.14/jansson-2.14.tar.gz
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DJANSSON_BUILD_DOCS=OFF -DJANSSON_COVERAGE=OFF -DJANSSON_EXAMPLES=OFF -DJANSSON_WITHOUT_TESTS=ON
          cmake --build build.d
          cmake --install build.d

      - name: build libpcre2
        run: |
          install -d src/libpcre2
          cd         src/libpcre2
          curl -L -o src.tar.gz https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
          tar vxf    src.tar.gz --strip-components=1
          cmake -S . -B build.d -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/amd64-unknown-openbsd-3rdroot -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=OFF -DJANSSON_BUILD_SHARED_LIBS=OFF -DCMAKE_C_STANDARD=99 -DCMAKE_C_STANDARD_REQUIRED=ON -DPCRE2_BUILD_PCRE2_8=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_BUILD_PCRE2GREP=OFF -DPCRE2_BUILD_TESTS=OFF -DPCRE2_SUPPORT_VALGRIND=OFF -DPCRE2_SUPPORT_UNICODE=ON
          cmake --build build.d
          cmake --install build.d

      - run: rm ${{ github.workspace }}/amd64-unknown-openbsd-3rdroot/lib/lib*.so

      - run: ./autogen.sh
      - run: |
          ./configure --host=amd64-unknown-openbsd --prefix=${{ github.workspace }}/uctags-openbsd-amd64 || {
            cat config.log
            exit 1
          }
      - run: cat config.log
      - run: make V=1
      - run: make install

      - run: readelf -h ctags
      - run: readelf -d ctags
      - run: file ctags | grep OpenBSD


================================================
FILE: .github/workflows/cross-compile-for-windows-on-macos.yml
================================================
name: cross compile for Windows on macOS

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  cross-compile:
    strategy:
      fail-fast: false
      matrix:
        build-machine-os: [macos-15, macos-14, macos-26]
        target: [i686-w64-mingw32,x86_64-w64-mingw32]

    runs-on: ${{ matrix.build-machine-os }}

    steps:
      - uses: actions/checkout@v6

      - run: brew install mingw-w64 make automake autoconf file

      - run: ./autogen.sh

      - name: Run ./configure ...
        run: |
          ./configure \
              --host=${{ matrix.target }} \
              --disable-iconv \
              --disable-xml \
              --disable-json \
              --disable-yaml \
              --disable-pcre2 \
              CC=${{ matrix.target }}-gcc \
              CFLAGS='-v' \
              AR=${{ matrix.target }}-ar \
              RANLIB=${{ matrix.target }}-ranlib \
              WINDRES=${{ matrix.target }}-windres

      - run: make V=1

      - run: file ctags.exe | grep PE32


================================================
FILE: .github/workflows/cross-compile-for-windows-on-ubuntu.yml
================================================
name: cross compile for Windows on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  cross-compile:
    strategy:
      fail-fast: false
      matrix:
        build-machine-os: [ubuntu-22.04, ubuntu-24.04]
        target: [i686-w64-mingw32,x86_64-w64-mingw32]

    runs-on: ${{ matrix.build-machine-os }}

    steps:
      - uses: actions/checkout@v6

      - run: sudo apt-get -y -o APT::Immediate-Configure=false update
      - run: sudo apt-get -y -o APT::Immediate-Configure=false install mingw-w64 gcc make automake autoconf file

      - run: ./autogen.sh

      - name: Run ./configure ...
        run: |
          ./configure \
              --host=${{ matrix.target }} \
              --disable-iconv \
              --disable-xml \
              --disable-json \
              --disable-yaml \
              --disable-pcre2 \
              CC=${{ matrix.target }}-gcc \
              CFLAGS='-v' \
              AR=${{ matrix.target }}-ar \
              RANLIB=${{ matrix.target }}-ranlib \
              WINDRES=${{ matrix.target }}-windres

      - run: make V=1

      - run: file ctags.exe | grep PE32


================================================
FILE: .github/workflows/run-citre-tests.yml
================================================
# Citre (https://github.com/universal-ctags/citre) is a readtags frontend for
# Emacs. This workflow runs unit tests of Citre to make sure changes in
# readtags doesn't break the behavior that Citre expects.

# Ref: https://github.com/universal-ctags/citre/issues/58#issuecomment-846229409

name: run Citre tests on GNU/Linux

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: ubuntu-latest

    env:
      CC: gcc
      READTAGS: '${{ github.workspace }}/readtags'

    steps:
      - uses: actions/checkout@v6
      - name: update package information
        run: sudo apt-get -y -o APT::Immediate-Configure=false update
      - name: install tools and libraries
        run: sudo apt-get -y -o APT::Immediate-Configure=false install pkg-config automake libjansson-dev libyaml-dev libseccomp-dev libxml2-dev
      - name: autogen.sh
        run: ./autogen.sh
      - name: report the version of cc
        run: $CC --version
      - name: report the version of make
        run: make --version
      - name: configure
        run: ./configure
      - name: make
        run: make
      - name: report features
        run: ./ctags --list-features
      - name: install Emacs
        run: sudo apt-get -y -o APT::Immediate-Configure=false install emacs
      - name: checkout Citre repo
        uses: actions/checkout@v6
        with:
          repository: 'universal-ctags/citre'
          path: 'citre'
      - name: run Citre unit tests for tags backend
        working-directory: 'citre'
        run: make test-tags


================================================
FILE: .github/workflows/tagging.yml
================================================
name: Create a weekly tag

on:
  schedule:
    - cron:  '0 0 * * 0'

jobs:
  tag:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - run: misc/git-tag-maybe.sh


================================================
FILE: .github/workflows/testing-bsds.yml.bak
================================================
name: run units target on FreeBSD OpenBSD NetBSD

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  freebsd:
    runs-on: macos-12

    strategy:
      fail-fast: false
      matrix:
        freebsd-version: [12,13]

    steps:
    - uses: actions/checkout@v3

    - uses: actions/cache@v2
      with:
        path: ~/.vagrant.d/boxes
        key: vagrant-generic-freebsd-${{ matrix.freebsd-version }}
        restore-keys: |
          vagrant-generic-freebsd-${{ matrix.freebsd-version }}

    # https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=freebsd
    # https://github.com/leleliu008/github-actions-vagrant
    - uses: leleliu008/github-actions-vagrant@v2
      with:
        mem: 2048
        box: generic/freebsd${{ matrix.freebsd-version }}
        log: warn
        run: |
          run pkg install -y automake pkgconf gmake python3
          run freebsd-version
          run cc --version
          run ./autogen.sh
          run ./configure --prefix=/usr
          run gmake
          run gmake install
          run file ctags
          run ctags --version
          run gmake check CI=gha+vagrant+freebsd
          run gmake roundtrip CI=gha+vagrant+freebsd

  openbsd:
    needs: freebsd
    runs-on: macos-12

    steps:
    - uses: actions/checkout@v3

    - uses: actions/cache@v2
      with:
        path: ~/.vagrant.d/boxes
        key: vagrant-generic-openbsd-7
        restore-keys: |
          vagrant-generic-openbsd-7

    - uses: leleliu008/github-actions-vagrant@v2
      with:
        mem: 2048
        box: generic/openbsd7
        log: warn
        run: |
          export AUTOCONF_VERSION=2.69
          export AUTOMAKE_VERSION=1.16
              
          export CFLAGS='-I/usr/local/include -L/usr/local/lib'
              
          if [ ! -f /usr/local/lib/libiconv.so ] ; then
            sudo ln -s /usr/local/lib/libiconv.so.* /usr/local/lib/libiconv.so
          fi
              
          run sudo pkg_add automake-1.16.3 gmake

          run cc --version
            
          run ./autogen.sh
          run ./configure --prefix=/usr
          run gmake
          run sudo gmake install
          run file /usr/bin/ctags
          run ctags --version
          # bugs to fix
          #run make check CI=gha+vagrant+openbsd
          run gmake roundtrip CI=gha+vagrant+openbsd

  netbsd:
    needs: openbsd
    runs-on: macos-12

    steps:
    - uses: actions/checkout@v3

    - uses: actions/cache@v2
      with:
        path: ~/.vagrant.d/boxes
        key: vagrant-generic-netbsd-9
        restore-keys: |
          vagrant-generic-netbsd-9

    - uses: leleliu008/github-actions-vagrant@v2
      with:
        mem: 2048
        box: generic/netbsd9
        log: warn
        run: |
          run sudo pkgin -y install mozilla-rootcerts automake autoconf pkg-config gmake

          run cc --version

          run ./autogen.sh
          run ./configure --prefix=/usr
          run gmake
          run sudo gmake install
          run file /usr/bin/ctags
          run ctags --version
          # bugs to fix
          #run make check CI=gha+vagrant+netbsd
          run gmake roundtrip CI=gha+vagrant+netbsd


================================================
FILE: .github/workflows/testing-on-alpine.yml
================================================
name: run units target on AlpineLinux

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    strategy:
      fail-fast: false
      matrix:
        tag: ['3.23', '3.22', '3.21', '3.20', '3.19', '3.18', '3.17', '3.16']

    runs-on: ubuntu-latest

    container: alpine:${{ matrix.tag }}

    steps:
      - run: apk add libc-dev gcc make automake autoconf pkgconf python3 file diffutils git pcre2-dev jansson-dev yaml-dev libxml2-dev

      # this is to fix https://github.com/actions/checkout/issues/760
      - run: git config --global --add safe.directory /__w/ctags/ctags

      - uses: actions/checkout@v6

      - run: cc --version

      - run: ./autogen.sh
      - run: ./configure --prefix=/usr
      - run: make
      - run: make install
      - run: file /usr/bin/ctags
      - run: ctags --version
      - run: make check V=1
      - run: make roundtrip


  chroot_qemu:

    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        target-arch: [loongarch64, aarch64, ppc64le, riscv64, s390x]

    timeout-minutes: 45

    steps:
      - uses: actions/checkout@v6

      - run: |
          cat > run.sh <<EOF
          set -ex

          run() {
            printf "\033[0;35m==>\033[0m \033[0;32m%b\n\033[0m" "\$*"
            eval "\$@"
          }

          run apk add libc-dev gcc make automake autoconf pkgconf python3 diffutils pcre2-dev jansson-dev yaml-dev libxml2-dev

          run ./autogen.sh
          run ./configure --enable-debugging
          run make

          run readelf -h ctags
          run readelf -d ctags

          run ./ctags --version

          run make check V=1
          run make roundtrip
          run make tmain CI=1 CTAGS_DEP= READTAGS_DEP= OPTSCRIPT_DEP=
          run make units CI=1 CTAGS_DEP=
          EOF

      - run: curl -LO https://raw.githubusercontent.com/alpinelinux/alpine-chroot-install/master/alpine-chroot-install
      - run: chmod +x alpine-chroot-install
      - run: sudo ./alpine-chroot-install -d /alpine -a ${{ matrix.target-arch }}
      - run: /alpine/enter-chroot sh run.sh


================================================
FILE: .github/workflows/testing-on-cygwin.yml
================================================
name: run units target on Cygwin

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:  
    runs-on: windows-latest

    defaults:
      run:
        shell: C:\tools\cygwin\bin\bash.exe -l -i {0}

    steps:
    # https://www.cygwin.com/faq/faq.html#faq.setup.cli
    - run: Invoke-WebRequest -OutFile setup-x86_64.exe "http://cygwin.com/setup-x86_64.exe"
      shell: pwsh

    - run: .\setup-x86_64.exe --quiet-mode --no-desktop --no-shortcuts --no-startmenu --only-site --site http://mirrors.kernel.org/sourceware/cygwin/ --root C:\tools\cygwin --local-package-dir C:\tools\cygwin\packages --packages gcc-g++,make,automake,autoconf,pkg-config,dos2unix,libiconv-devel,libjansson-devel,libxml2-devel,libyaml-devel | Out-Default
      shell: pwsh

    - run: git config --global core.autocrlf input
      shell: bash

    - uses: actions/checkout@v6
    
    - run: printf 'cd %s' "$(cygpath '${{ github.workspace }}')" >> ~/.bashrc

    - run: ./autogen.sh
    - run: ./configure --prefix=/usr
    - run: make V=1
    - run: make install
    - run: file /usr/bin/ctags
    - run: /usr/bin/ctags --version
    - run: make check V=1
    - run: make roundtrip


================================================
FILE: .github/workflows/testing-on-freebsd.yml
================================================
name: run units target on FreeBSD

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        freebsd-version: ['15.0', '14.3', '14.2', '14.1', '14.0', '13.5', '13.4', '13.3', '13.2']

    steps:
      - uses: actions/checkout@v6

      - uses: cross-platform-actions/action@master
        with:
          operating_system: freebsd
          version: ${{ matrix.freebsd-version }}
          shell: bash
          run: |
            run() {
              printf "\033[0;35m==>\033[0m \033[0;32m%b\n\033[0m" "$*"
              eval "$@"
            }

            run sudo pkg install -y automake gmake pkgconf jansson libyaml libxml2 libiconv python3

            run freebsd-version
            run cc --version

            run ./autogen.sh
            run ./configure --prefix=/usr
            run gmake
            run sudo gmake install

            run readelf -h ctags
            run readelf -d ctags

            run ctags --version

            run gmake check CI=gha+vagrant+freebsd
            run gmake roundtrip CI=gha+vagrant+freebsd


================================================
FILE: .github/workflows/testing-on-macos.yml
================================================
name: run units target on macOS

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:

    strategy:
      matrix:
        os: [macos-15, macos-14, macos-26]

    runs-on: ${{ matrix.os }}

    steps:
    - uses: actions/checkout@v6

    # temporarily disabled, because it always fails these days.
    #- run: brew update

    # NOTE: DO NOT try to install libiconv and libxml2 package via brew, because macOS already provides them.
    # NOTE: DO NOT try to install python3 package via brew, it has already been included in macos-xx runner images
    # https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md

    - if: matrix.os == 'macos-26'
      run: brew install --overwrite python@3.12

    - run: brew install automake jansson libyaml pcre2

    - run: pip3 install docutils --break-system-packages

    - run: cc --version
    - run: make --version

    - run: ./autogen.sh
    - run: ./configure --enable-debugging --enable-iconv
    - run: make -j2

    - run: ./ctags --version
    - run: ./ctags --list-features

    - run: make check
    - run: make roundtrip
    - run: make tmain
    - run: make units


================================================
FILE: .github/workflows/testing-on-msys2.yml
================================================
name: run units target on MSYS2

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: windows-latest

    strategy:
      fail-fast: false
      matrix:
        msystem: [MINGW32, MINGW64, CLANG64]

    defaults:
      run:
        shell: msys2 {0}

    steps:
    - uses: msys2/setup-msys2@v2
      with:
        msystem: ${{ matrix.msystem }}
        update: true
        install: automake autoconf make dos2unix pkg-config
        pacboy: toolchain:p python-sphinx:p jansson:p libxml2:p libyaml:p pcre2:p

    - run: git config --global core.autocrlf input
      shell: bash

    - uses: actions/checkout@v6

    - run: ./autogen.sh
    - run: ./configure --prefix=/usr
    - run: make V=1
    - run: make install
    - run: file /usr/bin/ctags
    - run: ctags --version

    - run: make check V=1

    # FAILED: "./readtags.exe" -t "/d/a/ctags2/ctags2/Units/parser-asciidoc.r/utf8-asciidoc.d/expected.tags" - "@Ѐ–𐀀"
    # The raw tag name was "@Ѐ–𐀀"
    #- run: make roundtrip

    - run: make tmain
    - run: make units


================================================
FILE: .github/workflows/testing-on-netbsd.yml
================================================
name: run units target on NetBSD

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        netbsd-version: ['10.1', '10.0', '9.4', '9.3', '9.2']

    steps:
      - uses: actions/checkout@v6

      - uses: cross-platform-actions/action@v0.32.0
        with:
          operating_system: netbsd
          version: ${{ matrix.netbsd-version }}
          shell: bash
          run: |
            run() {
              printf "\033[0;35m==>\033[0m \033[0;32m%b\n\033[0m" "$*"
              eval "$@"
            }

            # DO NOT try to install libxml2, because it has already been pre-installed
            run sudo pkgin -y install automake autoconf gmake pkg-config jansson libyaml libiconv

            run cc --version

            run ./autogen.sh
            run ./configure --prefix=/usr
            run gmake
            run sudo gmake install

            run readelf -h /usr/bin/ctags
            run readelf -d /usr/bin/ctags

            run ctags --version

            # bugs to fix
            #run make check CI=gha+vagrant+netbsd
            run gmake roundtrip CI=gha+vagrant+netbsd


================================================
FILE: .github/workflows/testing-on-openbsd.yml
================================================
name: run units target on OpenBSD

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        openbsd-version: ['7.8', '7.7', '7.6', '7.5', '7.4', '7.3', '7.2']

    steps:
      - uses: actions/checkout@v6

      - uses: cross-platform-actions/action@master
        with:
          operating_system: openbsd
          version: ${{ matrix.openbsd-version }}
          shell: bash
          run: |
            run() {
              printf "\033[0;35m==>\033[0m \033[0;32m%b\n\033[0m" "$*"
              eval "$@"
            }

            export AUTOCONF_VERSION=2.69
            export AUTOMAKE_VERSION=1.16

            export  CFLAGS='-I/usr/local/include'
            export LDFLAGS='-L/usr/local/lib'

            run sudo pkg_add autoconf%2.69 automake%1.16 gmake pkgconf jansson libyaml libxml libiconv

            run cc --version

            run ./autogen.sh
            run ./configure --prefix=/usr
            run gmake
            run sudo gmake install

            run readelf -h /usr/bin/ctags
            run readelf -d /usr/bin/ctags

            run ctags --version

            # bugs to fix
            #run make check CI=gha+vagrant+openbsd
            run gmake roundtrip CI=gha+vagrant+openbsd


================================================
FILE: .github/workflows/testing-on-ubi.yml
================================================
name: run units target on UBI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:
    strategy:
      fail-fast: false
      matrix:
        tag: ['8' ]

    runs-on: ubuntu-latest

    container: registry.access.redhat.com/ubi${{ matrix.tag }}:latest

    steps:
      - run: dnf install -y --enablerepo=ubi-${{ matrix.tag }}-appstream-rpms --enablerepo=ubi-${{ matrix.tag }}-baseos-rpms --enablerepo=ubi-${{ matrix.tag }}-codeready-builder-rpms git python3 gcc automake autoconf pkgconfig make libxml2-devel libyaml-devel pcre2-devel findutils diffutils sudo file

      # this is to fix https://github.com/actions/checkout/issues/760
      - run: git config --global --add safe.directory /__w/ctags/ctags

      - uses: actions/checkout@v6

      - run: cc --version

      - run: ./autogen.sh
      - run: ./configure --prefix=/usr
      - run: make
      - run: make install
      - run: file /usr/bin/ctags
      - run: ctags --version
      - run: make check V=1
      - run: make roundtrip


================================================
FILE: .github/workflows/testing-on-ubuntu.yml
================================================
name: run units target on Ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:

    strategy:
      matrix:
        os: [ubuntu-24.04, ubuntu-22.04]
        compiler: [gcc, clang]

    runs-on: ${{ matrix.os }}

    env:
      DEBIAN_FRONTEND: noninteractive

      CC: ${{ matrix.compiler }}

    steps:
    - uses: actions/checkout@v6
      with:
        fetch-depth: 0

    - run: sudo apt-get -y -o APT::Immediate-Configure=false update
    - run: sudo apt-get -y -o APT::Immediate-Configure=false install pkg-config automake ${{ matrix.compiler }} gdb bash python3-docutils libseccomp-dev libjansson-dev libyaml-dev libxml2-dev libpcre2-dev

    # valgrind doesn't work well with an executable built with clang 14.
    # https://forum.manjaro.org/t/valgrind-fails-possibly-corrupted-debuginfo-file/118156
    - if: matrix.compiler == 'clang' && matrix.os == 'ubuntu-22.04'
      run: |
        type clang > /dev/null && clang --version | head -1 | grep -q 14 \
        || sudo apt-get -y -o APT::Immediate-Configure=false install valgrind

    - run: ${{ matrix.compiler }} --version
    - run: make --version

    - run: ./autogen.sh

    - run: mkdir -p build.d

    - run: cd build.d && ../configure --enable-debugging --enable-iconv

    - run: make -C build.d -j2

    - run: cd build.d && ./ctags --list-features
    - run: cd build.d && ./ctags --help
    - run: cd build.d && ./ctags --version

    - run: make -C build.d check
    - run: make -C build.d roundtrip
    - run: make -C build.d dist

    #############################################################################

    - run: mkdir -p dist-src

    - run: tar xf build.d/universal-ctags*tar.gz -C dist-src --strip-components=1

    - run: mkdir -p build2.d

    - run: cd build2.d && ../dist-src/configure --enable-debugging

    - run: cd build2.d && make -j2

    - run: cd build2.d && ./ctags --list-features
    - run: cd build2.d && ./ctags --help
    - run: cd build2.d && ./ctags --version

      # Our sandbox doesn't work with gcov.
      # Following cases target ctags without gcov.
    - run: cd build2.d && make tmain UNITS=sandbox,sandbox-crash,sandbox-default-req,sandbox-unknown-submode
    - run: cd build2.d && make clean


================================================
FILE: .github/workflows/testing-with-valgrind.yml
================================================
name: run units target under VALGRIND

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  testing:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6

    - run: sudo apt-get update
    - run: sudo apt-get install valgrind pkg-config automake bash libjansson-dev libyaml-dev libseccomp-dev libxml2-dev libpcre2-dev gdb

    - run: cc --version

    - run: ./autogen.sh
    - run: ./configure --enable-debugging
    - run: make CFLAGS='-g -O0'
    - run: make units VG=1


================================================
FILE: .gitignore
================================================
*-actual.txt
*-diff.txt
*.func-sort-c.html
*.func.html
*.gcda
*.gcno
*.gcov
*.gcov.html
*.o
*.obj
*.od
*.pdf
*.pyc
*.swp
*.c3workspace
*.c3workspace.user
*.tar.gz
*.TMP
*.tmp
*~
/Makefile
/packcc
/packcc.exe
/packcc.dSYM
.cache
.deps
.dirstamp
.DS_Store
a.out
aclocal.m4
autom4te.cache
badinput
commit-stamp
compile
compile_commands.json
config.cache
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
core.*
ctags
ctags-universal*
ctags.exe
ctags.ref
ctags.ref.exe
dctags
dctags.exe
depcomp
gdb-backtrace.txt
GNUmakefile.in
install-sh
last-aclocal.m4
libctags.a
libutil.a
Makefile.in
mini-geany
mini-geany.exe
missing
mkinstalldirs
optscript
perf.data*
readtags
readtags.exe
repoinfo.h
respmvc
stamp-h1
STDERR.*
syntax.vim
tags
tags.ref
tags.test
test.*.diff
tg
tinst-root
utiltest
win32/*.aps
win32/*.opensdf
win32/*.sdf
win32/*.suo
win32/*.user
win32/[Dd]ebug/
win32/[Rr]elease/
_build
man/ctags.1
man/ctags.1.html
man/ctags.1.rst
man/ctags-*.5
man/ctags-*.5.rst
man/ctags-*.5.html
man/ctags-*.7
man/ctags-*.7.rst
man/ctags-*.7.html
man/GNUmakefile
man/readtags.1
man/readtags.1.rst
man/readtags.1.html
man/tags.5
man/tags.5.rst
man/tags.5.html
man/*.[157].in
ManTest
misc/mini-geany.actual
Tmain/**/Makefile
Tmain/**/Makefile.am
Tmain/**/Makefile.in
Units/**/Makefile
Units/**/Makefile.am
Units/**/Makefile.in
Tmain/dist.m4
Units/dist.m4
VALGRIND.tmp.core.*
gnulib/Makefile
gnulib/alloca.h
gnulib/ctype.h
gnulib/inttypes.h
gnulib/langinfo.h
gnulib/libgnu.a
gnulib/limits.h
gnulib/locale.h
gnulib/malloc/dynarray-skeleton.gl.h
gnulib/malloc/dynarray.gl.h
gnulib/stdlib.h
gnulib/string.h
gnulib/unistd.h
gnulib/wchar.h
gnulib/wctype.h
gnulib/sys/types.h


================================================
FILE: .indent.pro
================================================
--blank-before-sizeof
--blank-lines-after-procedures
--brace-indent0
--braces-after-if-line
--braces-on-struct-decl-line
--break-after-boolean-operator
--case-brace-indentation0
--case-indentation0
--comment-indentation0
--continuation-indentation4
--cuddle-do-while
--declaration-comment-column0
--declaration-indentation0
--dont-break-function-decl-args
--dont-break-procedure-type
--dont-line-up-parentheses
--honour-newlines
--indent-level4
--line-length80
--paren-indentation4
--preprocessor-indentation1
--no-blank-lines-after-commas
--space-after-cast
--space-after-for
--space-after-if
--space-after-procedure-calls
--space-after-while
--space-special-semicolon
--start-left-side-of-comments
--struct-brace-indentation4
--tab-size4


================================================
FILE: .readthedocs.yaml
================================================
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
  os: ubuntu-22.04
  tools:
    python: "3.11"

# Build documentation in the docs/ directory with Sphinx
sphinx:
  configuration: docs/conf.py

# We recommend specifying your dependencies to enable reproducible builds:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
# python:
#   install:
#   - requirements: docs/requirements.txt


================================================
FILE: .uncrustify.cfg
================================================
tok_split_gte=false
utf8_byte=false
utf8_force=false
indent_cmt_with_tabs=false
indent_align_string=false
indent_braces=false
indent_braces_no_func=false
indent_braces_no_class=false
indent_braces_no_struct=false
indent_brace_parent=false
indent_namespace=false
indent_extern=false
indent_class=false
indent_class_colon=false
indent_else_if=false
indent_var_def_cont=false
indent_func_call_param=false
indent_func_def_param=false
indent_func_proto_param=false
indent_func_class_param=false
indent_func_ctor_var_param=false
indent_template_param=false
indent_func_param_double=false
indent_relative_single_line_comments=false
indent_col1_comment=false
indent_access_spec_body=false
indent_paren_nl=false
indent_comma_paren=false
indent_bool_paren=false
indent_first_bool_expr=false
indent_square_nl=false
indent_preserve_sql=false
indent_align_assign=true
sp_balance_nested_parens=false
align_keep_tabs=false
align_with_tabs=false
align_on_tabstop=false
align_number_left=false
align_func_params=false
align_same_func_call_params=false
align_var_def_colon=false
align_var_def_attribute=false
align_var_def_inline=false
align_right_cmt_mix=false
align_on_operator=false
align_mix_var_proto=false
align_single_line_func=false
align_single_line_brace=false
align_nl_cont=false
align_left_shift=true
align_oc_decl_colon=false
nl_collapse_empty_body=false
nl_assign_leave_one_liners=false
nl_class_leave_one_liners=false
nl_enum_leave_one_liners=false
nl_getset_leave_one_liners=false
nl_func_leave_one_liners=false
nl_if_leave_one_liners=false
nl_multi_line_cond=false
nl_multi_line_define=false
nl_before_case=false
nl_after_case=false
nl_after_return=false
nl_after_semicolon=false
nl_after_brace_open=false
nl_after_brace_open_cmt=false
nl_after_vbrace_open=false
nl_after_vbrace_open_empty=false
nl_after_brace_close=false
nl_after_vbrace_close=false
nl_define_macro=false
nl_squeeze_ifdef=false
nl_ds_struct_enum_cmt=false
nl_ds_struct_enum_close_brace=false
nl_create_if_one_liner=false
nl_create_for_one_liner=false
nl_create_while_one_liner=false
ls_for_split_full=false
ls_func_split_full=false
nl_after_multiline_comment=false
eat_blanks_after_open_brace=false
eat_blanks_before_close_brace=false
mod_full_brace_if_chain=false
mod_pawn_semicolon=false
mod_full_paren_if_bool=false
mod_remove_extra_semicolon=false
mod_sort_import=false
mod_sort_using=false
mod_sort_include=false
mod_move_case_break=false
mod_remove_empty_return=false
cmt_indent_multi=true
cmt_c_group=false
cmt_c_nl_start=false
cmt_c_nl_end=false
cmt_cpp_group=false
cmt_cpp_nl_start=false
cmt_cpp_nl_end=false
cmt_cpp_to_c=false
cmt_star_cont=false
cmt_multi_check_last=true
cmt_insert_before_preproc=false
pp_indent_at_level=false
pp_region_indent_code=false
pp_if_indent_code=false
pp_define_at_level=false
input_tab_size=4
output_tab_size=4
indent_columns=4
indent_brace=0
indent_switch_case=4
nl_after_func_body=2
nl_after_func_body_one_liner=2
indent_with_tabs=1
sp_arith=add
sp_assign=add
sp_assign_default=add
sp_enum_assign=add
sp_bool=add
sp_compare=add
sp_inside_paren=remove
sp_paren_paren=remove
sp_before_ptr_star=force
sp_between_ptr_star=remove
sp_after_ptr_star=remove
sp_after_ptr_star_func=remove
sp_before_sparen=force
sp_before_semi_for_empty=force
sp_before_square=add
sp_before_squares=add
sp_after_cast=force
sp_sizeof_paren=force
sp_func_call_paren=force
sp_return_paren=force
sp_not=force
nl_start_of_file=remove
nl_end_of_file=remove
nl_enum_brace=remove
nl_struct_brace=remove
nl_union_brace=remove
nl_if_brace=add
nl_brace_else=add
nl_elseif_brace=add
nl_else_brace=add
nl_else_if=remove
nl_for_brace=add
nl_while_brace=add
nl_do_brace=add
nl_brace_while=remove
nl_switch_brace=add
nl_fdef_brace=force


================================================
FILE: COPYING
================================================
		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS

	    How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) 19yy  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) 19yy name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.


================================================
FILE: Makefile.am
================================================
ACLOCAL_AMFLAGS = -I m4
#AM_CPPFLAGS = -I$(top_builddir)/gnulib -I$(top_srcdir)/gnulib
GNULIB_DIR = gnulib
GNULIB_CPPFLAGS = -I$(top_builddir)/$(GNULIB_DIR) -I$(top_srcdir)/$(GNULIB_DIR)
GNULIB_LIBS = $(GNULIB_DIR)/libgnu.a $(LIBPTHREAD)
$(GNULIB_LIBS):
	$(MAKE) -C $(GNULIB_DIR) all
SUBDIRS = $(GNULIB_DIR) . man

include $(top_srcdir)/source.mak

PACKCC_FILES = misc/packcc/.gitignore   \
	       misc/packcc/README.md    \
	       misc/packcc/LICENSE      \
	       misc/packcc/src/packcc.c \
	       \
	       $(NULL)

VALIDATOR_SH = \
	     misc/validators/g++-common.sh			\
	     misc/validators/gfortran-common.sh			\
	     misc/validators/tsc-common.sh			\
	     misc/validators/validator-c			\
	     misc/validators/validator-cxx03			\
	     misc/validators/validator-cxx11			\
	     misc/validators/validator-cxx17			\
	     misc/validators/validator-cxx20+module		\
	     misc/validators/validator-fortran+dollar-ok	\
	     misc/validators/validator-gnat			\
	     misc/validators/validator-jq			\
	     misc/validators/validator-KNOWN-INVALIDATION	\
	     misc/validators/validator-node			\
	     misc/validators/validator-NONE			\
	     misc/validators/validator-puppet			\
	     misc/validators/validator-python			\
	     misc/validators/validator-ruby			\
	     misc/validators/validator-svlint			\
	     misc/validators/validator-swipl			\
	     misc/validators/validator-tsc			\
	     misc/validators/validator-tsc-es2015		\
	     \
	     $(NULL)

DEBUGGENS = \
	    \
	    misc/debuggen/README misc/debuggen/libdebuggen.sh \
	    \
	    misc/debuggen/rust.sh \
	    misc/debuggen/typescript.sh \
	    \
	    $(NULL)

EXTRA_DIST   = README.md NEWS.rst autogen.sh \
	       misc/optlib2c \
	       misc/enumstr.sh \
	       misc/gencxxtypedumper.sh \
	       $(DEBUGGENS) \
	       .ctags.d/exclusion.ctags .dir-locals.el .editorconfig .gdbinit .gitignore \
	       .indent.pro .uncrustify.cfg \
	       misc/ctags-optlib-mode.el \
	       misc/mk-interactive-request.sh misc/roundtrip misc/tinst \
	       $(PACKCC_FILES) \
	       $(VALIDATOR_SH) \
	       $(WIN32_HEADS) $(WIN32_SRCS) mk_mingw.mak mk_mvc.mak \
	       win32/mkstemp/COPYING.MinGW-w64-runtime.txt \
	       win32/ctags.rc win32/ctags.exe.manifest win32/resource.h \
	       win32/ctags_vs2013.sln \
	       win32/ctags_vs2013.vcxproj win32/ctags_vs2013.vcxproj.filters \
	       win32/ctags_vs2013.vcxproj.in win32/ctags_vs2013.vcxproj.filters.in \
	       win32/GNUmakefile \
	       win32/gen-repoinfo.bat \
	       misc/txt2cstr \
	       $(PEG_INPUT) $(OPTLIB2C_INPUT) $(OPTLIB2C_PCRE2_INPUT) $(TXT2CSTR_INPUT) \
	       misc/universal-ctags.svg \
	       misc/review \
	       docs Tmain Units m4/gnulib-cache.m4

if HAVE_PEGOF
# Keeping intermediate files for debugging pegof and u-ctags buildsys.
EXTRA_DIST   += $(PEGO_INTERMEDIATE)
endif

CLEANFILES =
MOSTLYCLEANFILES =
MAINTAINERCLEANFILES = autom4te.cache

# for distcheck
clean-local:
	@if test "$(top_srcdir)" != "$(top_builddir)"; then \
		rm -rf $(OPTLIB2C_SRCS) $(OPTLIB2C_PCRE2_SRCS); \
		rm -rf $(TXT2CSTR_SRCS); \
	else \
		$(MAKE) -C docs clean; \
	fi

maintainer-clean-local:
	rm -rf .deps misc/packcc/.dirstamp

bin_PROGRAMS = ctags
noinst_LIBRARIES =
noinst_LIBRARIES += libctags.a
noinst_LIBRARIES += libutil.a

noinst_PROGRAMS = utiltest

AM_LDFLAGS = $(EXTRA_LDFLAGS)

# packcc always uses native compiler even when cross-compiling.
# packcc cannot use the standard Automake rule.
PACKCC_CPPFLAGS_FOR_BUILD  = -fsigned-char
if HAVE_STRNLEN_FOR_BUILD
PACKCC_CPPFLAGS_FOR_BUILD += -DPCC_USE_SYSTEM_STRNLEN
endif

PACKCC = $(top_builddir)/packcc$(BUILD_EXEEXT)
CLEANFILES += $(PACKCC)

cc4b_verbose = $(cc4b_verbose_@AM_V@)
cc4b_verbose_ = $(cc4b_verbose_@AM_DEFAULT_V@)
cc4b_verbose_0 = @echo CC4BUILD "  $@";
$(PACKCC): $(srcdir)/$(PACKCC_SRC)
	$(cc4b_verbose)$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(PACKCC_CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $(srcdir)/$(PACKCC_SRC)

if USE_READCMD
bin_PROGRAMS+= readtags
readtags_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/main -I$(srcdir)/libreadtags
if ENABLE_DEBUGGING
readtags_CPPFLAGS+= $(DEBUG_CPPFLAGS)
endif
readtags_CFLAGS = $(EXTRA_CFLAGS) $(WARNING_CFLAGS) $(COVERAGE_CFLAGS)
dist_readtags_SOURCES = $(READTAGS_SRCS) $(READTAGS_HEADS)
readtags_CPPFLAGS += $(GNULIB_CPPFLAGS)
readtags_CPPFLAGS += -I$(srcdir)/dsl
readtags_CPPFLAGS += -DHAVE_CTAGS_INLINE_H
readtags_LDADD  =
readtags_LDADD += $(GNULIB_LIBS)
readtags_LDADD += libutil.a
dist_readtags_SOURCES += $(READTAGS_DSL_SRCS) $(READTAGS_DSL_HEADS)
endif

if HAVE_PCRE2
PARSER_SRCS += $(PCRE2_SRCS) $(OPTLIB2C_PCRE2_SRCS)
PARSER_HEADS += $(PCRE2_HEADS)
endif

if HAVE_LIBXML
PARSER_SRCS += $(XML_SRCS)
PARSER_HEADS += $(XML_HEADS)
endif

if HAVE_JANSSON
LIB_SRCS += $(JANSSON_SRCS)
LIB_HEADS += $(JANSSON_HEADS)
endif

if HAVE_LIBYAML
PARSER_SRCS += $(YAML_SRCS)
PARSER_HEADS += $(YAML_HEADS)
endif

PARSER_HEADS += $(PEG_EXTRA_HEADS)

libutil_a_CPPFLAGS = -I$(srcdir) -I$(srcdir)/main
libutil_a_CFLAGS   =
libutil_a_CFLAGS  += $(EXTRA_CFLAGS)
libutil_a_CFLAGS  += $(WARNING_CFLAGS)
libutil_a_CFLAGS  += $(COVERAGE_CFLAGS)
if ENABLE_DEBUGGING
libutil_a_CPPFLAGS+= $(DEBUG_CPPFLAGS)
endif
dist_libutil_a_SOURCES = $(UTIL_HEADS) $(UTIL_SRCS)

utiltest_CPPFLAGS   = -I$(srcdir) -I$(srcdir)/main
utiltest_CFLAGS     =
utiltest_CFLAGS    += $(EXTRA_CFLAGS)
utiltest_CFLAGS    += $(WARNING_CFLAGS)
utiltest_CFLAGS    += $(COVERAGE_CFLAGS)
if ENABLE_DEBUGGING
utiltest_CPPFLAGS  += $(DEBUG_CPPFLAGS)
endif
utiltest_LDADD  =
utiltest_LDADD += libutil.a
dist_utiltest_SOURCES = $(UTILTEST_HEADS) $(UTILTEST_SRCS)

libctags_a_CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)/main -I$(srcdir)/dsl -I$(srcdir)/peg -DHAVE_PACKCC
if ENABLE_DEBUGGING
libctags_a_CPPFLAGS+= $(DEBUG_CPPFLAGS)
endif
if HAVE_STRNLEN
libctags_a_CPPFLAGS += -DUSE_SYSTEM_STRNLEN
endif
if HAVE_PEGOF
libctags_a_CPPFLAGS += -DHAVE_PEGOF
endif
libctags_a_CPPFLAGS+= $(GNULIB_CPPFLAGS)
libctags_a_CPPFLAGS+= -DHAVE_REPOINFO_H

libctags_a_CFLAGS   =
libctags_a_CFLAGS  += $(EXTRA_CFLAGS)
libctags_a_CFLAGS  += $(WARNING_CFLAGS)
libctags_a_CFLAGS  += $(COVERAGE_CFLAGS)
libctags_a_CFLAGS  += $(CGCC_CFLAGS)
libctags_a_CFLAGS  += $(LIBXML_CFLAGS)
libctags_a_CFLAGS  += $(JANSSON_CFLAGS)
libctags_a_CFLAGS  += $(LIBYAML_CFLAGS)
libctags_a_CFLAGS  += $(SECCOMP_CFLAGS)
libctags_a_CFLAGS  += $(PCRE2_CFLAGS)

nodist_libctags_a_SOURCES = $(REPOINFO_HEADS) $(PEG_SRCS) $(PEG_HEADS)
BUILT_SOURCES = $(REPOINFO_HEADS)
CLEANFILES += $(REPOINFO_HEADS) $(PEG_SRCS) $(PEG_HEADS)
EXTRA_libctags_a_DEPENDENCIES = $(GNULIB_LIBS)
$(REPOINFO_SRCS): $(REPOINFO_HEADS)
repoinfo_verbose = $(repoinfo_verbose_@AM_V@)
repoinfo_verbose_ = $(repoinfo_verbose_@AM_DEFAULT_V@)
repoinfo_verbose_0 = @echo REPOINFO "  $@";
if BUILD_IN_GIT_REPO
GEN_REPOINFO = $(srcdir)/misc/gen-repoinfo
$(REPOINFO_HEADS): FORCE
	$(repoinfo_verbose)$(GEN_REPOINFO) $@
FORCE:
else
$(REPOINFO_HEADS):
	$(repoinfo_verbose)echo > $@
endif

SUFFIXES=

if RUN_OPTLIB2C
optlib2c_verbose = $(optlib2c_verbose_@AM_V@)
optlib2c_verbose_ = $(optlib2c_verbose_@AM_DEFAULT_V@)
optlib2c_verbose_0 = @echo OPTLIB2C "  $@";
OPTLIB2C = $(srcdir)/misc/optlib2c
OPTLIB2C_DIR = optlib
SUFFIXES += .ctags
.ctags.c:
	$(optlib2c_verbose)$(OPTLIB2C) $< > $@
$(OPTLIB2C_SRCS): $(OPTLIB2C) Makefile
if HAVE_PCRE2
$(OPTLIB2C_PCRE2_SRCS): $(OPTLIB2C) Makefile
endif
endif

if RUN_TXT2CSTR
txt2cstr_verbose = $(txt2cstr_verbose_@AM_V@)
txt2cstr_verbose_ = $(txt2cstr_verbose_@AM_DEFAULT_V@)
txt2cstr_verbose_0 = @echo TXT2CSTR "  $@";
TXT2CSTR = $(srcdir)/misc/txt2cstr
TXT2CSTR_DIR = main
SUFFIXES += .ps
.ps.c:
	$(txt2cstr_verbose)$(TXT2CSTR) $< > $@
$(TXT2CSTR_SRCS): $(TXT2CSTR) Makefile
endif

packcc_verbose = $(packcc_verbose_@AM_V@)
packcc_verbose_ = $(packcc_verbose_@AM_DEFAULT_V@)
packcc_verbose_0 = @echo PACKCC "    $@";
SUFFIXES += .peg

if HAVE_PEGOF
pegof_verbose = $(pegof_verbose_@AM_V@)
pegof_verbose_ = $(pegof_verbose_@AM_DEFAULT_V@)
pegof_verbose_0 = @echo PEGOF "    $@";
SUFFIXES += .pego

PEGOF_FLAGS = -O all
.peg.pego:
	$(pegof_verbose)$(PEGOF) $(PEGOF_FLAGS) -o $(top_builddir)/peg/$(@F) -i "$<"
.pego.c:
	$(packcc_verbose)$(PACKCC) -o $(top_builddir)/peg/$(*F) $(top_builddir)/peg/$(<F)
.pego.h:
	$(packcc_verbose)$(PACKCC) -o $(top_builddir)/peg/$(*F) $(top_builddir)/peg/$(<F)
else
.peg.c:
	$(packcc_verbose)$(PACKCC) -o $(top_builddir)/peg/$(*F) "$<"
.peg.h:
	$(packcc_verbose)$(PACKCC) -o $(top_builddir)/peg/$(*F) "$<"
endif

# You cannot use $(PACKCC) as a target name here.
$(PEG_SRCS) $(PEG_HEADS): $(PACKCC) Makefile
dist_libctags_a_SOURCES = $(ALL_LIB_HEADS) $(ALL_LIB_SRCS)

ctags_CPPFLAGS = $(libctags_a_CPPFLAGS)
ctags_CFLAGS = $(libctags_a_CFLAGS)
ctags_LDADD  = libctags.a
ctags_LDADD += $(GNULIB_LIBS)
ctags_LDADD += $(LIBXML_LIBS)
ctags_LDADD += $(JANSSON_LIBS)
ctags_LDADD += $(LIBYAML_LIBS)
ctags_LDADD += $(SECCOMP_LIBS)
ctags_LDADD += $(ICONV_LIBS)
ctags_LDADD += $(PCRE2_LIBS)
dist_ctags_SOURCES = $(CMDLINE_HEADS) $(CMDLINE_SRCS)

if HOST_MINGW
RES_OBJ = win32/ctags.res.o
ctags_LDADD += $(RES_OBJ)
windres_verbose = $(windres_verbose_@AM_V@)
windres_verbose_ = $(windres_verbose_@AM_DEFAULT_V@)
windres_verbose_0 = @echo WINDRES "   $@";
$(RES_OBJ): win32/ctags.rc win32/ctags.exe.manifest win32/resource.h
	@mkdir -p $(builddir)/win32
	$(windres_verbose)$(WINDRES) -o $@ -O coff $<
MOSTLYCLEANFILES += $(RES_OBJ)
endif

noinst_PROGRAMS += mini-geany
mini_geany_CPPFLAGS = $(libctags_a_CPPFLAGS)
mini_geany_CFLAGS = $(libctags_a_CFLAGS)
mini_geany_LDADD  = libctags.a
mini_geany_LDADD += $(GNULIB_LIBS)
mini_geany_LDADD += $(LIBXML_LIBS)
mini_geany_LDADD += $(JANSSON_LIBS)
mini_geany_LDADD += $(LIBYAML_LIBS)
mini_geany_LDADD += $(SECCOMP_LIBS)
mini_geany_LDADD += $(ICONV_LIBS)
mini_geany_LDADD += $(PCRE2_LIBS)
mini_geany_SOURCES = $(MINI_GEANY_HEADS) $(MINI_GEANY_SRCS)

bin_PROGRAMS += optscript
optscript_CPPFLAGS = $(libctags_a_CPPFLAGS)
optscript_CFLAGS = $(libctags_a_CFLAGS)
optscript_LDADD  = libctags.a
# TODO: remove these dependencies from optscript command.
optscript_LDADD += $(GNULIB_LIBS)
optscript_LDADD += $(LIBXML_LIBS)
optscript_LDADD += $(JANSSON_LIBS)
optscript_LDADD += $(LIBYAML_LIBS)
optscript_LDADD += $(SECCOMP_LIBS)
optscript_LDADD += $(ICONV_LIBS)
optscript_LDADD += $(PCRE2_LIBS)
optscript_SOURCES = $(OPTSCRIPT_SRCS)

if INSTALL_ETAGS
install-exec-hook:
	cd $(DESTDIR)$(bindir) && \
		$(LN_S) ctags$(EXEEXT) etags$(EXEEXT)

uninstall-hook:
	rm $(DESTDIR)$(bindir)/etags$(EXEEXT)
endif

dist-hook:
	rm -rf $(distdir)/docs/_build
	find $(distdir)/Tmain $(distdir)/Units \( \
		-name '*-actual.txt' -o -name '*-diff.txt' -o \
		-name '*.TMP' -o -name '*.tmp' -o -name '*~' -o \
		-name 'dist.m4' -o -name 'Makefile.am' -o \
		-name 'Makefile.in' -o -name 'Makefile' -o \
		-name 'BUNDLES' \) -exec rm -f {} +

include $(top_srcdir)/makefiles/testing.mak

include $(top_srcdir)/makefiles/help.mak


================================================
FILE: README.md
================================================
# Universal Ctags

[![Coverity Scan Build Status](https://scan.coverity.com/projects/4355/badge.svg)](https://scan.coverity.com/projects/4355)
[![Coverage Status](https://coveralls.io/repos/universal-ctags/ctags/badge.svg?branch=master&service=github)](https://coveralls.io/github/universal-ctags/ctags?branch=master)
[![Build status](https://ci.appveyor.com/api/projects/status/6hk2p5lv6jsrd9o7/branch/master?svg=true)](https://ci.appveyor.com/project/universalctags/ctags/branch/master)
[![RTD build status](https://readthedocs.org/projects/ctags/badge)](https://docs.ctags.io)
[![CircleCI Build Status](https://dl.circleci.com/status-badge/img/gh/universal-ctags/ctags/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/universal-ctags/ctags/tree/master)
![GitHub Actions/VALGRIND](https://github.com/universal-ctags/ctags/workflows/run%20units%20target%20under%20VALGRIND/badge.svg)
[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20Universal%20Ctags%20Guru-006BFF)](https://gurubase.io/g/universal-ctags)

[Universal Ctags](https://ctags.io/) (abbreviated as u-ctags) is a *maintained*
implementation of `ctags`.
`ctags` generates an index (or tag) file of language objects found in source
files for programming languages.
This index makes it easy for text editors and other tools to locate the indexed
items.

[Exuberant Ctags](http://ctags.sourceforge.net/) (e-ctags) maintained by Darren
Hiebert, the ancestor of Universal Ctags, improved traditional `ctags` with
multi-language support, the ability for the user to define new languages
searched by regular expressions (called optlib in Universal Ctags), and the
ability to generate emacs-style TAGS files.
But the activity of the project unfortunately stalled.

Universal Ctags has the objective of continuing the development of Exuberant
Ctags.
Reza Jelveh <reza.jelveh@gmail.com> initially created a personal fork of
Exuberant Ctags on GitHub.
As interest and participation grew, it was decided to move development to a
dedicated project as Universal Ctags.
The goal of this project is to maintain a common/unified working space where
people interested in making ctags better can work together.

Some of the major features of Universal Ctags are:

* more numbers of improved language support
    * new extended C/C++ language parser, etc.
* fully extended optlib (a feature to define a new language parser from a
  command line)
* interactive mode (experimental)

## The latest build and package ##

If you want to try the latest Universal Ctags without building it yourself...

### Windows
Daily builds are available at the [ctags-win32](https://github.com/universal-ctags/ctags-win32) project.
Go to the [releases](https://github.com/universal-ctags/ctags-win32/releases) page to download zip packages.

### Unix-like
Nightly builds are available at the [ctags-nightly-build](https://github.com/universal-ctags/ctags-nightly-build) project.
Go to the [releases](https://github.com/universal-ctags/ctags-nightly-build/releases) page to download tarball archives.

### Mac
Recent builds are available via the [`universal-ctags` Homebrew formula](https://formulae.brew.sh/formula/universal-ctags).

### Snap
Go to [ctags-snap](https://github.com/universal-ctags/ctags-snap) and
clone the `ctags-snap` repo. Then, follow instructions to build the
snap package of Universal Ctags. Snapcraft will automatically fetch the source
code from GitHub.

## How to build and install ##

To build with Autotools (Autoconf and Automake) on GNU/Linux, OSX, or Windows 10 WSL,
```
    $ git clone https://github.com/universal-ctags/ctags.git
    $ cd ctags
    $ ./autogen.sh
    $ ./configure  # use --prefix=/where/you/want to override installation directory, defaults to /usr/local
    $ make
    $ make install # may require extra privileges depending on where to install
```

GNU make is assumed as the `make` command.

See
[`docs/autotools.rst`](https://github.com/universal-ctags/ctags/blob/master/docs/autotools.rst)
for more information.

To build on Windows, see
[`docs/windows.rst`](https://github.com/universal-ctags/ctags/blob/master/docs/windows.rst)
for more information.

To build on OSX, see
[`docs/osx.rst`](https://github.com/universal-ctags/ctags/blob/master/docs/osx.rst)
for more information.

## Manual ##
The primary documents of Universal Ctags are man pages.
Users should first consult the
[ctags(1)](https://docs.ctags.io/en/latest/man/ctags.1.html), and [other man
pages](https://docs.ctags.io/en/latest/man-pages.html) if necessary.

[Universal Ctags Hacking Guide](https://docs.ctags.io), which also includes the
man pages, is primarily for developers and provides additional information to
the man pages, including experimental features.

See also `*/README.md` on this repository.

## Differences from exuberant-ctags ##

You may be interested in how Universal Ctags is different from Exuberant Ctags.
See
[ctags-incompatibilities(7)](https://docs.ctags.io/en/latest/man/ctags-incompatibilities.7.html)
and [Introduced changes](https://docs.ctags.io/en/latest/news.html) for details.

The most significant incompatible changes:

* Universal Ctags doesn't load `~/.ctags` and `./.ctags` at starting up time.
  Instead, it loads `~/.ctags.d/*.ctags` and `./.ctags.d/*.ctags`.

* Universal Ctags is more strict about characters that can be
  used in kind letters and kind names than Exuberant-ctags.

  - The letter must be an alphabetical character (`[a-zA-EG-Z]`).
    `F` is reserved for `file` kind.

  - The first character of the name must be alphabetic, and
    the rest characters must be alphanumeric (`[a-zA-Z][a-zA-Z0-9]*`).

  The detailed background is explained in
  [#1737](https://github.com/universal-ctags/ctags/pull/1737).

  If you want to reuse your `.ctags` written for Exuberant-ctags,
  you must review kind letters and names defined with `--regex-<LANG>=...`
  options. When updating the definitions, using `--kinddef-<LANG>=...` option
  is appreciated.

## [CVE-2022-4515](https://access.redhat.com/security/cve/CVE-2022-4515) ##
It is not affected to Universal Ctags.
It was fixed in [e00c55d7a0204dc1d0ae316141323959e1e16162](https://github.com/universal-ctags/ctags/commit/e00c55d7a0204dc1d0ae316141323959e1e16162) in 2016. Thanks to the reporter.

Pull-requests are welcome!


================================================
FILE: Tmain/abnormal-output-file-names.d/input.c
================================================
int x;


================================================
FILE: Tmain/abnormal-output-file-names.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILDDIR=$2

. ../utils.sh

exit_if_win32 "$CTAGS"

rm -f $BUILDDIR/"'"
rm -f $BUILDDIR/'"'
rm -f $BUILDDIR/'$(ls)'
rm -f $BUILDDIR/'a b'

${CTAGS} --quiet --options=NONE -o $BUILDDIR/"'" --extras=-pF input.c
${CTAGS} --quiet --options=NONE -o $BUILDDIR/'"' --extras=-pF input.c
${CTAGS} --quiet --options=NONE -o $BUILDDIR/'$(ls)' --extras=-pF input.c
${CTAGS} --quiet --options=NONE -o $BUILDDIR/'a b' --extras=-pF input.c

echo '#' SINGLE QUOTE
if [ -e $BUILDDIR/"'" ]; then
	cat $BUILDDIR/"'"
fi

echo '#' DOUBLE QUOTES
if [ -e $BUILDDIR/'"' ]; then
	cat $BUILDDIR/'"'
fi

echo '#' PROCESS SUBSTITUTION
if [ -e $BUILDDIR/'$(ls)' ]; then
	cat $BUILDDIR/'$(ls)'
fi

echo '#' SPACE
if [ -e $BUILDDIR/'a b' ]; then
	cat $BUILDDIR/'a b'
fi

rm -f $BUILDDIR/"'"
rm -f $BUILDDIR/'"'
rm -f $BUILDDIR/'$(ls)'
rm -f $BUILDDIR/'a b'


================================================
FILE: Tmain/abnormal-output-file-names.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/abnormal-output-file-names.d/stdout-expected.txt
================================================
# SINGLE QUOTE
x	input.c	/^int x;$/;"	v	typeref:typename:int
# DOUBLE QUOTES
x	input.c	/^int x;$/;"	v	typeref:typename:int
# PROCESS SUBSTITUTION
x	input.c	/^int x;$/;"	v	typeref:typename:int
# SPACE
x	input.c	/^int x;$/;"	v	typeref:typename:int


================================================
FILE: Tmain/alias-for-unknown-language.d/exit-expected.txt
================================================
1


================================================
FILE: Tmain/alias-for-unknown-language.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE --alias-nosuchlang=Z
exit $?


================================================
FILE: Tmain/alias-for-unknown-language.d/stderr-expected.txt
================================================
ctags: Unknown language "nosuchlang" in "alias-nosuchlang" option


================================================
FILE: Tmain/alias-for-unknown-language.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/allow-null-tag.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/allow-null-tag.d/input.json
================================================
[{"":1}]


================================================
FILE: Tmain/allow-null-tag.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE --_fatal-warnings -o - input.json
exit $?


================================================
FILE: Tmain/allow-null-tag.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/allow-null-tag.d/stdout-expected.txt
================================================
0	input.json	/^[{"":1}]$/;"	o


================================================
FILE: Tmain/avoid-null-tag-warning.d/input-0.sql
================================================
ALTER DATABASE :"datname" REFRESH COLLATION VERSION;


================================================
FILE: Tmain/avoid-null-tag-warning.d/input.asm
================================================
	.proc


================================================
FILE: Tmain/avoid-null-tag-warning.d/input.sql
================================================
-- Taken from #2504 opened by @koenmeersman
select substr(sess_evnt.event, 1, 18) event
from  v$session_event sess_evnt;


================================================
FILE: Tmain/avoid-null-tag-warning.d/run.sh
================================================
# Copyright: 2020 Masatake YAMATO
# License: GPL-2

. ../utils.sh

CTAGS=$1

V=
# V=valgrind

echo '# no warning should be printed' 1>&2
$CTAGS --quiet --options=NONE -o - input.sql
$CTAGS --quiet --options=NONE -o - input-0.sql
$CTAGS --quiet --options=NONE -o - input.asm


================================================
FILE: Tmain/avoid-null-tag-warning.d/stderr-expected.txt
================================================
# no warning should be printed


================================================
FILE: Tmain/avoid-null-tag-warning.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/broken-extradef.d/run.sh
================================================
# Copyright: 2018 Masatake YAMATO
# License: GPL-2

CTAGS="$1 --quiet --options=NONE"

title()
{
	echo
	echo "$@"

	{
		echo
		echo "$@"
	} 1>&2
}

{
title '# echo unknown lang'
${CTAGS} --_extradef-NOSUCHLANG
${CTAGS} --_extradef-NOSUCHLANG=extra,desc

title '# no option value'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=

title '# wrong char in a field name'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc,
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc,description

title '# empty extra name'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc,
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc,description

title '# empty description'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc,

title '# no input file'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc,desc

title '# inject a flag separator'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{foo}' --list-extras=IMAGINARY

title '# inject a broken flag separator(1)'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{foo' --list-extras=IMAGINARY

title '# inject a broken flag separator(2)'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{' --list-extras=IMAGINARY

title '# use a { in description (1)'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\{' --list-extras=IMAGINARY

title '# use a { in description (2)'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\{}' --list-extras=IMAGINARY

title '# use a \ in description'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\\backslash' --list-extras=IMAGINARY

title '# description started from {'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,{' --list-extras=IMAGINARY

title '# description started from \{'
${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,\{' --list-extras=IMAGINARY

} > /tmp/ctags-tmain-$$.stdout 2>/tmp/ctags-tmain-$$.stderr

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stdout
rm /tmp/ctags-tmain-$$.stdout

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stderr 1>&2
rm /tmp/ctags-tmain-$$.stderr


================================================
FILE: Tmain/broken-extradef.d/stderr-expected.txt
================================================

# echo unknown lang
ctags: Unknown language "NOSUCHLANG" in "_extradef-NOSUCHLANG" option
ctags: Unknown language "NOSUCHLANG" in "_extradef-NOSUCHLANG" option

# no option value
ctags: no extra definition specified in "--_extradef-IMAGINARY" option
ctags: no extra definition specified in "--_extradef-IMAGINARY" option

# wrong char in a field name
ctags: no extra description specified in "--_extradef-IMAGINARY" option
ctags: no extra description specified in "--_extradef-IMAGINARY" option
ctags: unacceptable char as part of extra name in "--_extradef-IMAGINARY" option: ':'
ctags: unacceptable char as part of extra name in "--_extradef-IMAGINARY" option: ':'

# empty extra name
ctags: the extra name in "--_extradef-IMAGINARY" option is empty
ctags: the extra name in "--_extradef-IMAGINARY" option is empty
ctags: the extra name in "--_extradef-IMAGINARY" option is empty
ctags: the extra name in "--_extradef-IMAGINARY" option is empty

# empty description
ctags: no extra description specified in "--_extradef-IMAGINARY" option
ctags: extra description in "--_extradef-IMAGINARY" option is empty

# no input file
ctags: No files specified. Try "ctags --help".

# inject a flag separator

# inject a broken flag separator(1)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{foo"

# inject a broken flag separator(2)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{"

# use a { in description (1)

# use a { in description (2)

# use a \ in description

# description started from {
ctags: extra description in "--_extradef-IMAGINARY" option is empty

# description started from \{


================================================
FILE: Tmain/broken-extradef.d/stdout-expected.txt
================================================

# echo unknown lang

# no option value

# wrong char in a field name

# empty extra name

# empty description

# no input file

# inject a flag separator
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc

# inject a broken flag separator(1)
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc

# inject a broken flag separator(2)
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc

# use a { in description (1)
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc{

# use a { in description (2)
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc{}

# use a \ in description
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 desc\backslash

# description started from {

# description started from \{
#LETTER NAME  ENABLED LANGUAGE  FIXED VER DESCRIPTION
-       extra no      IMAGINARY no      0 {


================================================
FILE: Tmain/broken-fielddef.d/run.sh
================================================
# Copyright: 2017 Masatake YAMATO
# License: GPL-2

CTAGS="$1 --quiet --options=NONE"

title()
{
	echo
	echo "$@"

	{
		echo
		echo "$@"
	} 1>&2
}

{
title '# echo unknown lang'
${CTAGS} --_fielddef-NOSUCHLANG
${CTAGS} --_fielddef-NOSUCHLANG=field,desc

title '# no option value'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=

title '# wrong char in a field name'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=:
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=:abc
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=:abc,
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=:abc,description

title '# empty field name'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=,
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=,abc
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=,abc,
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=,abc,description

title '# empty description'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=abc
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=abc,

title '# no input file'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY=abc,desc

title '# inject a flag separator'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc{foo}' --list-fields=IMAGINARY

title '# inject a broken flag separator(1)'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc{foo' --list-fields=IMAGINARY

title '# inject a broken flag separator(2)'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc{' --list-fields=IMAGINARY

title '# use a { in description (1)'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc\{' --list-fields=IMAGINARY

title '# use a { in description (2)'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc\{}' --list-fields=IMAGINARY

title '# use a \ in description'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,desc\\backslash' --list-fields=IMAGINARY

title '# description started from {'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,{' --list-fields=IMAGINARY

title '# description started from \{'
${CTAGS} --langdef=IMAGINARY --_fielddef-IMAGINARY='field,\{' --list-fields=IMAGINARY
}  > /tmp/ctags-tmain-$$.stdout 2>/tmp/ctags-tmain-$$.stderr

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stdout
rm /tmp/ctags-tmain-$$.stdout

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stderr 1>&2
rm /tmp/ctags-tmain-$$.stderr


================================================
FILE: Tmain/broken-fielddef.d/stderr-expected.txt
================================================

# echo unknown lang
ctags: Unknown language "NOSUCHLANG" in "_fielddef-NOSUCHLANG" option
ctags: Unknown language "NOSUCHLANG" in "_fielddef-NOSUCHLANG" option

# no option value
ctags: no field definition specified in "--_fielddef-IMAGINARY" option
ctags: no field definition specified in "--_fielddef-IMAGINARY" option

# wrong char in a field name
ctags: no field description specified in "--_fielddef-IMAGINARY" option
ctags: no field description specified in "--_fielddef-IMAGINARY" option
ctags: unacceptable char as part of field name in "--_fielddef-IMAGINARY" option: ':'
ctags: unacceptable char as part of field name in "--_fielddef-IMAGINARY" option: ':'

# empty field name
ctags: the field name in "--_fielddef-IMAGINARY" option is empty
ctags: the field name in "--_fielddef-IMAGINARY" option is empty
ctags: the field name in "--_fielddef-IMAGINARY" option is empty
ctags: the field name in "--_fielddef-IMAGINARY" option is empty

# empty description
ctags: no field description specified in "--_fielddef-IMAGINARY" option
ctags: field description in "--_fielddef-IMAGINARY" option is empty

# no input file
ctags: No files specified. Try "ctags --help".

# inject a flag separator

# inject a broken flag separator(1)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{foo"

# inject a broken flag separator(2)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{"

# use a { in description (1)

# use a { in description (2)

# use a \ in description

# description started from {
ctags: field description in "--_fielddef-IMAGINARY" option is empty

# description started from \{


================================================
FILE: Tmain/broken-fielddef.d/stdout-expected.txt
================================================

# echo unknown lang

# no option value

# wrong char in a field name

# empty field name

# empty description

# no input file

# inject a flag separator
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc

# inject a broken flag separator(1)
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc

# inject a broken flag separator(2)
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc

# use a { in description (1)
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc{

# use a { in description (2)
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc{}

# use a \ in description
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 desc\backslash

# description started from {

# description started from \{
#LETTER NAME  ENABLED LANGUAGE  JSTYPE FIXED OP VER DESCRIPTION
-       field no      IMAGINARY s--    no    --   0 {


================================================
FILE: Tmain/broken-json-output.d/exit-expected.tx
================================================
0


================================================
FILE: Tmain/broken-json-output.d/input.f
================================================
* 
      integer function F(x)
      end function F
      program main
)


================================================
FILE: Tmain/broken-json-output.d/run.sh
================================================
# Copyright: 2021 Masatake YAMATO
# License: GPL-2

. ../utils.sh

CTAGS=$1

is_feature_available ${CTAGS} json

${CTAGS} --quiet --options=NONE --sort=no --output-format=json input.f


================================================
FILE: Tmain/broken-json-output.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/broken-json-output.d/stdout-expected.txt
================================================
{"_type": "tag", "name": "main", "path": "input.f", "pattern": "/^      program main$/", "kind": "program"}


================================================
FILE: Tmain/broken-langdef.d/input.c
================================================
int f(void) { return 0; }


================================================
FILE: Tmain/broken-langdef.d/run.sh
================================================
#!/bin/sh

# Copyright: 2019 Masatake YAMATO
# License: GPL-2

CTAGS=$1

run_ctags()
{
	echo '#' "$1" 1>&2
	${CTAGS} --quiet --options=NONE --langdef="$1" --kinddef-"$1"=f,func,functions --_force-quit=0 -o - input.c
}

run_ctags ""
run_ctags all
run_ctags NONE
for c in '!' '"' '$' '%' '&' "'" '(' ')' '*' ',' '-' '.' '/' ':' ';' '<' '=' '>' '?' '@' '[' '\' ']' '^' '`' '|' '~'; do
	run_ctags "C$c"
done


================================================
FILE: Tmain/broken-langdef.d/stderr-expected.txt
================================================
# 
ctags: No language specified for "langdef" option
# all
ctags: "all" is reserved; don't use it as the name for defining a new language
# NONE
ctags: "NONE" is reserved; don't use it as the name for defining a new language
# C!
ctags: don't use `!' in a language name (C!)
# C"
ctags: don't use `"' in a language name (C")
# C$
ctags: don't use `$' in a language name (C$)
# C%
ctags: don't use `%' in a language name (C%)
# C&
ctags: don't use `&' in a language name (C&)
# C'
ctags: don't use "'" in a language name (C')
# C(
ctags: don't use `(' in a language name (C()
# C)
ctags: don't use `)' in a language name (C))
# C*
ctags: don't use `*' in a language name (C*)
# C,
ctags: don't use `,' in a language name (C,)
# C-
ctags: don't use `-' in a language name (C-)
# C.
ctags: don't use `.' in a language name (C.)
# C/
ctags: don't use `/' in a language name (C/)
# C:
ctags: don't use `:' in a language name (C:)
# C;
ctags: don't use `;' in a language name (C;)
# C<
ctags: don't use `<' in a language name (C<)
# C=
ctags: don't use `=' in a language name (C=)
# C>
ctags: don't use `>' in a language name (C>)
# C?
ctags: don't use `?' in a language name (C?)
# C@
ctags: don't use `@' in a language name (C@)
# C[
ctags: don't use `[' in a language name (C[)
# C\
ctags: don't use `\' in a language name (C\)
# C]
ctags: don't use `]' in a language name (C])
# C^
ctags: don't use `^' in a language name (C^)
# C`
ctags: don't use "`" in a language name (C`)
# C|
ctags: don't use `|' in a language name (C|)
# C~
ctags: don't use `~' in a language name (C~)


================================================
FILE: Tmain/broken-langdef.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/broken-paramdef.d/run.sh
================================================
# Copyright: 2018 Masatake YAMATO
# License: GPL-2

CTAGS="$1 --quiet --options=NONE"

title()
{
	echo
	echo "$@"

	{
		echo
		echo "$@"
	} 1>&2
}

{
title '# echo unknown lang'
${CTAGS} --_paramdef-NOSUCHLANG
${CTAGS} --_paramdef-NOSUCHLANG=param,desc

title '# no option value'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=

title '# wrong char in a field name'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=:
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=:abc
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=:abc,
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=:abc,description

title '# empty parameter name'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=,
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=,abc
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=,abc,
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=,abc,description

title '# empty description'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=abc
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=abc,

title '# no input file'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY=abc,desc

title '# inject a flag separator'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc{foo}' --list-params=IMAGINARY

title '# inject a broken flag separator(1)'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc{foo' --list-params=IMAGINARY

title '# inject a broken flag separator(2)'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc{' --list-params=IMAGINARY

title '# use a { in description (1)'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc\{' --list-params=IMAGINARY

title '# use a { in description (2)'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc\{}' --list-params=IMAGINARY

title '# use a \ in description'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,desc\\backslash' --list-params=IMAGINARY

title '# description started from {'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,{' --list-params=IMAGINARY

title '# description started from \{'
${CTAGS} --langdef=IMAGINARY --_paramdef-IMAGINARY='param,\{' --list-params=IMAGINARY

} > /tmp/ctags-tmain-$$.stdout 2>/tmp/ctags-tmain-$$.stderr

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stdout
rm /tmp/ctags-tmain-$$.stdout

sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stderr 1>&2
rm /tmp/ctags-tmain-$$.stderr


================================================
FILE: Tmain/broken-paramdef.d/stderr-expected.txt
================================================

# echo unknown lang
ctags: Unknown language "NOSUCHLANG" in "_paramdef-NOSUCHLANG" option
ctags: Unknown language "NOSUCHLANG" in "_paramdef-NOSUCHLANG" option

# no option value
ctags: no parameter definition specified in "--_paramdef-IMAGINARY" option
ctags: no parameter definition specified in "--_paramdef-IMAGINARY" option

# wrong char in a field name
ctags: no parameter description specified in "--_paramdef-IMAGINARY" option
ctags: no parameter description specified in "--_paramdef-IMAGINARY" option
ctags: unacceptable char as part of parameter name in "--_paramdef-IMAGINARY" option: ':'
ctags: unacceptable char as part of parameter name in "--_paramdef-IMAGINARY" option: ':'

# empty parameter name
ctags: the parameter name in "--_paramdef-IMAGINARY" option is empty
ctags: the parameter name in "--_paramdef-IMAGINARY" option is empty
ctags: the parameter name in "--_paramdef-IMAGINARY" option is empty
ctags: the parameter name in "--_paramdef-IMAGINARY" option is empty

# empty description
ctags: no parameter description specified in "--_paramdef-IMAGINARY" option
ctags: parameter description in "--_paramdef-IMAGINARY" option is empty

# no input file
ctags: No files specified. Try "ctags --help".

# inject a flag separator

# inject a broken flag separator(1)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{foo"

# inject a broken flag separator(2)
ctags: Warning: long flags specifier opened with `{' is not closed `}': "{"

# use a { in description (1)

# use a { in description (2)

# use a \ in description

# description started from {
ctags: parameter description in "--_paramdef-IMAGINARY" option is empty

# description started from \{


================================================
FILE: Tmain/broken-paramdef.d/stdout-expected.txt
================================================

# echo unknown lang

# no option value

# wrong char in a field name

# empty parameter name

# empty description

# no input file

# inject a flag separator
#NAME  DESCRIPTION
param  desc

# inject a broken flag separator(1)
#NAME  DESCRIPTION
param  desc

# inject a broken flag separator(2)
#NAME  DESCRIPTION
param  desc

# use a { in description (1)
#NAME  DESCRIPTION
param  desc{

# use a { in description (2)
#NAME  DESCRIPTION
param  desc{}

# use a \ in description
#NAME  DESCRIPTION
param  desc\backslash

# description started from {

# description started from \{
#NAME  DESCRIPTION
param  {


================================================
FILE: Tmain/broken-regex-pattern.d/broken-pattern.ctags
================================================
# Though this pattern uses pcre2 extension, {pcre2} flag is not given.
# This caused a crash.
--mline-regex-Python=/[\n]if\s+__name__\s*==\s*("__main__"|'__main__')\s*:(?:\s*#[^\n]*)?\n//f/{mgroup=1}{_anonymous=main}


================================================
FILE: Tmain/broken-regex-pattern.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/broken-regex-pattern.d/input.py
================================================
if import pydoc
if __name__ == "__main__":
    pydoc.cli()


================================================
FILE: Tmain/broken-regex-pattern.d/run.sh
================================================
# Copyright: 2025 Masatake YAMATO
# License: GPL-2

CTAGS="$1 --quiet --options=NONE"

$CTAGS --options=./broken-pattern.ctags -o - input.py > /dev/null


================================================
FILE: Tmain/broken-regex-pattern.d/stderr-expected.txt
================================================
ctags: Warning: regcomp: Invalid preceding regular expression
ctags: Warning: pattern: [
]if\s+__name__\s*==\s*("__main__"|'__main__')\s*:(?:\s*#[^
]*)?

ctags: Warning: language: Python[0]
ctags: Warning: Failed in compiling the regex pattern with "default" regex engine


================================================
FILE: Tmain/broken-tagname-in-ectags-format.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/broken-tagname-in-ectags-format.d/input.cst
================================================
b



================================================
FILE: Tmain/broken-tagname-in-ectags-format.d/run.sh
================================================
#!/bin/sh

# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILD_SUBDIR=$2
stderr_tmp=${BUILD_SUBDIR}/stderr-actual.txt.tmp

${CTAGS} --options=NONE -o - --language-force=CTagsSelfTest --verbose --output-format=e-ctags input.cst \
	 2> ${stderr_tmp}

# externalSortTags invokes sort command, and it is logged to stderr.
# Delete the line for the comparison.
sed -e '/^system ("sort -u")$/d' < ${stderr_tmp} 1>&2
rm ${stderr_tmp}

exit $?


================================================
FILE: Tmain/broken-tagname-in-ectags-format.d/stderr-expected.txt
================================================
ctags: Notice: No options will be read from files or environment
  Option: --output-format=e-ctags
Reading command line arguments
CTagsSelfTest requires a memory stream for input
OPENING input.cst as CTagsSelfTest language file [new,required]
Initialize parser: CTagsSelfTest


================================================
FILE: Tmain/broken-tagname-in-ectags-format.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/broken-tagname-quiet.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/broken-tagname-quiet.d/input.cst
================================================
b


================================================
FILE: Tmain/broken-tagname-quiet.d/run.sh
================================================
#!/bin/sh

# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE -o - --language-force=CTagsSelfTest input.cst

exit $?


================================================
FILE: Tmain/broken-tagname-quiet.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/broken-tagname-quiet.d/stdout-expected.txt
================================================
newline-in-scope	input.cst	/^b$/;"	b	broken tag:parent\nscope
one\nof\rbroken\tname	input.cst	/^b$/;"	b	broken tag:\\Broken\tContext
only\nnewline	input.cst	/^b$/;"	b
only\ttab	input.cst	/^b$/;"	b
tab-in-scope	input.cst	/^b$/;"	b	broken tag:parent\tscope


================================================
FILE: Tmain/broken-tagname.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/broken-tagname.d/input.cst
================================================
b



================================================
FILE: Tmain/broken-tagname.d/run.sh
================================================
#!/bin/sh

# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILD_SUBDIR=$2
stderr_tmp=${BUILD_SUBDIR}/stderr-actual.txt.tmp

${CTAGS} --options=NONE -o - --language-force=CTagsSelfTest --verbose input.cst \
	 2> ${stderr_tmp}

# externalSortTags invokes sort command, and it is logged to stderr.
# Delete the line for the comparison.
sed -e '/^system ("sort -u")$/d' < ${stderr_tmp} 1>&2
rm ${stderr_tmp}

exit $?


================================================
FILE: Tmain/broken-tagname.d/stderr-expected.txt
================================================
ctags: Notice: No options will be read from files or environment
Reading command line arguments
CTagsSelfTest requires a memory stream for input
OPENING input.cst as CTagsSelfTest language file [new,required]
Initialize parser: CTagsSelfTest
Unexpected character 0x0a included in a tagEntryInfo: one
of
broken	name
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
Unexpected character 0x09 included in a tagEntryInfo: \Broken	Context
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
Unexpected character 0x0a included in a tagEntryInfo: only
newline
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
Unexpected character 0x09 included in a tagEntryInfo: only	tab
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
Unexpected character 0x0a included in a tagEntryInfo: parent
scope
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
Unexpected character 0x09 included in a tagEntryInfo: parent	scope
File: input.cst, Line: 1, Lang: CTagsSelfTest, Kind: b
Escape the character
sorting tag file


================================================
FILE: Tmain/broken-tagname.d/stdout-expected.txt
================================================
newline-in-scope	input.cst	/^b$/;"	b	broken tag:parent\nscope
one\nof\rbroken\tname	input.cst	/^b$/;"	b	broken tag:\\Broken\tContext
only\nnewline	input.cst	/^b$/;"	b
only\ttab	input.cst	/^b$/;"	b
tab-in-scope	input.cst	/^b$/;"	b	broken tag:parent\tscope


================================================
FILE: Tmain/broken-version.d/exit-expected.txt
================================================
1


================================================
FILE: Tmain/broken-version.d/run.sh
================================================
#!/bin/sh

# Copyright: 2025 Masatake YAMATO
# License: GPL-2

CTAGS=$1

. ../utils.sh

is_feature_available "$CTAGS" debug
${CTAGS} --quiet --options=NONE --langdef=BROKEN'{version=0.1}' --_force-quit=1
exit $?


================================================
FILE: Tmain/broken-version.d/stderr-expected.txt
================================================
ctags: Warning: versionCurrent (0) must be either equal to or greater than versionAge (1): BROKEN


================================================
FILE: Tmain/c-anon-counter.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/c-anon-counter.d/input1.c
================================================
enum {
  A, B,
} x;

struct {
  int C, D;
} y;

union {
  int E, F;
} z;


================================================
FILE: Tmain/c-anon-counter.d/input2.c
================================================
enum {
  G, H,
} a;

struct {
  int I, J;
} b;

union {
  int K, L;
} c;


================================================
FILE: Tmain/c-anon-counter.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILDDIR=$2

${CTAGS} --quiet --options=NONE -o - input1.c input2.c > $BUILDDIR/12.tmp
${CTAGS} --quiet --options=NONE -o - input2.c input1.c > $BUILDDIR/21.tmp

diff $BUILDDIR/12.tmp $BUILDDIR/21.tmp
s=$?

if [ "$s" = 0 ]; then
    rm -f $BUILDDIR/12.tmp
    rm -f $BUILDDIR/21.tmp
fi

exit $s


================================================
FILE: Tmain/c-anon-counter.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/c-anon-counter.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/c-large-enum.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/c-large-enum.d/run.sh
================================================
# Copyright: 2023 Masatake YAMATO
# License: GPL-2

input=/tmp/c-large-enum.d-input.c
CTAGS="$1 --quiet --options=NONE"

i=0
{
	echo "enum E {"
	while [ $i -lt 32770 ]; do
		printf "X%x," $i
		i=$(($i + 1))
	done
	echo "};"
} > $input

${CTAGS} --sort=no -n --fields= --fields=+"{nth}" -x --_xformat='%{name} %{nth}' "$input" | tail -10
r=$?

rm -f "$input"

exit $r


================================================
FILE: Tmain/c-large-enum.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/c-large-enum.d/stdout-expected.txt
================================================
X7ff8 32760
X7ff9 32761
X7ffa 32762
X7ffb 32763
X7ffc 32764
X7ffd 32765
X7ffe 32766
X7fff 32767
X8000 32767
X8001 32767


================================================
FILE: Tmain/case-insensitive-pattern.d/INPUT.MK
================================================


================================================
FILE: Tmain/case-insensitive-pattern.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

. ../utils.sh

exit_if_no_case_insensitive_filenames "${CTAGS}"

${CTAGS} --quiet --options=NONE --print-language INPUT.MK


================================================
FILE: Tmain/case-insensitive-pattern.d/stdout-expected.txt
================================================
INPUT.MK: Make


================================================
FILE: Tmain/clear-aliases.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/clear-aliases.d/run.sh
================================================
# Copyright: 2017 Masatake YAMATO
# License: GPL-2

CTAGS=$1

echo '# clear' &&
${CTAGS} --quiet --options=NONE --alias-C= --with-list-header=no --list-aliases=C &&

echo '# add' &&
${CTAGS} --quiet --options=NONE --alias-Tcl=+abc --with-list-header=no --list-aliases=Tcl &&

echo '# reset' &&
${CTAGS} --quiet --options=NONE --alias-Tcl=+abc --alias-Tcl=default --with-list-header=no --list-aliases=Tcl

echo '# all clear' &&
${CTAGS} --quiet --options=NONE --alias-all= --with-list-header=no --list-aliases &&

echo '# all reset' &&
${CTAGS} --quiet --options=NONE --alias-Tcl=+abc --alias-all=default --with-list-header=no --list-aliases=Tcl

exit $?


================================================
FILE: Tmain/clear-aliases.d/stdout-expected.txt
================================================
# clear
# add
expect
tclsh
abc
# reset
expect
tclsh
# all clear
# all reset
expect
tclsh


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/README.md
================================================
If your change breaks this test case, notify the change
to https://github.com/liuchengxu/vista.vim.


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/run.sh
================================================
# Copyright: 2021 <https://github.com/liuchengxu>
# License: GPL-2

CTAGS=$1

. ../utils.sh

is_feature_available "${CTAGS}" json

$CTAGS --quiet --options=NONE --format=2 --excmd=pattern --fields=+nksSaf --extras=+F --sort=no --append=no --extras=  --language-force=vim --vim-kinds=acfvmn --output-format=json --fields=-PF -f- test.vim

exit $?


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/stdout-expected.txt
================================================
{"_type": "tag", "name": "s:cur_dir", "line": 1, "kind": "variable"}
{"_type": "tag", "name": "vista#FindItemsUnderDirectory", "line": 3, "kind": "function", "signature": "(dir)"}


================================================
FILE: Tmain/client-vista-vim-fields-expectation.d/test.vim
================================================
let s:cur_dir = fnamemodify(resolve(expand('<sfile>:p')), ':h')

function! vista#FindItemsUnderDirectory(dir) abort
  return map(split(globpath(a:dir, '*'), '\n'), 'fnamemodify(v:val, '':t:r'')')
endfunction


================================================
FILE: Tmain/combination-of-fields-Zs.d/input.c
================================================
struct s {
	int i;
};


================================================
FILE: Tmain/combination-of-fields-Zs.d/run.sh
================================================
# Copyright: 2020 Masatake YAMATO
# License: GPL-2

CTAGS=$1

echo '# Z only'
$CTAGS --quiet --options=NONE --fields=Z -o - input.c 2>&1 \
	| sed -e 's/\.exe//g' \
	| sort

# The last sort is needed because the order of lines from stdout and
# that from stderr is not stable.


================================================
FILE: Tmain/combination-of-fields-Zs.d/stdout-expected.txt
================================================
# Z only
ctags: Warning: enable the s field to make the Z/scope field printable
ctags: Warning: though Z/scope field is enabled, s field is not enabled
i	input.c	/^	int i;$/;"	scope:struct:s
s	input.c	/^struct s {$/


================================================
FILE: Tmain/combination-of-fields-zkK.d/input.c
================================================
struct s {
	int i;
};


================================================
FILE: Tmain/combination-of-fields-zkK.d/run.sh
================================================
# Copyright: 2020 Masatake YAMATO
# License: GPL-2

CTAGS=$1

echo '# z only'
$CTAGS --quiet --options=NONE --fields=z -o - input.c 2>&1 \
	| sed -e 's/\.exe//g' \
	| sort

# The last sort is needed because the order of lines from stdout and
# that from stderr is not stable.


================================================
FILE: Tmain/combination-of-fields-zkK.d/stdout-expected.txt
================================================
# z only
ctags: Warning: enable the K field to make the z/kind field printable
ctags: Warning: though z/kind field is enabled, neither k nor K field is not enabled
i	input.c	/^	int i;$/;"	kind:member
s	input.c	/^struct s {$/;"	kind:struct


================================================
FILE: Tmain/common-prelude.d/aindex.expected
================================================
(0)
false
(1)
true
0
(2)
true
1
(3)
true
2
(4)
false
(-)
false
(0a)
true
0
(1a)
true
1


================================================
FILE: Tmain/common-prelude.d/aindex.ps
================================================
(0) ==
[1 2 3] 0 _aindex pstack clear

(1) ==
[1 2 3] 1 _aindex pstack clear

(2) ==
[1 2 3] 2 _aindex pstack clear

(3) ==
[1 2 3] 3 _aindex pstack clear

(4) ==
[1 2 3] 4 _aindex pstack clear

(-) ==
[] /a _aindex pstack clear

(0a) ==
[/a] /a _aindex pstack clear

(1a) ==
[/b /a /b] /a _aindex pstack clear


================================================
FILE: Tmain/common-prelude.d/amember.expected
================================================
[/a /b /c]
true
true
true
false
[1 true (abc)]
true
false
true
false
true
false


================================================
FILE: Tmain/common-prelude.d/amember.ps
================================================
[/a /b /c] ==
[/a /b /c] /a _amember ==
[/a /b /c] /b _amember ==
[/a /b /c] /c _amember ==
[/a /b /c] /d _amember ==
[1 true (abc)] ==
[1 true (abc)] 1 _amember ==
[1 true (abc)] 2 _amember ==
[1 true (abc)] true _amember ==
[1 true (abc)] false _amember ==
[1 true (abc)] (abc) _amember ==
[1 true (abc)] (efg) _amember ==


================================================
FILE: Tmain/common-prelude.d/buildstring.expected
================================================
(abcdefghijklm)


================================================
FILE: Tmain/common-prelude.d/buildstring.ps
================================================
[
    ?a
    ?b
    ?c (d) 0 get
    (efg)
    ?h
    ?i
    ?j
    (klm)
    _buildstring pstack clear


================================================
FILE: Tmain/common-prelude.d/chop.expected
================================================
(abcx)
(abc)
(abc )
(abc)
(abcx)
(abcx)


================================================
FILE: Tmain/common-prelude.d/chop.ps
================================================
(abcx) ==
(abcx) _chop pstack clear

(abc ) ==
(abc ) _chop_space pstack clear

(abcx) ==
(abcx) _chop_space pstack clear


================================================
FILE: Tmain/common-prelude.d/dedup.expected
================================================
(===)
32
(===)
41
32
(===)
32
41
(===)
32
(===)
41
(===)
/a
32
(===)
[]
32


================================================
FILE: Tmain/common-prelude.d/dedup.ps
================================================
/result { (===) pstack clear } def

32 32 _dedup_spaces result
32 41 _dedup_spaces result
41 32 _dedup_spaces result
   32 _dedup_spaces result
   41 _dedup_spaces result

32 /a _dedup_spaces result
32 [] _dedup_spaces result


================================================
FILE: Tmain/common-prelude.d/dedup_spaces.expected
================================================
32
97
32
98
32
97


================================================
FILE: Tmain/common-prelude.d/dedup_spaces.ps
================================================
?a ?\_ ( ) 0 get _dedup_spaces pstack clear
?a ?\_ ?b ( ) 0 get _dedup_spaces pstack clear


================================================
FILE: Tmain/common-prelude.d/ndup.expected
================================================
(abc)
(efg)
(efg)
(xyz)
(xyz)
(xyz)
(xyz)


================================================
FILE: Tmain/common-prelude.d/ndup.ps
================================================
(abc) 0 _ndup pstack clear
(efg) 1 _ndup pstack clear
(xyz) 3 _ndup pstack clear


================================================
FILE: Tmain/common-prelude.d/normalize_spaces.expected
================================================
(0abc, d, efg, hij)
(1abc, d, efg, hij)


================================================
FILE: Tmain/common-prelude.d/normalize_spaces.ps
================================================
/x (0abc,\t\t\n \nd,\f\f\v\f\v\r\r\r\n efg,  hij) def
x _normalize_spaces! x pstack clear

(1abc,\t\t\n \nd,\f\f\v\f\v\r\r\r\n efg,  hij) dup
_normalize_spaces! pstack clear


================================================
FILE: Tmain/common-prelude.d/putlast.expected
================================================
(abcdefgh)


================================================
FILE: Tmain/common-prelude.d/putlast.ps
================================================
/a (abc) def

a ?d _putlast!
a (efg) _putlast!
a ?h _putlast!
a ==


================================================
FILE: Tmain/common-prelude.d/run.sh
================================================
#!/bin/sh

# Copyright: 2021 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILDDIR=$2
OPTSCRIPT=$4

. ../utils.sh

if ! [ -x "${OPTSCRIPT}" ]; then
	skip "no optscript"
fi

rm -f ${BUILDDIR}/*.{in,out}.tmp

for t in $(ls *.ps); do
	i=${BUILDDIR}/${t}.in.tmp
	o=${BUILDDIR}/${t}.out.tmp
	e=$(basename $t .ps).expected

    printf "%s" "${t}..."

	{
		${CTAGS} --quiet --options=NONE --_dump-prelude
		echo
		cat $t
	} > $i

	${OPTSCRIPT} $i > $o 2>&1
	s=$?
	echo "$s"

	if [ $s != 0 ]; then
		continue
	fi
	if diff -ruN --strip-trailing-cr $e $o; then
		rm $i
		rm $o
	fi
done


================================================
FILE: Tmain/common-prelude.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/common-prelude.d/stdout-expected.txt
================================================
aindex.ps...0
amember.ps...0
buildstring.ps...0
chop.ps...0
dedup.ps...0
dedup_spaces.ps...0
ndup.ps...0
normalize_spaces.ps...0
putlast.ps...0
tr.ps...0


================================================
FILE: Tmain/common-prelude.d/tr.expected
================================================
(a-b-c)
(x-y-z)


================================================
FILE: Tmain/common-prelude.d/tr.ps
================================================
/x (a\nb\n\c) def
x (\n-) _tr! x ==

(x\ny\nz) dup (\n-) _tr! ==


================================================
FILE: Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

printf "[C] enabling in C: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C=+f --list-kinds=C | grep ^f

printf "[C] disabling in C: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C=-f --list-kinds=C | grep ^f

printf "[C++] enabling in C: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C=+f --list-kinds=C++ | grep ^f

printf "[C++] disabling in C: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C=-f --list-kinds=C++ | grep ^f

printf "[C] enabling in C++: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C++=+f --list-kinds=C | grep ^f

printf "[C] disabling in C++: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C++=-f --list-kinds=C | grep ^f

printf "[C++] enabling in C++: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C++=+f --list-kinds=C++ | grep ^f

printf "[C++] disabling in C++: "
${CTAGS} --quiet --options=NONE \
	 --kinds-C++=-f --list-kinds=C++ | grep ^f


================================================
FILE: Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/stdout-expected.txt
================================================
[C] enabling in C: f  function definitions
[C] disabling in C: f  function definitions [off]
[C++] enabling in C: f  function definitions
[C++] disabling in C: f  function definitions [off]
[C] enabling in C++: f  function definitions
[C] disabling in C++: f  function definitions [off]
[C++] enabling in C++: f  function definitions
[C++] disabling in C++: f  function definitions [off]


================================================
FILE: Tmain/disable-fixed-field.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/disable-fixed-field.d/input.c
================================================


================================================
FILE: Tmain/disable-fixed-field.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE --fields=-N -o - input.c
${CTAGS} --quiet --options=NONE --fields=-F -o - input.c
${CTAGS} --quiet --options=NONE --fields=-P -o - input.c
${CTAGS} --quiet --options=NONE --fields=-'{name}' -o - input.c
${CTAGS} --quiet --options=NONE --fields=-'{input}' -o - input.c
${CTAGS} --quiet --options=NONE --fields=-'{pattern}' -o - input.c


================================================
FILE: Tmain/disable-fixed-field.d/stderr-expected.txt
================================================
ctags: Warning: Cannot disable fixed field: 'N'{name} in ctags output mode
ctags: Warning: Cannot disable fixed field: 'F'{input} in ctags output mode
ctags: Warning: Cannot disable fixed field: 'P'{pattern} in ctags output mode
ctags: Warning: Cannot disable fixed field: 'N'{name} in ctags output mode
ctags: Warning: Cannot disable fixed field: 'F'{input} in ctags output mode
ctags: Warning: Cannot disable fixed field: 'P'{pattern} in ctags output mode


================================================
FILE: Tmain/disable-fixed-field.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/disable-languages.d/input-matlab.m
================================================
# -*- matlab -*-


================================================
FILE: Tmain/disable-languages.d/input-objc.m
================================================
#error -*- objc -*-


================================================
FILE: Tmain/disable-languages.d/input.m
================================================


================================================
FILE: Tmain/disable-languages.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2
CTAGS=$1

echo '# FILE NAME ONLY'
# extension `m' matches both matlab and objc.
# matlab wins by the alphabetical order of parser names
${CTAGS} --quiet --options=NONE -G --print-language input.m

# extension `m' matches only objc because matlab is disabled.
${CTAGS} --quiet --options=NONE -G --languages=-MatLab --print-language input.m

# extension `m' matches only matlab because objc is disabled.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC --print-language input.m

# extension `m' matches no parser because the both objc and matlab
# are disabled.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC,-MatLab --print-language input.m
${CTAGS} --quiet --options=NONE -G --languages=-MatLab,-ObjectiveC --print-language input.m

echo '# EMACS MODE: MATLAB'
# extension `m' matches both matlab and objc.
# matlab wins by emacs modeline written in the input file.
${CTAGS} --quiet --options=NONE -G --print-language input-matlab.m

# extension `m' matches only objc. That's all.
${CTAGS} --quiet --options=NONE -G --languages=-MatLab --print-language input-matlab.m

# extension `m' matches only matlab. That's all.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC --print-language input-matlab.m

# extension `m' matches no parser because the both objc and matlab
# are disabled. That's all. ctags has no chance to read the file contents.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC,-MatLab --print-language input-matlab.m
${CTAGS} --quiet --options=NONE -G --languages=-MatLab,-ObjectiveC --print-language input-matlab.m

echo '# EMACS MODE: OBJC'
# extension `m' matches both matlab and objc.
# objc wins by emacs modeline written in the input file.
${CTAGS} --quiet --options=NONE -G --print-language input-objc.m

# extension `m' matches only objc. That's all.
${CTAGS} --quiet --options=NONE -G --languages=-MatLab --print-language input-objc.m

# extension `m' matches only matlab. That's all.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC --print-language input-objc.m

# extension `m' matches no parser because the both objc and matlab
# are disabled. That's all. ctags has no chance to read the file contents.
${CTAGS} --quiet --options=NONE -G --languages=-ObjectiveC,-MatLab --print-language input-objc.m
${CTAGS} --quiet --options=NONE -G --languages=-MatLab,-ObjectiveC --print-language input-objc.m


================================================
FILE: Tmain/disable-languages.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/disable-languages.d/stdout-expected.txt
================================================
# FILE NAME ONLY
input.m: MatLab
input.m: ObjectiveC
input.m: MatLab
input.m: NONE
input.m: NONE
# EMACS MODE: MATLAB
input-matlab.m: MatLab
input-matlab.m: ObjectiveC
input-matlab.m: MatLab
input-matlab.m: NONE
input-matlab.m: NONE
# EMACS MODE: OBJC
input-objc.m: ObjectiveC
input-objc.m: ObjectiveC
input-objc.m: MatLab
input-objc.m: NONE
input-objc.m: NONE


================================================
FILE: Tmain/dot-ctags-with-indentation.d/args.ctags
================================================
--_echo=A-begin
	--_echo=A-with-tab
    --_echo=A-with-spaces
--_echo=B-begin



================================================
FILE: Tmain/dot-ctags-with-indentation.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/dot-ctags-with-indentation.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --options=NONE --options=./args.ctags --_force-quit=0
exit $?


================================================
FILE: Tmain/dot-ctags-with-indentation.d/stderr-expected.txt
================================================
ctags: Notice: No options will be read from files or environment
ctags: Notice: A-begin
ctags: Notice: A-with-tab
ctags: Notice: A-with-spaces
ctags: Notice: B-begin


================================================
FILE: Tmain/dot-ctags-with-indentation.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/dynamic-kinds.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/dynamic-kinds.d/run.sh
================================================
# Copyright: 2017 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE						\
		 --langdef=X --kinddef-X='a,anchor,anchors'	\
		 --kinddef-X='b,batch,batches'				\
		 --list-kinds-full=X
exit $?


================================================
FILE: Tmain/dynamic-kinds.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/dynamic-kinds.d/stdout-expected.txt
================================================
#LETTER NAME   ENABLED REFONLY NROLES MASTER VER DESCRIPTION
a       anchor yes     no      0      NONE     0 anchors
b       batch  yes     no      0      NONE     0 batches


================================================
FILE: Tmain/e-ctags-output.d/input_file.cc
================================================
/* Could NOT be parsed well.
   The signature should be  recorded well. */
int32 test(int32 a)
{
    return 0;
}
/* Can be parsed */
int32 test2(void)
{
    return 0;
}

/* A tab is included in signature.
   However, it should be recorded well after converting
   the tab to a whitespace. */
int32 test3(int32	a)
{
    return 0;
}

/* A newline is included in signature.
   However, it should be recorded well after converting
   the newline to a whitespace. */
int32 test4(int32
a)
{
    return 0;
}


================================================
FILE: Tmain/e-ctags-output.d/input_scope.rst
================================================
===========
title
===========


X	tab	Y
===========
This one will not be recorded.

topic in tab
----------------------
This one will not be recorded if --fileds=+s is given
because a tab char is in the scope field.

X space Y
===========
This one will be recorded.

topic in space
----------------------
This one will be recorded.


================================================
FILE: Tmain/e-ctags-output.d/input_space.rst
================================================
===================================
A spaces B
===================================
Ths should be recorded in e-ctags output.


================================================
FILE: Tmain/e-ctags-output.d/input_tab.rst
================================================
===================================
A	tabs	B
===================================
Ths should not be recorded in e-ctags output.


================================================
FILE: Tmain/e-ctags-output.d/run.sh
================================================
# Copyright: 2019 Masatake YAMATO
# License: GPL-2
# The original bug is reported by @elecalion in #2014.

CTAGS=$1
BUILDDIR=$2

. ../utils.sh

tmp="input file.cc"

run()
{
	echo '#'
	echo '#' with $1
	echo '#'

	cp input_file.cc $BUILDDIR/"${tmp}"
	if ! direq_maybe $BUILDDIR .; then
		for f in input_*.rst; do
			if ! [ -e $BUILDDIR/$f ]; then
				cp $f $BUILDDIR
				copied=yes
			fi
		done
	fi
	(
		cd $BUILDDIR
		"${CTAGS}" --quiet --options=NONE ${1} --output-format=e-ctags \
				   --kinds-c++=+p --fields=+iaSs \
				   -o - \
				   "${tmp}" \
				   input_tab.rst input_space.rst
		rm -f "${tmp}"

		echo "# WITH SCOPE"
		"${CTAGS}" --quiet --options=NONE ${1} --output-format=e-ctags \
				   --fields=+s \
				   -o - \
				   input_scope.rst

		echo "# WITHOUT SCOPE"
		"${CTAGS}" --quiet --options=NONE ${1} --output-format=e-ctags \
				   --fields=-s \
				   -o - \
				   input_scope.rst

		if [ "$copied" = "yes" ]; then
			rm -f input_*.rst
		fi
	)
}

run "--sort=yes"
run "--sort=no"


================================================
FILE: Tmain/e-ctags-output.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/e-ctags-output.d/stdout-expected.txt
================================================
#
# with --sort=yes
#
A spaces B	input_space.rst	/^A spaces B$/;"	H
test	input file.cc	/^int32 test(int32 a)$/;"	f	typeref:typename:int32	signature:(int32 a)
test2	input file.cc	/^int32 test2(void)$/;"	f	typeref:typename:int32	signature:(void)
test3	input file.cc	/^int32 test3(int32	a)$/;"	f	typeref:typename:int32	signature:(int32 a)
test4	input file.cc	/^int32 test4(int32$/;"	f	typeref:typename:int32	signature:(int32 a)
# WITH SCOPE
X space Y	input_scope.rst	/^X space Y$/;"	c	title:title
title	input_scope.rst	/^title$/;"	H
topic in space	input_scope.rst	/^topic in space$/;"	s	chapter:X space Y
# WITHOUT SCOPE
X space Y	input_scope.rst	/^X space Y$/;"	c
title	input_scope.rst	/^title$/;"	H
topic in space	input_scope.rst	/^topic in space$/;"	s
topic in tab	input_scope.rst	/^topic in tab$/;"	s
#
# with --sort=no
#
test	input file.cc	/^int32 test(int32 a)$/;"	f	typeref:typename:int32	signature:(int32 a)
test2	input file.cc	/^int32 test2(void)$/;"	f	typeref:typename:int32	signature:(void)
test3	input file.cc	/^int32 test3(int32	a)$/;"	f	typeref:typename:int32	signature:(int32 a)
test4	input file.cc	/^int32 test4(int32$/;"	f	typeref:typename:int32	signature:(int32 a)
A spaces B	input_space.rst	/^A spaces B$/;"	H
# WITH SCOPE
title	input_scope.rst	/^title$/;"	H
X space Y	input_scope.rst	/^X space Y$/;"	c	title:title
topic in space	input_scope.rst	/^topic in space$/;"	s	chapter:X space Y
# WITHOUT SCOPE
title	input_scope.rst	/^title$/;"	H
topic in tab	input_scope.rst	/^topic in tab$/;"	s
X space Y	input_scope.rst	/^X space Y$/;"	c
topic in space	input_scope.rst	/^topic in space$/;"	s


================================================
FILE: Tmain/early--version-opt-processing.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/early--version-opt-processing.d/run.sh
================================================
# Copyright: 2023 Masatake YAMATO
# License: GPL-2

CTAGS=$1
BUILDDIR=$2

remove_ctags_d=y
if [ -d $BUILDDIR/.ctags.d ]; then
   remove_ctags_d=n
fi

defc_ctags=tmain_defc.ctags
mkdir -p $BUILDDIR/.ctags.d
echo "--langdef=C" > $BUILDDIR/.ctags.d/"$defc_ctags"

(cd $BUILDDIR; "${CTAGS}" --version;) > /dev/null
status=$?

rm $BUILDDIR/.ctags.d/"$defc_ctags"
if [ "$remove_ctags_d" = y ]; then
	rmdir $BUILDDIR/.ctags.d
fi

exit "$status"


================================================
FILE: Tmain/early--version-opt-processing.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/early--version-opt-processing.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/emacs-modeline-downcased-mode.d/exti-expected.txt
================================================
0


================================================
FILE: Tmain/emacs-modeline-downcased-mode.d/functions
================================================
# -*-Shell-script-*-

#
# This is found in /etc/init.d/functions of Fedora23.
#
# This test case is special as as case for modeline
# testing:
#
# 1. No whitespace between modename and -*-, and
# 2. Capitalized
#


================================================
FILE: Tmain/emacs-modeline-downcased-mode.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
$CTAGS --options=NONE --quiet -G --print-language ./functions



================================================
FILE: Tmain/emacs-modeline-downcased-mode.d/stderr-expected.txt
================================================
ctags: Notice: No options will be read from files or environment


================================================
FILE: Tmain/emacs-modeline-downcased-mode.d/stdout-expected.txt
================================================
./functions: Sh


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head.d/input
================================================
/* -*- mode: C++; eval: (auto-fill-mode 1); -*- */


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
$CTAGS --quiet --options=NONE -G --print-language input


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head.d/stdout-expected.txt
================================================
input: C++


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head2.d/input
================================================
/* -*- C++ -*- */


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head2.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
$CTAGS --quiet --options=NONE -G --print-language input


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-head2.d/stdout-expected.txt
================================================
input: C++


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-tail.d/input
================================================

























/* Local Variables:  */
/* mode: c++         */
/* comment-column: 0 */
/* End:              */




================================================
FILE: Tmain/emacs-modeline-non-alnum-in-tail.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
$CTAGS --quiet --options=NONE -G --print-language input


================================================
FILE: Tmain/emacs-modeline-non-alnum-in-tail.d/stdout-expected.txt
================================================
input: C++


================================================
FILE: Tmain/emacs-modeline-uppercased-marker.d/exti-expected.txt
================================================
0


================================================
FILE: Tmain/emacs-modeline-uppercased-marker.d/macros
================================================
#  -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.

# RPM macros for packages installing systemd unit files


================================================
FILE: Tmain/emacs-modeline-uppercased-marker.d/run.sh
================================================
# Copyright: 2019 Masatake YAMATO
# License: GPL-2

CTAGS=$1
$CTAGS --options=NONE --quiet -G --print-language ./macros


================================================
FILE: Tmain/emacs-modeline-uppercased-marker.d/stderr-expected.txt
================================================
ctags: Notice: No options will be read from files or environment


================================================
FILE: Tmain/emacs-modeline-uppercased-marker.d/stdout-expected.txt
================================================
./macros: RpmSpec


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline0.unknown
================================================
# -*- mode: sh; eval: (sh-set-shell "zsh") -*-


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline1.unknown
================================================
# -*- mode: shell-script; sh-set-shell: zsh -*-
# Emacs doesn't understand this notation but I found one in
# https://github.com/neumachen/dotfiles/blob/3e2b04249f852dbdf7dee1e33e518de61031eb04/private_dot_config/exact_zsh/dot_zprofile


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline2.unknown
================================================
# -*- mode: sh; eval: (sh-set-shell "bash") -*-


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline3.unknown
================================================
# -*- mode: shell-script; sh-set-shell: bash -*-
# Emacs doesn't understand this notation but I found one in
# https://github.com/neumachen/dotfiles/blob/3e2b04249f852dbdf7dee1e33e518de61031eb04/private_dot_config/exact_zsh/dot_zprofile


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline4.unknown
================================================
# -*- mode: sh -*-


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-firstline5.unknown
================================================
# -*- mode: shell-script -*-
# Emacs doesn't understand this notation but I found one in
# https://github.com/neumachen/dotfiles/blob/3e2b04249f852dbdf7dee1e33e518de61031eb04/private_dot_config/exact_zsh/dot_zprofile


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-lastlist0.unknown
================================================
# Local Variables:
# mode: sh
# eval: (sh-set-shell "zsh")
# End:


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-lastlist1.unknown
================================================
# Local Variables:
# mode: sh
# eval: (sh-set-shell "bash")
# End:


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/input-lastlist2.unknown
================================================
# Local Variables:
# mode: sh
# End:


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/run.sh
================================================
# Copyright: 2022 Masatake YAMATO
# License: GPL-2

CTAGS=$1

for f in input-firstline0.unknown \
			 input-firstline1.unknown \
			 input-firstline2.unknown \
			 input-firstline3.unknown \
			 input-firstline4.unknown \
			 input-firstline5.unknown \
			 input-lastlist0.unknown  \
			 input-lastlist1.unknown  \
			 input-lastlist2.unknown  \
		 ; do
	$CTAGS --quiet --options=NONE -G --print-language $f
done


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/emacs-modline-shell-script-zsh.d/stdout-expected.txt
================================================
input-firstline0.unknown: Zsh
input-firstline1.unknown: Zsh
input-firstline2.unknown: Sh
input-firstline3.unknown: Sh
input-firstline4.unknown: Sh
input-firstline5.unknown: Sh
input-lastlist0.unknown: Zsh
input-lastlist1.unknown: Sh
input-lastlist2.unknown: Sh


================================================
FILE: Tmain/enable-kind-postfix-with-wildcard.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE '--kinds-all=*' --list-kinds | grep '\[off\]'



================================================
FILE: Tmain/enable-kind-postfix-with-wildcard.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-postfix-with-wildcard.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-postfix.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE --kinds-c=+l-f --list-kinds=C | grep '^[fl]'





================================================
FILE: Tmain/enable-kind-postfix.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-postfix.d/stdout-expected.txt
================================================
f  function definitions [off]
l  local variables


================================================
FILE: Tmain/enable-kind-prefix-with-wildcard.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE --kinds-all='*' --list-kinds | grep '\[off\]'



================================================
FILE: Tmain/enable-kind-prefix-with-wildcard.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-prefix-with-wildcard.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-prefix.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE --kinds-c=+l-f --list-kinds=C | grep '^[fl]'


================================================
FILE: Tmain/enable-kind-prefix.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/enable-kind-prefix.d/stdout-expected.txt
================================================
f  function definitions [off]
l  local variables


================================================
FILE: Tmain/enable-non-existing-kind.d/run.sh
================================================
# Copyright: 2015 Masatake YAMATO
# License: GPL-2

CTAGS=$1
${CTAGS} --quiet --options=NONE --kinds-C=+Z --_force-quit



================================================
FILE: Tmain/enable-non-existing-kind.d/stderr-expected.txt
================================================
ctags: Warning: Unsupported kind: 'Z' for --kinds-C option


================================================
FILE: Tmain/epoch-field.d/run.sh
================================================
# Copyright: 2020 Masatake YAMATO
# License: GPL-2

CTAGS=$1

O0=/tmp/ctags-tstamp-$$.c
O1=/tmp/ctags-tstamp-$$.h
O2=/tmp/ctags-tstamp-$$.m

cat > $O0 <<EOF
int main (void)
{
	return 0;
}
EOF

cat > $O1 <<EOF
extern void foo (void);
EOF

cat > $O2 <<EOF
#import <class.h>
EOF

is_json_avaiable()
{
	$1 --quiet --options=NONE --with-list-header=no --list-features | grep -q "json"
}

run()
{
	local o=$1
	local t=$2
	shift 2
	local s

	echo $t
	TZ=UTC+00:00 touch -t '200402291621.42' $o &&
		$CTAGS "$@" --kinds-C= --extras=f --fields=T -o - $o \
			| sed -e 's/.*\(epoch:.*\)/tags:\1/' &&
		$CTAGS "$@" --kinds-C= --extras=f --fields=T -o - -x --_xformat="xref:epoch:%T" $o &&
		{
			if is_json_avaiable $CTAGS; then
				$CTAGS "$@" --kinds-C= --extras=f --fields=T -o - --output-format=json $o \
					| sed -e 's/.*"epoch": \([0-9]*\).*/json:epoch:\1/'
			else
				echo "json:epoch:1078071702"
			fi
		}
	s=$?
	rm $o
	return $s
}

run $O0 ".c file" --quiet --options=NONE && run $O1 ".h file" --quiet --options=NONE  && run $O2 ".m file" --quiet --options=NONE -G
exit $?


================================================
FILE: Tmain/epoch-field.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/epoch-field.d/stdout-expected.txt
================================================
.c file
tags:epoch:1078071702
xref:epoch:1078071702
json:epoch:1078071702
.h file
tags:epoch:1078071702
xref:epoch:1078071702
json:epoch:1078071702
.m file
tags:epoch:1078071702
xref:epoch:1078071702
json:epoch:1078071702


================================================
FILE: Tmain/errors-about-parser-specific-extras.d/run.sh
================================================
# Copyright: 2017 Masatake YAMATO
# License: GPL-2

CTAGS="$1"
O="--quiet --options=NONE --with-list-header=no"

echo '#lang' 1>&2
${CTAGS} ${O} --extras-NOSUCHLANG=-'{whitespaceSwapped}' --list-extras
${CTAGS} ${O} --extras-NOSUCHLANG=-'{whitespaceSwapped}' --list-extras=
${CTAGS} ${O} --extras-Robot=-'{whitespaceSwapped}' --list-extras=NOSUCHLANG

echo '#extras' 1>&2
${CTAGS} ${O} --extras-Robot=-'{NOSUCHEXTRA}' --list-extras
${CTAGS} ${O} --extras-Robot=-'{NOSUCHEXTRA}' --list-extras=
${CTAGS} ${O} --extras-Robot=-'{NOSUCHEXTRA}' --list-extras=NOSUCHLANG

echo '#null' 1>&2
${CTAGS} ${O} --extras-= --list-extras

# not an error, just set all extras to false.
${CTAGS} ${O} --extras-Robot= --list-extras

${CTAGS} ${O} --extras-Robot=-'{whitespaceSwapped}' --list-extras=

echo '#null null' 1>&2

# About --extras-Robot=, not an error, just set all extras to false.
${CTAGS} ${O} --extras-Robot= --list-extras=
${CTAGS} ${O} --extras-= --list-extras=


================================================
FILE: Tmain/errors-about-parser-specific-extras.d/stderr-expected.txt
================================================
#lang
ctags: Warning: Unknown language: NOSUCHLANG (ignoring "--extras-NOSUCHLANG")
ctags: Warning: Unknown language: NOSUCHLANG (ignoring "--extras-NOSUCHLANG")
ctags: Unknown language "NOSUCHLANG" in "list-extras" option
#extras
ctags: no such extra: 'NOSUCHEXTRA'
ctags: no such extra: 'NOSUCHEXTRA'
ctags: no such extra: 'NOSUCHEXTRA'
#null
ctags: No language given in "extras-" option
#null null
ctags: No language given in "extras-" option


================================================
FILE: Tmain/errors-if-tags-exits-as-directory.d/exit-expected.txt
================================================
1


================================================
FILE: Tmain/errors-if-tags-exits-as-directory.d/run.sh
================================================
# Copyright: 2024 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE $0


================================================
FILE: Tmain/errors-if-tags-exits-as-directory.d/stderr-expected.txt
================================================
ctags: "tags" already exists as a directory; I cannot write tag entries there.
Remove the directory or specify a file name with -o <tagfile> option.


================================================
FILE: Tmain/errors-if-tags-exits-as-directory.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/errors-in-options-roles.d/run.sh
================================================
# Copyright: 2020 Masatake YAMATO
# License: GPL-2
CTAGS=$1

status ()
{
	echo "status: $1"
} 1>&2

title()
{
    echo
    echo '#'
	for x in "$@"; do
		echo '#' $x
	done
    echo '#'
} 1>&2

run()
{
	title "$@"
	${CTAGS} --quiet --options=NONE "$@" --_force-quit=42
	status $?
}
run '--roles-all=something'

run '--roles-all.*=something'

run '--roles-all.?='

run '--roles-NoSuchLang='

run '--roles-NoSuchLang.*='
run '--roles-NoSuchLang=+{role}'
run '--roles-NoSuchLang=-{role}'

run '--roles-C={role}'
run '--roles-C=+{role}'
run '--roles-C=-{role}'

run '--roles-C.*={role}'
run '--roles-C.*=+{role}'
run '--roles-C.*=-{role}'

run '--roles-C.{header='
run '--roles-C.{file}='
run '--roles-C.{noSuchKind}='
run '--roles-C.{header}x='

run '--roles-C.F='

# run '--roles-C.X='
title "unknown kind letter x"
${CTAGS} --quiet --options=NONE --langdef=MyLang --roles-MyLang.X= --_force-quit=42
status $?

run '--roles-C.fx='
run '--roles-C.?='

run '--roles-C.h={system'
run '--roles-C.h=+{system'
run '--roles-C.h=-{system'
run '--roles-C.h={system}{local'
run '--roles-C.h=+{system}{local'
run '--roles-C.h=-{system}{local'
run '--roles-C.h={system{local}'
run '--roles-C.h=+{system{local}'
run '--roles-C.h=-{system{local}'

run '--roles-C.{header}={system'
run '--roles-C.{header}=+{system'
run '--roles-C.{header}=-{system'
run '--roles-C.{header}={system}{local'
run '--roles-C.{header}=+{system}{local'
run '--roles-C.{header}=-{system}{local'
run '--roles-C.{header}={system{local}'
run '--roles-C.{header}=+{system{local}'
run '--roles-C.{header}=-{system{local}'

run '--roles-C.h={noSuchRole}'
run '--roles-C.h=+{noSuchRole}'
run '--roles-C.h=-{noSuchRole}'
run '--roles-C.h={system}{noSuchRole}'
run '--roles-C.h={noSuchRole}'
run '--roles-C.h=+{system}{noSuchRole}'
run '--roles-C.h=-{system}{noSuchRole}'
run '--roles-C.h=+{system}-{noSuchRole}'
run '--roles-C.h=-{system}+{noSuchRole}'

run '--roles-C.{header}={noSuchRole}'
run '--roles-C.{header}=+{noSuchRole}'
run '--roles-C.{header}=-{noSuchRole}'
run '--roles-C.{header}={system}{noSuchRole}'
run '--roles-C.{header}={noSuchRole}'
run '--roles-C.{header}=+{system}{noSuchRole}'
run '--roles-C.{header}=-{system}{noSuchRole}'
run '--roles-C.{header}=+{system}-{noSuchRole}'
run '--roles-C.{header}=-{system}+{noSuchRole}'

run '--roles-C.h=x{system}'
run '--roles-C.h=+x{system}'
run '--roles-C.h=-x{system}'
run '--roles-C.h=x+{system}'
run '--roles-C.h=+x+{system}'
run '--roles-C.h=-x+{system}'
run '--roles-C.h=x-{system}'
run '--roles-C.h=+x-{system}'
run '--roles-C.h=-x+-system}'

run '--roles-C.{header}=x{system}'
run '--roles-C.{header}=+x{system}'
run '--roles-C.{header}=-x{system}'
run '--roles-C.{header}=x+{system}'
run '--roles-C.{header}=+x+{system}'
run '--roles-C.{header}=-x+{system}'
run '--roles-C.{header}=x-{system}'
run '--roles-C.{header}=+x-{system}'
run '--roles-C.{header}=-x+-system}'


================================================
FILE: Tmain/errors-in-options-roles.d/stderr-expected.txt
================================================

#
# --roles-all=something
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-all: something
status: 1

#
# --roles-all.*=something
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-all.*: something
status: 1

#
# --roles-all.?=
#
ctags: only '*' or '' (empty string) is acceptable as a kind spec for --roles-all: --roles-all.?
status: 1

#
# --roles-NoSuchLang=
#
ctags: Warning: unknown language "NoSuchLang" in --roles-NoSuchLang option
status: 42

#
# --roles-NoSuchLang.*=
#
ctags: Warning: unknown language "NoSuchLang" in --roles-NoSuchLang.* option
status: 42

#
# --roles-NoSuchLang=+{role}
#
ctags: Warning: unknown language "NoSuchLang" in --roles-NoSuchLang option
status: 42

#
# --roles-NoSuchLang=-{role}
#
ctags: Warning: unknown language "NoSuchLang" in --roles-NoSuchLang option
status: 42

#
# --roles-C={role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C: {role}
status: 1

#
# --roles-C=+{role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C: +{role}
status: 1

#
# --roles-C=-{role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C: -{role}
status: 1

#
# --roles-C.*={role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C.*: {role}
status: 1

#
# --roles-C.*=+{role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C.*: +{role}
status: 1

#
# --roles-C.*=-{role}
#
ctags: only '*' or '' (empty string) is acceptable as an argument for --roles-C.*: -{role}
status: 1

#
# --roles-C.{header=
#
ctags: no '}' representing the end of kind name in --roles-C.{header option: {header
status: 1

#
# --roles-C.{file}=
#
ctags: Warning: don't enable/disable a role in F/file kind; it has no role: --roles-C.{file}
status: 42

#
# --roles-C.{noSuchKind}=
#
ctags: Warning: no such kind name as specified in --roles-C.{noSuchKind} option
status: 42

#
# --roles-C.{header}x=
#
ctags: garbage after the kind specification {header} in --roles-C.{header}x option
status: 1

#
# --roles-C.F=
#
ctags: Warning: don't enable/disable a role in F/file kind; it has no role: --roles-C.F
status: 42

#
# unknown kind letter x
#
ctags: Warning: no such kind letter as specified in --roles-MyLang.X option
status: 42

#
# --roles-C.fx=
#
ctags: garbage after the kind specification 'f' in --roles-C.fx option
status: 1

#
# --roles-C.?=
#
ctags: '?', unexpected character in --roles-C.?
status: 1

#
# --roles-C.h={system
#
ctags: no '}' representing the end of role name in --roles-C.h option: system
status: 1

#
# --roles-C.h=+{system
#
ctags: no '}' representing the end of role name in --roles-C.h option: system
status: 1

#
# --roles-C.h=-{system
#
ctags: no '}' representing the end of role name in --roles-C.h option: system
status: 1

#
# --roles-C.h={system}{local
#
ctags: no '}' representing the end of role name in --roles-C.h option: local
status: 1

#
# --roles-C.h=+{system}{local
#
ctags: no '}' representing the end of role name in --roles-C.h option: local
status: 1

#
# --roles-C.h=-{system}{local
#
ctags: no '}' representing the end of role name in --roles-C.h option: local
status: 1

#
# --roles-C.h={system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=+{system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=-{system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}={system
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: system
status: 1

#
# --roles-C.{header}=+{system
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: system
status: 1

#
# --roles-C.{header}=-{system
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: system
status: 1

#
# --roles-C.{header}={system}{local
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: local
status: 1

#
# --roles-C.{header}=+{system}{local
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: local
status: 1

#
# --roles-C.{header}=-{system}{local
#
ctags: no '}' representing the end of role name in --roles-C.{header} option: local
status: 1

#
# --roles-C.{header}={system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=+{system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=-{system{local}
#
ctags: Warning: no such role: "system{local" in kind 'h' in language "C"
status: 42

#
# --roles-C.h={noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=+{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=-{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h={system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h={noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=+{system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=-{system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=+{system}-{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=-{system}+{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}={noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=+{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=-{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}={system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}={noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=+{system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=-{system}{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=+{system}-{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.{header}=-{system}+{noSuchRole}
#
ctags: Warning: no such role: "noSuchRole" in kind 'h' in language "C"
status: 42

#
# --roles-C.h=x{system}
#
ctags: unexpected character x in --roles-C.h=x{system} option
status: 1

#
# --roles-C.h=+x{system}
#
ctags: unexpected character x in --roles-C.h=+x{system} option
status: 1

#
# --roles-C.h=-x{system}
#
ctags: unexpected character x in --roles-C.h=-x{system} option
status: 1

#
# --roles-C.h=x+{system}
#
ctags: unexpected character x in --roles-C.h=x+{system} option
status: 1

#
# --roles-C.h=+x+{system}
#
ctags: unexpected character x in --roles-C.h=+x+{system} option
status: 1

#
# --roles-C.h=-x+{system}
#
ctags: unexpected character x in --roles-C.h=-x+{system} option
status: 1

#
# --roles-C.h=x-{system}
#
ctags: unexpected character x in --roles-C.h=x-{system} option
status: 1

#
# --roles-C.h=+x-{system}
#
ctags: unexpected character x in --roles-C.h=+x-{system} option
status: 1

#
# --roles-C.h=-x+-system}
#
ctags: unexpected character x in --roles-C.h=-x+-system} option
status: 1

#
# --roles-C.{header}=x{system}
#
ctags: unexpected character x in --roles-C.{header}=x{system} option
status: 1

#
# --roles-C.{header}=+x{system}
#
ctags: unexpected character x in --roles-C.{header}=+x{system} option
status: 1

#
# --roles-C.{header}=-x{system}
#
ctags: unexpected character x in --roles-C.{header}=-x{system} option
status: 1

#
# --roles-C.{header}=x+{system}
#
ctags: unexpected character x in --roles-C.{header}=x+{system} option
status: 1

#
# --roles-C.{header}=+x+{system}
#
ctags: unexpected character x in --roles-C.{header}=+x+{system} option
status: 1

#
# --roles-C.{header}=-x+{system}
#
ctags: unexpected character x in --roles-C.{header}=-x+{system} option
status: 1

#
# --roles-C.{header}=x-{system}
#
ctags: unexpected character x in --roles-C.{header}=x-{system} option
status: 1

#
# --roles-C.{header}=+x-{system}
#
ctags: unexpected character x in --roles-C.{header}=+x-{system} option
status: 1

#
# --roles-C.{header}=-x+-system}
#
ctags: unexpected character x in --roles-C.{header}=-x+-system} option
status: 1


================================================
FILE: Tmain/errors-in-options-roles.d/stdout-expected.txt
================================================


================================================
FILE: Tmain/excmd-combine-backward.d/input.cpp
================================================
static int
bar(void)
{
  const int foo = 0;

  return foo;
}

int
main(void)
{
  int foo;
  foo = bar();
  return foo;
}


================================================
FILE: Tmain/excmd-combine-backward.d/run.sh
================================================
#!/bin/sh

# Copyright: 2018 Masatake YAMATO
# License: GPL-2

CTAGS=$1

$CTAGS --quiet --options=NONE -o - -B --excmd=combine input.cpp


================================================
FILE: Tmain/excmd-combine-backward.d/stdout-expected.txt
================================================
bar	input.cpp	2;?^bar(void)$?;"	f	typeref:typename:int	file:
main	input.cpp	10;?^main(void)$?;"	f	typeref:typename:int


================================================
FILE: Tmain/excmd-combine.d/input.cpp
================================================
static int
bar(void)
{
  const int foo = 0;

  return foo;
}

int
main(void)
{
  int foo;
  foo = bar();
  return foo;
}


================================================
FILE: Tmain/excmd-combine.d/run.sh
================================================
#!/bin/sh

# Copyright: 2018 Masatake YAMATO
# License: GPL-2

CTAGS=$1

$CTAGS --quiet --options=NONE -o - --excmd=combine input.cpp


================================================
FILE: Tmain/excmd-combine.d/stdout-expected.txt
================================================
bar	input.cpp	2;/^bar(void)$/;"	f	typeref:typename:int	file:
main	input.cpp	10;/^main(void)$/;"	f	typeref:typename:int


================================================
FILE: Tmain/extension-vs-pattern.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/extension-vs-pattern.d/input.xxx
================================================


================================================
FILE: Tmain/extension-vs-pattern.d/run.sh
================================================
#!/bin/sh
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE			\
	 --print-language			\
	 --langdef=AAA --map-AAA='(input.xxx)'	\
	 --langdef=BBB --map-BBB=.xxx      	\
	 input.xxx &&
${CTAGS} --quiet --options=NONE			\
	 --print-language			\
	 --langdef=AAA --map-AAA=.xxx      	\
	 --langdef=BBB --map-BBB='(input.xxx)'	\
	 input.xxx

exit $?



================================================
FILE: Tmain/extension-vs-pattern.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/extension-vs-pattern.d/stdout-expected.txt
================================================
input.xxx: AAA
input.xxx: BBB


================================================
FILE: Tmain/extras-field-for-pseudo-tags.d/input.c
================================================
int main (void) { return 0; }


================================================
FILE: Tmain/extras-field-for-pseudo-tags.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

run_ctags()
{
	echo '# option: ' "$@"
	${CTAGS} --quiet --options=NONE \
			 --fields=E --extras=p \
			 --pseudo-tags=-TAG_PROGRAM_VERSION \
			 --pseudo-tags=-TAG_PROC_CWD \
			 --pseudo-tags=-TAG_PARSER_VERSION \
			 --pseudo-tags=-TAG_OUTPUT_VERSION \
			 $@ \
			 -o - input.c
}

run_ctags --format=1
run_ctags --format=2


================================================
FILE: Tmain/extras-field-for-pseudo-tags.d/stdout-expected.txt
================================================
# option:  --format=1
!_TAG_EXTRA_DESCRIPTION	pseudo	/Include pseudo tags/
!_TAG_FIELD_DESCRIPTION	extras	/Extra tag type information/
!_TAG_FIELD_DESCRIPTION	input	/input file/
!_TAG_FIELD_DESCRIPTION	name	/tag name/
!_TAG_FIELD_DESCRIPTION	pattern	/pattern/
!_TAG_FILE_FORMAT	1	/original ctags format/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!C	d,macro	/macro definitions/
!_TAG_KIND_DESCRIPTION!C	e,enumerator	/enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C	f,function	/function definitions/
!_TAG_KIND_DESCRIPTION!C	g,enum	/enumeration names/
!_TAG_KIND_DESCRIPTION!C	h,header	/included header files/
!_TAG_KIND_DESCRIPTION!C	m,member	/struct, and union members/
!_TAG_KIND_DESCRIPTION!C	s,struct	/structure names/
!_TAG_KIND_DESCRIPTION!C	t,typedef	/typedefs/
!_TAG_KIND_DESCRIPTION!C	u,union	/union names/
!_TAG_KIND_DESCRIPTION!C	v,variable	/variable definitions/
!_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_PATTERN_LENGTH_LIMIT	96	/0 for no limit/
!_TAG_PROGRAM_AUTHOR	Universal Ctags Team	//
!_TAG_PROGRAM_NAME	Universal Ctags	/Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL	https://ctags.io/	/official site/
!_TAG_ROLE_DESCRIPTION!C!function	foreigncall	/called in foreign languages/
!_TAG_ROLE_DESCRIPTION!C!function	foreigndecl	/declared in foreign languages/
!_TAG_ROLE_DESCRIPTION!C!header	local	/local header/
!_TAG_ROLE_DESCRIPTION!C!header	system	/system header/
!_TAG_ROLE_DESCRIPTION!C!macro	undef	/undefined/
!_TAG_ROLE_DESCRIPTION!C!struct	foreigndecl	/declared in foreign languages/
main	input.c	/^int main (void) { return 0; }$/
# option:  --format=2
!_TAG_EXTRA_DESCRIPTION	pseudo	/Include pseudo tags/;"	extras:pseudo
!_TAG_FIELD_DESCRIPTION	extras	/Extra tag type information/;"	extras:pseudo
!_TAG_FIELD_DESCRIPTION	input	/input file/;"	extras:pseudo
!_TAG_FIELD_DESCRIPTION	name	/tag name/;"	extras:pseudo
!_TAG_FIELD_DESCRIPTION	pattern	/pattern/;"	extras:pseudo
!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/;"	extras:pseudo
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	d,macro	/macro definitions/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	e,enumerator	/enumerators (values inside an enumeration)/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	f,function	/function definitions/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	g,enum	/enumeration names/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	h,header	/included header files/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	m,member	/struct, and union members/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	s,struct	/structure names/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	t,typedef	/typedefs/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	u,union	/union names/;"	extras:pseudo
!_TAG_KIND_DESCRIPTION!C	v,variable	/variable definitions/;"	extras:pseudo
!_TAG_OUTPUT_EXCMD	mixed	/number, pattern, mixed, or combineV2/;"	extras:pseudo
!_TAG_OUTPUT_FILESEP	slash	/slash or backslash/;"	extras:pseudo
!_TAG_OUTPUT_MODE	u-ctags	/u-ctags or e-ctags/;"	extras:pseudo
!_TAG_PATTERN_LENGTH_LIMIT	96	/0 for no limit/;"	extras:pseudo
!_TAG_PROGRAM_AUTHOR	Universal Ctags Team	//;"	extras:pseudo
!_TAG_PROGRAM_NAME	Universal Ctags	/Derived from Exuberant Ctags/;"	extras:pseudo
!_TAG_PROGRAM_URL	https://ctags.io/	/official site/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!function	foreigncall	/called in foreign languages/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!function	foreigndecl	/declared in foreign languages/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!header	local	/local header/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!header	system	/system header/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!macro	undef	/undefined/;"	extras:pseudo
!_TAG_ROLE_DESCRIPTION!C!struct	foreigndecl	/declared in foreign languages/;"	extras:pseudo
main	input.c	/^int main (void) { return 0; }$/


================================================
FILE: Tmain/extras-field.d/exit-expected.txt
================================================
0


================================================
FILE: Tmain/extras-field.d/input.cpp
================================================
#define Z
namespace X {
  extern class Y {
    int m;
  } v;
}
#undef Z


================================================
FILE: Tmain/extras-field.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

${CTAGS} --quiet --options=NONE --kinds-C++=+x --fields=+Ere-T --extras=+qrf -o - input.cpp \
    | sed -e 's|[^	]*\(input.cpp\)|\1|'


================================================
FILE: Tmain/extras-field.d/stderr-expected.txt
================================================


================================================
FILE: Tmain/extras-field.d/stdout-expected.txt
================================================
X	input.cpp	/^namespace X {$/;"	n	file:	roles:def	extras:fileScope	end:6
X::Y	input.cpp	/^  extern class Y {$/;"	c	namespace:X	file:	roles:def	extras:fileScope,qualified	end:5
X::Y::m	input.cpp	/^    int m;$/;"	m	class:X::Y	typeref:typename:int	file:	roles:def	extras:fileScope,qualified	end:4
X::v	input.cpp	/^  } v;$/;"	x	namespace:X	typeref:class:X::Y	roles:def	extras:qualified	end:5
Y	input.cpp	/^  extern class Y {$/;"	c	namespace:X	file:	roles:def	extras:fileScope	end:5
Z	input.cpp	/^#define Z$/;"	d	file:	roles:def	extras:fileScope	end:1
Z	input.cpp	/^#undef Z$/;"	d	file:	roles:undef	extras:fileScope,reference
input.cpp	input.cpp	1;"	F	roles:def	extras:inputFile	end:7
m	input.cpp	/^    int m;$/;"	m	class:X::Y	typeref:typename:int	file:	roles:def	extras:fileScope	end:4
v	input.cpp	/^  } v;$/;"	x	namespace:X	typeref:class:X::Y	roles:def	end:5


================================================
FILE: Tmain/extras-long.d/run.sh
================================================
# Copyright: 2016 Masatake YAMATO
# License: GPL-2

CTAGS=$1

no_yaml()
{
	grep -v I18nRubyGem
}

echo '# resetting'
${CTAGS} --quiet --options=NONE --with-list-header=no \
	 --extras='{subparser}' --list-extras | no_yaml

echo '# enabling 1'
${CTAGS} --quiet --options=NONE --with-list-header=no \
	 --extras=+'{pseudo}' --list-extras | no_yaml

echo '# disabling 1'
${CTAGS} --quiet --options=NONE --with-list-header=no \
	 --extras=-'{fileScope}' --list-extras | no_yaml

echo '# combination'
${CTAGS} --quiet --options=NONE --with-list-header=no \
	 --extras=-'{fileScope}+{inputFile}{reference}' --list-extras | no_yaml

echo '# combination with letters'
${CTAGS} --quiet --options=NONE --with-list-header=no \
	 --extras=-'{fileScope}+p{inputFile}q{reference}-f' --list-extras | no_yaml


================================================
FILE: Tmain/extras-long.d/stdout-expected.txt
================================================
# resetting
-       anonymous           no      NONE        no      0 Include tags for non-named objects like lambda
F       fileScope           no      NONE        no      0 Include tags of file scope
f       inputFile           no      NONE        no      0 Include an entry for the base file name of every input file
g       guest               no      NONE        no      0 Include tags generated by guest parsers
p       pseudo              no      NONE        no      0 Include pseudo tags
q       qualified           no      NONE        no      0 Include an extra class-qualified tag entry for each tag
r       reference           no      NONE        no      0 Include reference tags
s       subparser           yes     NONE        no      0 Include tags generated by subparsers
z       nulltag             no      NONE        no      1 Include tags with empty strings as their names
-       canonicalizedName   yes     Automake    no      1 Include canonicalized object name like libctags_a
-       linkName            no      Fortran     no      1 Linking name used in foreign languages
-       implicitClass       no      GDScript    no      0 Include tag for the implicitly defined unnamed class
-       doubleSharps        no      IPythonCell no      0 Include cells starting from ##
-       configPrefixed      yes     Kconfig     no      0 prepend CONFIG_ to config names
-       CppDef              no      Make        no      1 Include FOO in -DFOO as as a name of CPreProcessor macro
-       implicitImportName  yes     Odin        no      0 implicitly defined import name like "filepath" in "core:path/filepath"
-       guessedFromFileName yes     PkgConfig   no      0 the guessed package name of the .pc file
-       arityAppended       yes     Prolog      no      0 Include predicates with their arities
-       funcmap             yes     QemuHX      no      0 Include mapping SQMP to C function name
-       whitespaceSwapped   yes     Robot       no      0 Include tags swapping whitespace and underscore chars
# enabling 1
-       anonymous           yes     NONE        no      0 Include tags for non-named objects like lambda
F       fileScope           yes     NONE        no      0 Include tags of file scope
f       inputFile           no      NONE        no      0 Include an entry for the base file name of every input file
g       guest               no      NONE        no      0 Include tags generated by guest parsers
p       pseudo              yes     NONE        no      0 Include pseudo tags
q       qualified           no      NONE        no      0 Include an extra class-qualified tag entry for each tag
r       reference           no      NONE        no      0 Include reference tags
s       subparser           yes     NONE        no      0 Include tags generated by subparsers
z       nulltag             no      NONE        no      1 Include tags with empty strings as their names
-       canonicalizedName   yes     Automake    no      1 Include canonicalized object name like libctags_a
-       linkName            no      Fortran     no      1 Linking name used in foreign languages
-       implicitClass       no      GDScript    no      0 Include tag for the implicitly defined unnamed class
-       doubleSharps        no      IPythonCell no      0 Include cells starting from ##
-       configPrefixed      yes     Kconfig     no      0 prepend CONFIG_ to config names
-       CppDef              no      Make        no      1 Include FOO in -DFOO as as a name of CPreProcessor macro
-       implicitImportName  yes     Odin        no      0 implicitly defined import name like "filepath" in "core:path/filepath"
-       guessedFromFileName yes     PkgConfig   no      0 the guessed package name of the .pc file
-       arityAppended       yes     Prolog      no      0 Include predicates with their arities
-       funcmap             yes     QemuHX      no      0 Include mapping SQMP to C function name
-       whitespaceSwapped   yes     Robot       no      0 Include tags swapping whitespace and underscore chars
# disabling 1
-       anonymous           yes     NONE        no      0 Include tags for non-named objects like lambda
F       fileScope           no      NONE        no      0 Include tags of file scope
f       inputFile           no      NONE        no      0 Include an entry for the base file name of every input file
g       guest               no      NONE        no      0 Include tags generated by guest parsers
p       pseudo              yes     NONE        no      0 Include pseudo tags
q       qualified           no      NONE        no      0 Include an extra class-qualified tag entry for each tag
r       reference           no      NONE        no      0 Include reference tags
s       subparser           yes     NONE        no      0 Include tags generated by subparsers
z       nulltag             no      NONE        no      1 Include tags with empty strings as their names
-       canonicalizedName   yes     Automake    no      1 Include canonicalized object name like libctags_a
-       linkName            no      Fortran     no      1 Linking name used in foreign languages
-       implicitClass       no      GDScript    no      0 Include tag for the implicitly defined unnamed class
-       doubleSharps        no      IPythonCell no      0 Include cells starting from ##
-       configPrefixed      yes     Kconfig     no      0 prepend CONFIG_ to config names
-       CppDef              no      Make        no      1 Include FOO in -DFOO as as a name of CPreProcessor macro
-       implicitImportName  yes     Odin        no      0 implicitly defined import name like "filepath" in "core:path/filepath"
-       guessedFromFileName yes     PkgConfig   no      0 the guessed package name of the .pc file
-       arityAppended       yes     Prolog      no      0 Include predicates with their arities
-       funcmap             yes     QemuHX      no      0 Include mapping SQMP to C function name
-       whitespaceSwapped   yes     Robot       no      0 Include tags swapping whitespace and underscore chars
# combination
-       anonymous           yes     NONE        no      0 Include tags for non-named objects like lambda
F       fileScope           no      NONE        no      0 Include tags of file scope
f       inputFile           yes     NONE        no      0
Download .txt
Showing preview only (260K chars total). Download the full file or copy to clipboard to get everything.
gitextract_ldlramtq/

├── .ctags.d/
│   └── exclusion.ctags
├── .dir-locals.el
├── .editorconfig
├── .gdbinit
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── building-with-nmake.yml
│       ├── building-with-pegof.yml
│       ├── code-coverage-on-ubuntu.yml
│       ├── cross-compile-for--netbsd-on-ubuntu.yml
│       ├── cross-compile-for-android-on-macos.yml
│       ├── cross-compile-for-android-on-ubuntu.yml
│       ├── cross-compile-for-freebsd-on-ubuntu.yml
│       ├── cross-compile-for-openbsd-on-ubuntu.yml
│       ├── cross-compile-for-windows-on-macos.yml
│       ├── cross-compile-for-windows-on-ubuntu.yml
│       ├── run-citre-tests.yml
│       ├── tagging.yml
│       ├── testing-bsds.yml.bak
│       ├── testing-on-alpine.yml
│       ├── testing-on-cygwin.yml
│       ├── testing-on-freebsd.yml
│       ├── testing-on-macos.yml
│       ├── testing-on-msys2.yml
│       ├── testing-on-netbsd.yml
│       ├── testing-on-openbsd.yml
│       ├── testing-on-ubi.yml
│       ├── testing-on-ubuntu.yml
│       └── testing-with-valgrind.yml
├── .gitignore
├── .indent.pro
├── .readthedocs.yaml
├── .uncrustify.cfg
├── COPYING
├── Makefile.am
├── README.md
├── Tmain/
│   ├── abnormal-output-file-names.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── alias-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── allow-null-tag.d/
│   │   ├── exit-expected.txt
│   │   ├── input.json
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── avoid-null-tag-warning.d/
│   │   ├── input-0.sql
│   │   ├── input.asm
│   │   ├── input.sql
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-extradef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-fielddef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-json-output.d/
│   │   ├── exit-expected.tx
│   │   ├── input.f
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-langdef.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-paramdef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-regex-pattern.d/
│   │   ├── broken-pattern.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── broken-tagname-in-ectags-format.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-tagname-quiet.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-tagname.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── broken-version.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── c-anon-counter.d/
│   │   ├── exit-expected.txt
│   │   ├── input1.c
│   │   ├── input2.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── c-large-enum.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── case-insensitive-pattern.d/
│   │   ├── INPUT.MK
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── clear-aliases.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── client-vista-vim-fields-expectation.d/
│   │   ├── README.md
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── test.vim
│   ├── combination-of-fields-Zs.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── combination-of-fields-zkK.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── common-prelude.d/
│   │   ├── aindex.expected
│   │   ├── aindex.ps
│   │   ├── amember.expected
│   │   ├── amember.ps
│   │   ├── buildstring.expected
│   │   ├── buildstring.ps
│   │   ├── chop.expected
│   │   ├── chop.ps
│   │   ├── dedup.expected
│   │   ├── dedup.ps
│   │   ├── dedup_spaces.expected
│   │   ├── dedup_spaces.ps
│   │   ├── ndup.expected
│   │   ├── ndup.ps
│   │   ├── normalize_spaces.expected
│   │   ├── normalize_spaces.ps
│   │   ├── putlast.expected
│   │   ├── putlast.ps
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── tr.expected
│   │   └── tr.ps
│   ├── cxx-how-kinds-defs-are-shared-or-copyed.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── disable-fixed-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── disable-languages.d/
│   │   ├── input-matlab.m
│   │   ├── input-objc.m
│   │   ├── input.m
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── dot-ctags-with-indentation.d/
│   │   ├── args.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── dynamic-kinds.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── e-ctags-output.d/
│   │   ├── input_file.cc
│   │   ├── input_scope.rst
│   │   ├── input_space.rst
│   │   ├── input_tab.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── early--version-opt-processing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-downcased-mode.d/
│   │   ├── exti-expected.txt
│   │   ├── functions
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-head.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-head2.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-non-alnum-in-tail.d/
│   │   ├── input
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── emacs-modeline-uppercased-marker.d/
│   │   ├── exti-expected.txt
│   │   ├── macros
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── emacs-modline-shell-script-zsh.d/
│   │   ├── input-firstline0.unknown
│   │   ├── input-firstline1.unknown
│   │   ├── input-firstline2.unknown
│   │   ├── input-firstline3.unknown
│   │   ├── input-firstline4.unknown
│   │   ├── input-firstline5.unknown
│   │   ├── input-lastlist0.unknown
│   │   ├── input-lastlist1.unknown
│   │   ├── input-lastlist2.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-postfix-with-wildcard.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-postfix.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-prefix-with-wildcard.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-kind-prefix.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── enable-non-existing-kind.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── epoch-field.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── errors-about-parser-specific-extras.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── errors-if-tags-exits-as-directory.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── errors-in-options-roles.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── excmd-combine-backward.d/
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── excmd-combine.d/
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── extension-vs-pattern.d/
│   │   ├── exit-expected.txt
│   │   ├── input.xxx
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── extras-field-for-pseudo-tags.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── extras-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── extras-long.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── filter-option-write-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── filter-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── fixed-field-handling-in-json-format.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── fixed-field-handling.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── flags-fielddef-datatype.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── force-initializing-option.d/
│   │   ├── README
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── xit-expected.txt
│   ├── gcov-sandbox.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── generate-anon-ids.d/
│   │   ├── input0.c
│   │   ├── input1.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── getter-extras-field.d/
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── input-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── interactive-mode.d/
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   ├── test.c
│   │   └── test.rb
│   ├── interactive-notice-output.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── interactive-option-write-to-file.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── test.rb
│   ├── interactive-resource-management.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── invalid-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-backslash-in-input-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.php
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-for-broken-input.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cs
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-format.d/
│   │   ├── input.1
│   │   ├── input.c
│   │   ├── input.go
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── json-output-much-parser-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   └── run.sh
│   ├── json-output-ptag-in-list-extras.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-output-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── json-output-typed-fields.d/
│   │   ├── input.c
│   │   ├── input.ctst
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── json-parser-limit-recursion.d/
│   │   ├── exit-expected.txt
│   │   ├── input512-one.json
│   │   ├── input512-two.json
│   │   ├── input513-one.json
│   │   ├── input513-two.json
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kind-abnormal-spec.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kind-and-role-defaults.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kind-long-lregex.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kind-long.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── kinddef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── kinds-all-with-spec.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lang-sequel.d/
│   │   ├── args.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lang-with-no-pattern.d/
│   │   ├── exit-expected.txt
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── langmap-option-including-patterns.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── langmap-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── language-filed-optscript.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── language-names.d/
│   │   ├── exit-expected.txt
│   │   └── run.sh
│   ├── languages-and-language-force-options.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── line-regex-optscript.d/
│   │   ├── exit-expected.txt
│   │   ├── hello.ctags
│   │   ├── input.hello
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-aliases.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-excludes.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-extras.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-fixed-field-handling.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-none.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-fields-with-prefix.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── input.java
│   │   ├── input.sh
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-kinds-full.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-language-fields.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-language-flags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-map-extensions.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-map-patterns.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-map-rexprs.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── something/
│   │   │   ├── input.CPP
│   │   │   ├── input.c
│   │   │   └── input.h
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-mline-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-mtable-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-output-formats.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-params.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-pseudo-tags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-regex-flags.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-roles-with-kind-names.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── list-roles.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── list-subparsers-all.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-cwd-no-dot.d/
│   │   ├── ctags.d/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-cwd.d/
│   │   ├── .ctags.d/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-default-xdg-config-home.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-home.d/
│   │   ├── exit-expected.txt
│   │   ├── myhome/
│   │   │   └── .ctags.d/
│   │   │       ├── a.ctags
│   │   │       ├── b.ctags
│   │   │       └── c.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-conf-files-under-xdg-config-home.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── load-dot-ctags-twice.d/
│   │   ├── dot.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-clear-patterns.d/
│   │   ├── input.c
│   │   ├── mylang.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-kind-letter.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-kind-name.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds-full.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds-uniquely.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── lregex-list-kinds.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-reject-reserved-kind.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-scan-the-rest-of-input.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── lregex-unexpected-regex-kind.d/
│   │   ├── X.ctags
│   │   ├── Y-r-regex-with-kinddef.ctags
│   │   ├── Y-r-regex.ctags
│   │   ├── Y-r.ctags
│   │   ├── Y-regex.ctags
│   │   ├── Yempty1.ctags
│   │   ├── Yempty2.ctags
│   │   ├── Ynokind.ctags
│   │   ├── input.yyy
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-lang-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-removing.d/
│   │   ├── ada.m
│   │   ├── exit-expected.txt
│   │   ├── matlab.m
│   │   ├── objc.m
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── map-rexpr.d/
│   │   ├── macros.d/
│   │   │   └── macros.vim
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── maxdepth.d/
│   │   ├── run.sh
│   │   ├── src/
│   │   │   ├── a.c
│   │   │   └── subdir/
│   │   │       └── b.c
│   │   └── stdout-expected.txt
│   ├── mline-no-advance.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── mtable-avoid-infinite-loop-at-the-eof.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── input2.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── mtable-mutual-entering.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── input2.bar
│   │   ├── input3.baz
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── mtable-pinning.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── mtable-stats.d/
│   │   ├── args.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── multi-roles.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nameless-long-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── nested-mio.d/
│   │   ├── exit-expected.txt
│   │   ├── input.cst
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nested-subparsers-multilines.d/
│   │   ├── event.ctags
│   │   ├── hook.ctags
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nested-subparsers.d/
│   │   ├── event.ctags
│   │   ├── hook.ctags
│   │   ├── input.c
│   │   ├── plugin.ctags
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   └── unused-attr.ctags
│   ├── no-empty-tag.d/
│   │   ├── input-0.mak
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── no-input-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── notice-about-broken-symlink.d/
│   │   ├── .gitignore
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── null-description-in-pseudo-tag.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── nulltag-extra.d/
│   │   ├── input.cst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── omit-long-patterns-etags.d/
│   │   ├── input.sh
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── omit-long-patterns.d/
│   │   ├── gen.sh
│   │   ├── input.sh
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-dump-keywords.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-dump-options.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-echo-and-force-quit.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-exclude-exception.d/
│   │   ├── input.d/
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   └── bazel-z/
│   │   │       └── z.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-exclude-including-fsep.d/
│   │   ├── input.d/
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   ├── bazel-z/
│   │   │   │   └── z.c
│   │   │   └── labze-a/
│   │   │       └── a.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-exclude-simple.d/
│   │   ├── input.d/
│   │   │   ├── a.h
│   │   │   ├── bazel-x/
│   │   │   │   └── x.c
│   │   │   ├── bazel-y/
│   │   │   │   └── y.c
│   │   │   └── bazel-z/
│   │   │       └── z.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-extradef-in-mtable.d/
│   │   ├── input.mtextra
│   │   ├── mtextra.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-extras-enabling-all.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-no-such-foreign-extra.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-no-such-foreign-field.d/
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-options-directory.d/
│   │   ├── exit-expected.txt
│   │   ├── optlib/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── option-options-maybe.d/
│   │   ├── exit-expected.txt
│   │   ├── input-maybe.c
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── option-pseudo-tags.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-totals-extra.d/
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── option-use-slash-as-filename-separator.d/
│   │   ├── run.sh
│   │   ├── src/
│   │   │   └── input.c
│   │   └── stdout-expected.txt
│   ├── optlib-dir-option.d/
│   │   ├── optlib/
│   │   │   ├── a.ctags
│   │   │   ├── b.ctags
│   │   │   └── c.ctags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── optlib-message-flag.d/
│   │   ├── args.ctags
│   │   ├── input0.foo
│   │   ├── input1.foo
│   │   ├── input2.foo
│   │   ├── input3.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── optscript-preludes-stack.d/
│   │   ├── args-c.ctags
│   │   ├── args-cpreprocessor.ctags
│   │   ├── args-dts.ctags
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── input.dts
│   │   ├── input.i
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── optscript-scope.d/
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknown.ctags
│   ├── optscript.d/
│   │   ├── arithmetic.expected
│   │   ├── arithmetic.ps
│   │   ├── array.expected
│   │   ├── array.ps
│   │   ├── arrayx.expected
│   │   ├── arrayx.ps
│   │   ├── compound.expected
│   │   ├── compound.ps
│   │   ├── control.expected
│   │   ├── control.ps
│   │   ├── dict.expected
│   │   ├── dict.ps
│   │   ├── dictx.expected
│   │   ├── dictx.ps
│   │   ├── error-undefined-if-if.expected
│   │   ├── error-undefined-if-if.ps
│   │   ├── error-undefined-if.expected
│   │   ├── error-undefined-if.ps
│   │   ├── exit-expected.txt
│   │   ├── misc.expected
│   │   ├── misc.ps
│   │   ├── pstack.expected
│   │   ├── pstack.ps
│   │   ├── read-and-print.expected
│   │   ├── read-and-print.ps
│   │   ├── relalogbits.expected
│   │   ├── relalogbits.ps
│   │   ├── run.sh
│   │   ├── stack.expected
│   │   ├── stack.ps
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── string.expected
│   │   ├── string.ps
│   │   ├── typeattrconv.expected
│   │   └── typeattrconv.ps
│   ├── output-encoding-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.java
│   │   ├── input.js
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── output-file-resource-management.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── output-format-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── output-input-field-with-no-escape.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-init-useCork.d/
│   │   ├── input.x
│   │   ├── run.sh
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── parser-specific-extras-for-foreign-lang.d/
│   │   ├── input-0.x1
│   │   ├── input-1.x1
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── x0.ctags
│   │   └── x1.ctags
│   ├── parser-specific-extras.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-specific-fields-clearing-all.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── parser-specific-fields-for-foreign-lang-in-json.d/
│   │   ├── input.unknownx
│   │   ├── knownz.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── parser-specific-fields-for-foreign-lang.d/
│   │   ├── input.unknownx
│   │   ├── knownz.ctags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── parser-specific-fields-with-datatype.d/
│   │   ├── exit-expected.txt
│   │   ├── input.testlang
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── testlang.ctags
│   ├── parser-specific-fields-with-scripts.d/
│   │   ├── exit-expected.txt
│   │   ├── input.testlang
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── testlang.ctags
│   ├── parser-specific-fields.d/
│   │   ├── input.unknownx
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── unknownx.ctags
│   ├── pattern-length-limit.d/
│   │   ├── input-iso-8859-1.py
│   │   ├── input-utf8.py
│   │   ├── input.java
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── pretend-option.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-dont-emit-to-stdout-by-default.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-emits-even-when-rewinding.d/
│   │   ├── README
│   │   ├── exit-expected.txt
│   │   ├── input.cpp
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-extra-desc.d/
│   │   ├── input.robot
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-field-sec.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-in-optlib-parser.d/
│   │   ├── input.foo
│   │   ├── input.sh
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-kind-desc.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── ptag-kind-sep.d/
│   │   ├── exit-expected.txt
│   │   ├── input.php
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-output-excmd.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-proc-cwd-including-tab.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-proc-cwd.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ptag-role-desc.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-alias.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-broken-input.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── target.tags
│   ├── readtags-canonicalize-input-names.d/
│   │   ├── drive-letter0.tags
│   │   ├── drive-letter1.tags
│   │   ├── exit-expected.txt
│   │   ├── good-ptags.tags
│   │   ├── good0.tags
│   │   ├── good1.tags
│   │   ├── good2.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-combine.d/
│   │   ├── backward.tags
│   │   ├── exit-expected.txt
│   │   ├── forward.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-default-field-val.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-conflicting-actions.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-in-sorter.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   └── run.sh
│   ├── readtags-error-no-action.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-error-no-input.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-escaping.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── output2.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter-op-regex-extraction.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter-op-tr.d/
│   │   ├── input.cpp
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-formatter.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-list-pseudo-tags.d/
│   │   ├── ptag-sort-no.tags
│   │   ├── ptag-sort-yes.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-dls.d/
│   │   ├── exit-expected.txt
│   │   ├── input.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-escaping.d/
│   │   ├── exit-expected.txt
│   │   ├── pseudo-input-b_.tags
│   │   ├── pseudo-input-bb.tags
│   │   ├── pseudo-input-bt.tags
│   │   ├── pseudo-name-b_.tags
│   │   ├── pseudo-name-bb.tags
│   │   ├── pseudo-name-bt.tags
│   │   ├── regular-input-b_.tags
│   │   ├── regular-input-bb.tags
│   │   ├── regular-input-bt.tags
│   │   ├── regular-kind-b_.tags
│   │   ├── regular-kind-bb.tags
│   │   ├── regular-name-b_.tags
│   │   ├── regular-name-bb.tags
│   │   ├── regular-name-bt.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-ptags-escaping2.d/
│   │   ├── example-_-_.tags
│   │   ├── example-_-b.tags
│   │   ├── example-_-s.tags
│   │   ├── example-e-_.tags
│   │   ├── example-e-b.tags
│   │   ├── example-e-s.tags
│   │   ├── example-u-_.tags
│   │   ├── example-u-b.tags
│   │   ├── example-u-s.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-begin.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── sample.c
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-broken-exp.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── readtags-qualifier-end-field.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-exp-with-garbage.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── readtags-qualifier-nth-field.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-downcase-upcase.d/
│   │   ├── input.cpp
│   │   ├── output.tags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-length.d/
│   │   ├── input.el
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-list.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-op-regexp-quote.d/
│   │   ├── exit-expected.txt
│   │   ├── input.x
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── x.ctags
│   ├── readtags-qualifier-op-string-append.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-regex.d/
│   │   ├── input.hxx
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier-sf-cond.d/
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-qualifier.d/
│   │   ├── base.c
│   │   ├── base.py
│   │   ├── c.tags
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── roles.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-simple-listing.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── sorted.tags
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-cmp_or-sform.d/
│   │   ├── README.md
│   │   ├── exit-expected.txt
│   │   ├── input.d/
│   │   │   ├── bar.c
│   │   │   ├── decl.h
│   │   │   └── foo.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-if-sform-order.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter-if-sform.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-sorter.d/
│   │   ├── .ctags.d/
│   │   │   ├── 0.ctags
│   │   │   └── src.list
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── src/
│   │   │   ├── input-area.cpp
│   │   │   ├── input-volume.cpp
│   │   │   └── input.h
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-stdin.d/
│   │   ├── exit-expected.txt
│   │   ├── output.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── readtags-with-list-pseudo-tags.d/
│   │   ├── ptag-sort-no.tags
│   │   ├── ptag-sort-yes.tags
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── regex-for-unknown-language.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── regex-patterns-from-file.d/
│   │   ├── input.c
│   │   ├── list.regex
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── reset-fields.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── roledef.d/
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── roles-field-optscript.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── ruby-scope-loop-oom.d/
│   │   ├── README
│   │   ├── a.rb
│   │   ├── b.rb
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── run-as-etags.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── sandbox-crash.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── sandbox-default-req.d/
│   │   ├── exit-expected.txt
│   │   ├── input.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-no-eager-guessing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-unknown-submode.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox-with-eager-guessing.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── sandbox.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── scopesep.d/
│   │   ├── input.tcl
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── selector-dont-select-disabled-lang.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-select-C-for-dot-h.d/
│   │   ├── exit-expected.txt
│   │   ├── input.h
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-select-perl6-for-dot-pm.d/
│   │   ├── input0.pm
│   │   ├── input1.pm
│   │   ├── input2.pm
│   │   ├── input3.pm
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── selector-xml-root-elelement.d/
│   │   ├── input.xml
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── sorted-list-languages.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── subparser-direction.d/
│   │   ├── input.cc
│   │   ├── input.mojom
│   │   ├── mojom-bidirectional.ctags
│   │   ├── mojom-dedicated.ctags
│   │   ├── mojom-default.ctags
│   │   ├── mojom-shared.ctags
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tab-in-parser-specific-field.d/
│   │   ├── foo.ctags
│   │   ├── input.foo
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tag-relative-option-in-etags.d/
│   │   ├── indirect/
│   │   │   └── src/
│   │   │       └── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tag-relative-option-no-optarg.d/
│   │   ├── exit-expected.txt
│   │   └── run.sh
│   ├── tag-relative-option.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── tags-output-typed-fields.d/
│   │   ├── input.c
│   │   ├── input.ctst
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── tmain-example.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   └── tags-expected.txt
│   ├── tmain-skip-example.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── trace-option.d/
│   │   ├── exit-expected.txt
│   │   ├── input.unknown
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── two-inputs-requiring-scope-stack.d/
│   │   ├── a.dts
│   │   └── b.dts
│   ├── unreadable-input.d/
│   │   ├── input-1.c
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── utils.sh
│   ├── version-option.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── versioning.d/
│   │   ├── broken-extra.ctags
│   │   ├── broken-field.ctags
│   │   ├── broken-kind.ctags
│   │   ├── broken-role.ctags
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   ├── stdout-expected.txt
│   │   ├── test.ctags
│   │   ├── warning-extra.ctags
│   │   ├── warning-field.ctags
│   │   ├── warning-kind.ctags
│   │   └── warning-role.ctags
│   ├── w32-slash-in-exclude-option.d/
│   │   ├── input.d/
│   │   │   ├── capture_me/
│   │   │   │   └── input.c
│   │   │   ├── dont_capture_me/
│   │   │   │   └── input.c
│   │   │   └── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── warn-garbage-on-ostack.d/
│   │   ├── exit-expected.txt
│   │   ├── garbage.ctags
│   │   ├── input.garbage
│   │   ├── input.kconfig
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── warn-reusing-kind-letter.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── wildcard-in-lang-of-fields-option.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── wrong-parser-name-in-field.d/
│   │   ├── exit-expected.txt
│   │   ├── run.sh
│   │   └── stderr-expected.txt
│   ├── xref-output-common-fields.d/
│   │   ├── input.py
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── xref-output-formatting-parser-specific-field.d/
│   │   ├── input.rst
│   │   ├── run.sh
│   │   ├── stderr-expected.txt
│   │   └── stdout-expected.txt
│   ├── xref-output-ptag-in-list-extras.d/
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   ├── xref-output-to-file.d/
│   │   ├── input.c
│   │   ├── run.sh
│   │   └── stdout-expected.txt
│   └── xref-output-typed-fields.d/
│       ├── input.c
│       ├── input.ctst
│       ├── input.rst
│       ├── run.sh
│       ├── stderr-expected.txt
│       └── stdout-expected.txt
├── Units/
│   ├── afl-fuzz.r/
│   │   ├── github-issue-528-sml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sml
│   │   ├── github-issue-529-bas.d/
│   │   │   └── input.bas
│   │   ├── github-issue-530-css.d/
│   │   │   └── input.css
│   │   ├── github-issue-531-make.d/
│   │   │   └── input.mk
│   │   ├── github-issue-532-vim.d/
│   │   │   └── input.vim
│   │   ├── github-issue-536-flex.d/
│   │   │   └── input.as
│   │   ├── github-issue-537-beta.d/
│   │   │   └── input.bet
│   │   ├── github-issue-538-sql.d/
│   │   │   └── input.sql
│   │   ├── github-issue-539-js.d/
│   │   │   └── input.js
│   │   ├── github-issue-540-fortran.d/
│   │   │   └── input.f
│   │   ├── github-issue-541-json.d/
│   │   │   └── input.json
│   │   ├── github-issue-542-vhdl.d/
│   │   │   └── input.vhdl
│   │   ├── github-issue-543-eiffel.d/
│   │   │   └── input.e
│   │   ├── github-issue-625-r.d/
│   │   │   └── input.r
│   │   ├── github-issue-627-perl.d/
│   │   │   └── input.pl
│   │   └── github-issue-628-vera.d/
│   │       └── input.vr
│   ├── csharp-review-needed.r/
│   │   ├── array_ref_and_out.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── attributes.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1515910.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1611054.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1800065.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1830343.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug1830344.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── bug2411878.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── events.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── general.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── indexer.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── interface_indexers.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── interface_properties.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── internal.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_abstract.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_catch_try.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_class.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_const.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_delegate.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_enum.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_event.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_explicit.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_extern.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_implicit.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_interface.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_namespace.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_out.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_override.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_params.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_private.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_protected.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_public.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_sealed.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_static.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_struct.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_virtual.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── keyword_volatile.cs.t/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   └── property.cs.t/
│   │       ├── expected.tags
│   │       └── input.cs
│   ├── extension-with-template-suffix.d/
│   │   ├── expected.tags
│   │   └── input.c.in
│   ├── extra-anonymous.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.js
│   │   └── input.c
│   ├── extra-disabling-anonymous.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.js
│   │   └── input.c
│   ├── extra-file-scope-option.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── extra-total-lines.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── foo.h
│   │   └── input.c
│   ├── flags-langdef-directions.r/
│   │   ├── bidirectional.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   ├── dedicated.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   ├── default.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sub
│   │   │   └── input.base
│   │   └── shared.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.sub
│   │       └── input.base
│   ├── foreign-tags.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.docc
│   ├── fuzz-hitting-assertions.r/
│   │   ├── README
│   │   ├── csharp-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cs
│   │   ├── d-fha-0.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── eiffel-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── java-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── systemverilog-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sv
│   │   ├── vera-fha-0.d/
│   │   │   ├── expected.tags
│   │   │   └── input.vr
│   │   └── verilog-fha-0.d/
│   │       ├── expected.tags
│   │       └── input.v
│   ├── guest-in-optlib-single-line.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── input-0.single
│   │   ├── input-1.single
│   │   ├── input-2.single
│   │   └── input.single
│   ├── main-guessing.r/
│   │   ├── nolang-modeline-emacs-after-shbang.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-eof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-firstline0.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-emacs-firstline1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim0-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim0-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim1-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim1-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim2-head.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-vim2-tail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-zsh-autoload.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── nolang-modeline-zsh-compdef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   └── nolang-shebang-python3.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nolang
│   ├── matlab-tg-corpus.d/
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.m
│   ├── mtable-simple-with-continuation.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── mtable-simple-with-table-extending.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── mtable-simple.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mtable
│   ├── noext-tg-matlab.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.nolang
│   ├── noext-tg-objc.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.nolang
│   ├── objc-tg-corpus.d/
│   │   ├── expected.tags
│   │   └── input.m
│   ├── option-add-alias.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.nolang
│   ├── option-disable-kind-in-both.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-disable-kind-in-builtin.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.c
│   ├── option-disable-kind-in-regex.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-extradef.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.py
│   ├── option-file-tags-no.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mk
│   ├── option-file-tags.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.mk
│   ├── option-input-file.d/
│   │   ├── README
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.c
│   ├── option-lang-compatibility.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.foo
│   ├── option-langmap-ext--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-ext--pat-ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.zzz
│   ├── option-langmap-ext-pat--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-pat--ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.x
│   ├── option-langmap-pat--pat-ext.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   └── input.zzz
│   ├── option-regex-attaching-role.r/
│   │   ├── extending-existing-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   └── standing-alone-line-parser.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.foo
│   ├── option-same-kind-in-regex-and-builtin.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   └── input.c
│   ├── optlib-recursive.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   ├── input.cof
│   │   └── optlib/
│   │       └── lang/
│   │           ├── a.ctags
│   │           ├── b.ctags
│   │           ├── c.ctags
│   │           ├── d.ctags
│   │           └── e.ctags
│   ├── optlib-simple.d/
│   │   ├── args.ctags
│   │   ├── expected.tags
│   │   ├── features
│   │   ├── input.coffee
│   │   └── optlib/
│   │       └── coffee.ctags
│   ├── optscript.r/
│   │   ├── op-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-anongen.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-extras.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-inherits.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-intervaltab.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── op-line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-markplaceholder.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-matchloc2line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-not-traced.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-reftag.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-taction.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── op-tagloc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   ├── op-traced.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.unknown
│   │   ├── op-typeref.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   └── with-foreignLanguage-flag.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.c
│   │       └── input.xxx
│   ├── paramdef.r/
│   │   ├── no-set.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.foo
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.foo
│   ├── parser-I18nRubyGem.r/
│   │   ├── language-force.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.i18n
│   │   ├── locale-kind.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── no-language-force.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── no-locale.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── qualified.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   ├── simple-I18nRubyGem.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.yml
│   │   │   └── input.yml
│   │   └── symbols.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       ├── input-0.yml
│   │       └── input.yml
│   ├── parser-ada.r/
│   │   ├── ada-adb.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-ads.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ads
│   │   ├── ada-block-tracking.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   └── validator
│   │   ├── ada-char-literal.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-end-without-designator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   └── validator
│   │   ├── ada-entry.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.adb
│   │   │   ├── input_0.gpr
│   │   │   ├── input_1.adb
│   │   │   └── input_1.ads
│   │   ├── ada-etags-suffix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-e
│   │   │   ├── input.ads
│   │   │   ├── input_0.adb
│   │   │   └── input_0.ads
│   │   ├── ada-expression-function-with-generic.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-expression-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-function.d/
│   │   │   ├── args.ctags
│   │   │   └── input.broken
│   │   ├── ada-generic-in-package.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-e
│   │   │   ├── input.ads
│   │   │   ├── input_1.adb
│   │   │   └── input_2.ads
│   │   ├── ada-is-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ada
│   │   ├── ada-label.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-overriding.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.ads
│   │   │   ├── input_2.adb
│   │   │   └── input_3.ads
│   │   ├── ada-partial-bug.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   ├── ada-partial-bug2.d/
│   │   │   └── input.adb
│   │   ├── ada-partial-type.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ads
│   │   ├── ada-protected.d/
│   │   │   └── input.adb
│   │   ├── ada-separate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.adb
│   │   │   └── input.adb
│   │   ├── ada-string-literal.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.adb
│   │   ├── ada-type-new-without-with.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.adb
│   │   └── ada-whitespaces-between-id-and-colon.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.adb
│   ├── parser-ansibleplaybook.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.yml
│   │   └── play-name.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.yml
│   ├── parser-ant.r/
│   │   ├── regex-based.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   ├── xpath-based-unix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   └── xpath-based.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.xml
│   ├── parser-asciidoc.r/
│   │   ├── anchor-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asciidoc
│   │   ├── anchor-invalid-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adoc
│   │   ├── one-character-title.d/
│   │   │   ├── expected.tags
│   │   │   └── input.adoc
│   │   ├── simple-asciidoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asciidoc
│   │   └── utf8-asciidoc.d/
│   │       ├── expected.tags
│   │       └── input.asc
│   ├── parser-asm.r/
│   │   ├── 68hc11.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── asm-cpp-macro-expansion-cmdline.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-limitation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-multi-line-args-last-items.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion-with-multi-line-args.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── asm-cpp-macro-expansion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.S
│   │   │   ├── input-1.S
│   │   │   ├── input-2.S
│   │   │   ├── input-3.S
│   │   │   ├── input-4.S
│   │   │   ├── input-5.S
│   │   │   ├── input-6.S
│   │   │   ├── input-7.S
│   │   │   └── input.S
│   │   ├── bd32.s.d/
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── bug538629.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── cpp-parameter-false.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── cpp-parameter-true.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── crash-when-deleting-token.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.S
│   │   ├── directive-before-label.d/
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-comment-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-linesep-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-parameterized-linesep.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── gas-section.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.s
│   │   │   ├── input-1.s
│   │   │   └── input.s
│   │   ├── gas.s.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── label-capturing.d/
│   │   │   ├── expected.tags
│   │   │   └── input.S
│   │   ├── label-just-before-comment-no-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── label-just-before-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.s
│   │   ├── macro-params.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── masm.asm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.asm
│   │   ├── moniker.x68.d/
│   │   │   ├── expected.tags
│   │   │   └── input.x68
│   │   └── unbalanced-end-macro.d/
│   │       ├── expected.tags
│   │       └── input.S
│   ├── parser-autoconf.r/
│   │   ├── disabling-m4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── forcing-autoconf-and-disabling-m4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── nested-block.ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── no-string-literal.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   ├── simple.ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ac
│   │   └── simple2.ac.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ac
│   ├── parser-autoit.r/
│   │   └── simple-au3.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.au3
│   ├── parser-automake.r/
│   │   ├── disable-make-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── eof-value.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.am
│   │   ├── langstack.am.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── noinst.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── objprefix.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   ├── simple.am.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.am
│   │   └── subdirs.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.am
│   ├── parser-awk.r/
│   │   ├── functions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.awk
│   │   ├── gawk-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown
│   │   ├── simple-awk.d/
│   │   │   ├── expected.tags
│   │   │   └── input.awk
│   │   └── simple2-awk.d/
│   │       ├── expected.tags
│   │       └── input.awk
│   ├── parser-basic.r/
│   │   ├── basic-labels.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-decls.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── freebasic-namespace.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   ├── simple.bas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bas
│   │   └── simple.bb.d/
│   │       ├── expected.tags
│   │       └── input.bb
│   ├── parser-bats.r/
│   │   └── bats-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.bats
│   ├── parser-bibtex.r/
│   │   └── bib-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.bib
│   ├── parser-c.r/
│   │   ├── anonymous-param-in-broken-paramlist.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── attr-attached-to-array-failed.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attr-attached-to-array.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── backslash-in-input.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bit_field.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── broken-input-cxx-operator.d/
│   │   │   └── input.c
│   │   ├── bug1020715.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1085585.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1086609.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1198.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1201689.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1458930.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1466117.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1491666.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug1764143.h.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug2554.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug507864.c.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug556645.c.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug556646.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug945.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug950.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-define-mixed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-digraphs.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-keyword-alignas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-knr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-label.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-multichars-between-single-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-sample.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-size_t-wchar_t-typedef.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-struct-var-with-initializer.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-trigraphs.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── c-var-initialized-using-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── complex_decl.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── cxx-keywords-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── cxx-scope-keywords.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── directives-2.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── directives.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── end-field-of-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── end-field-of-var.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── enum-bit-fields.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── enum.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── extern_variable.h.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── func-after-typedef-for-fptr-returning-enum.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── func-after-typedef-for-fptr-returning-struct.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── func_typedef.h.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── if0.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── line_directives.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── local.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macrodef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-empty-arg.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-typeof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macroexpand-with-linenum-adjustment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macros.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── option-disable-undef.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties-thread.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── prototype.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── recursive-macros-2.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── recursive-macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── spurious_label_tags.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── static_array.c.d/
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── using-cxx-keyword-in-c-code.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   └── vardef-surrounded-by-parentheses.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.c
│   ├── parser-cargo.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.cargo
│   ├── parser-clojure.r/
│   │   ├── broken-ns.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.clj
│   │   │   ├── input-1.clj
│   │   │   └── input.clj
│   │   ├── clojure-def-in-unknown-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-metadata-in-fn.d/
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-metadata-in-ns.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.clj
│   │   │   └── input.clj
│   │   ├── clojure-methods.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── clojure-vars.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   ├── macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.clj
│   │   └── simple-clojure.d/
│   │       ├── expected.tags
│   │       └── input.clj
│   ├── parser-cmake.r/
│   │   ├── cmake-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-option.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-project.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-scoped-variable.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   ├── cmake-target.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cmake
│   │   └── cmake-variable.d/
│   │       ├── expected.tags
│   │       └── input.cmake
│   ├── parser-cobol-to-review.r/
│   │   ├── HelloWorld.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── HelloWorldFree.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── HelloWorldLatin1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── MALFORMED.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── README
│   │   ├── TEST-PRINTER.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-PRINTER2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-PRINTER3.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── TEST-SINGLE-QUOTES.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── VIRTUAL-PRINTER.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   └── VIRTUAL-PRINTER2.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cbl
│   ├── parser-cobol-to-review2.r/
│   │   ├── FETCHTBL.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── INSERTTBL.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── README
│   │   └── sqlca.d/
│   │       ├── expected.tags
│   │       └── input.cbl
│   ├── parser-cobol.r/
│   │   ├── comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── helloworld.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── helloworld2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── issue-1324.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── levels.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   ├── quoted-program-id.cbl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cbl
│   │   └── simple.cbl.d/
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.cbl
│   ├── parser-cpreprocessor.r/
│   │   ├── asm-area.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   ├── input-2.c
│   │   │   ├── input-3.c
│   │   │   ├── input-4.c
│   │   │   ├── input-5.c
│   │   │   ├── input-6.c
│   │   │   ├── input-7.asm
│   │   │   └── input.c
│   │   ├── backslash-in-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── capture-params-in-macro-defs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── disable-cpp-client--clinet-kind.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-client--cpp-kind.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-client.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── disable-cpp-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dts
│   │   ├── if0-false-with-param.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── if0-true-with-param.c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── macro-condition-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── macrodef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── macroexpand.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── macros-specified-with-param.c.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── simple-cpreprocessor.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── skip-newlines-in-literals.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── unget-mbyte-string.d/
│   │   │   ├── README
│   │   │   ├── input-0.lds
│   │   │   ├── input-1.java
│   │   │   ├── input-2.lds
│   │   │   ├── input-3.java
│   │   │   └── input.java
│   │   └── unget-multi-bytes-string.d/
│   │       ├── README
│   │       ├── input-0.lds
│   │       ├── input-1.java
│   │       ├── input-2.lds
│   │       └── input.java
│   ├── parser-csharp.r/
│   │   └── nullable-parameters.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cs
│   ├── parser-css.r/
│   │   ├── css-at-rules.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-at-supports.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-attribute-selectors.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-comma-no-space.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-namespace-selectors.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-pseudo-classes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-singlequote-in-comment-issue2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   ├── css-tag-types.d/
│   │   │   ├── expected.tags
│   │   │   └── input.css
│   │   └── css-trivial.d/
│   │       ├── expected.tags
│   │       └── input.css
│   ├── parser-cuda.r/
│   │   ├── cuda-sample.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cu
│   │   └── param-with-default-value.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cuh
│   ├── parser-cxx.r/
│   │   ├── 1117-using-in-c.d/
│   │   │   └── input.c
│   │   ├── README
│   │   ├── alignas-in-struct.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── angle_bracket.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── attribute-alias.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attribute-sections.cpp-no-ldscript.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── attribute-sections.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.c
│   │   │   ├── input-1.c
│   │   │   └── input.c
│   │   ├── attribute.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── blocks-nesting-too-deep.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cxx
│   │   │   ├── input-1.cxx
│   │   │   └── input.cxx
│   │   ├── brackets.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── broken-input.d/
│   │   │   └── input.cc
│   │   ├── bug-github-1111.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1671.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1675.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-1781.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-2263.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── bug-github-2538.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-3019.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   └── input.cpp
│   │   ├── bug-github-3413.cpp.d/
│   │   │   ├── README
│   │   │   └── input.hpp
│   │   ├── bug-github-871.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-github-pull-972.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug-issue-3166.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── bug1020715.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1093123.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1187505.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1252.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1548443.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1563476.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1575055.cpp.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1585745.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1770479.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1773926.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799340.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799343-1.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1799343-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1907083.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug1924919.cpp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug639639.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug639644.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── bug665086.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug834.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug849591.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug852368.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── bug872494.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── c-header-as-cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── class-inheritance.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── class.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── complex-macros.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.cpp
│   │   ├── cpp-type-alias-with-using-keyword.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cpp_destructor.cpp.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx-keyword-alignas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── cxx-keywords-as-c-identifiers.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── gen-expected-tags.sh
│   │   │   ├── gen-input.sh
│   │   │   ├── input.h
│   │   │   └── keywords.sh
│   │   ├── cxx-shift-operators-in-template-parameters.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-attributes.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-broken-nested-attributes.cpp.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cxx
│   │   │   └── input.cxx
│   │   ├── cxx11-constexpr-variable.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-delete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-final.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-lambdas.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-noexcept.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-override.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-raw-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx11-user-defined-literals.d/
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── cxx11enum.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx14-combined.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── cxx14-digit-separator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── digraph-and-template-angle-confliction.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hh
│   │   ├── end-field-for-prototype-kind.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── enum-in-a-struct--with-q-extra.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── export-2.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-3.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-namespace-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── export-using.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── extern.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── field-nth.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── foreach.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── func-name-in-parentheses.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.c
│   │   ├── function-return-type-via-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── function-return-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── function_try_block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── functions.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── ignoring-macro-with-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hxx
│   │   ├── import-4.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   └── input.cpp
│   │   ├── import-5.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   ├── input-7.cpp
│   │   │   └── input.cpp
│   │   ├── import-6.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   └── input.cpp
│   │   ├── initializer-list.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input.h
│   │   │   ├── validator
│   │   │   ├── validator-0
│   │   │   ├── validator-1
│   │   │   ├── validator-2
│   │   │   ├── validator-3
│   │   │   └── validator-4
│   │   ├── inline-variables.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── instantiation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── instantiation2.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── iostream.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── k-and-r.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── keyword-in-return-type.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── less-than-operator-between-anglebrackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── member-with-initial-value.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── modules-1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   ├── input-5.cpp
│   │   │   ├── input-6.cpp
│   │   │   ├── input-7.cpp
│   │   │   ├── input-8.cpp
│   │   │   ├── input-9.cpp
│   │   │   ├── input.cpp
│   │   │   ├── validator
│   │   │   ├── validator-0
│   │   │   ├── validator-2
│   │   │   ├── validator-8
│   │   │   └── validator-9
│   │   ├── modules-8.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   └── input.cpp
│   │   ├── more-decltypes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cxx
│   │   ├── namespace-alias-in-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace-and-preprocessor.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace-and-scope.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── namespace.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── new-delete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── operators.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── out-range-input-for-isspace.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── partition.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   ├── input-2.cpp
│   │   │   ├── input-3.cpp
│   │   │   ├── input-4.cpp
│   │   │   └── input.cpp
│   │   ├── pointer-to-array.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── properties-consteval.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties-constexpr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties-constinit.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── properties.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── prototype-starting-from-scope-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── rojas.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── scope-of-using-in-lambda-in-enum.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── signature.cpp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── struct-keyword-not-for-defining-struct.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── template-member-forward-declaration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── template-member-function-pointer-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── template-nested-triangle-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.hpp
│   │   │   ├── input-1.hpp
│   │   │   ├── input-2.hpp
│   │   │   ├── input-3.hpp
│   │   │   ├── input.hpp
│   │   │   └── validator-2
│   │   ├── template-parameters.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── template-prototype.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cc
│   │   ├── template-specializations-including-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.cpp
│   │   │   └── validator
│   │   ├── template-specializations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-enable-if.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-in-labmdas-1.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates-in-labmdas-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates3.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates4.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates5.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── templates6.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── templates7.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.hpp
│   │   │   └── validator
│   │   ├── templates8.d/
│   │   │   ├── README
│   │   │   └── input.cpp
│   │   ├── typedef-of-function-ptr-with-macro.d/
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── typedefs.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── unclosed-angle-bracket.d/
│   │   │   ├── README
│   │   │   └── input.cxx
│   │   ├── using-in-template.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── using.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variable-declarations.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variable-templates.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.cpp
│   │   │   ├── input-1.cpp
│   │   │   └── input.cpp
│   │   ├── variables-in-control-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   ├── variables-prototypes-2.cpp.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.cpp
│   │   └── variables-prototypes.cpp.b/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.cpp
│   ├── parser-d.r/
│   │   ├── d-accessmod.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── d-size_t-wchar_t-alias.d/
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   ├── simple.d.d/
│   │   │   ├── expected.tags
│   │   │   └── input.d
│   │   └── templates.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.d
│   ├── parser-dbus-inspect.r/
│   │   ├── node-as-root-with-dtd.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   ├── node-as-root-without-dtd.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.xml
│   │   └── simple-dbus-inspect.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.xml
│   ├── parser-dbus-service.r/
│   │   └── simple.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.service
│   ├── parser-dtd.r/
│   │   ├── colons-in-name.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── condtion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── elements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mod
│   │   ├── fq.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── notation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   ├── parameter-entities.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dtd
│   │   └── simple-dtd.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.dtd
│   ├── parser-dts.r/
│   │   ├── dts-core-dump.d/
│   │   │   └── input.dts
│   │   ├── dts-fq-core-dump.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.dts
│   │   ├── dts-fq-without-scope-field.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.dts
│   │   └── dts-simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.dts
│   ├── parser-eiffel.r/
│   │   ├── aliases.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── attributes.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── class.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── deprecated-syntax.e.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── functions.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── inherit-rename.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── local-kind.e.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── note.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── obsolete.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   ├── procedures.e.d/
│   │   │   ├── expected.tags
│   │   │   └── input.e
│   │   └── verbatim.e.d/
│   │       ├── expected.tags
│   │       └── input.e
│   ├── parser-elixir.r/
│   │   ├── elixir-callbacks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-exceptions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-records.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-sign-operators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-tests.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   ├── elixir-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ex
│   │   └── elixir-word-operators.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ex
│   ├── parser-elm.r/
│   │   ├── elm-aliases.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-bad-lines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   ├── input-2.elm
│   │   │   ├── input-3.elm
│   │   │   └── input.elm
│   │   ├── elm-case-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-complex-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-constructor-signatures.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-expressions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-if-then-else.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-imports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   └── input.elm
│   │   ├── elm-just-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-let-in.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.elm
│   │   │   ├── input-2.elm
│   │   │   ├── input-3.elm
│   │   │   ├── input-4.elm
│   │   │   ├── input-5.elm
│   │   │   └── input.elm
│   │   ├── elm-multiline-strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-namespaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-optlist-compatibility.d/
│   │   │   ├── README.md
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-parameter-capture.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-parameter-patterns.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-ports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-single-expressions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   ├── elm-type-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.elm
│   │   └── elm-types.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-1.elm
│   │       └── input.elm
│   ├── parser-emacsLisp.r/
│   │   ├── definitions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   ├── misleading-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   ├── newline.b/
│   │   │   ├── expected.tags
│   │   │   └── input.el
│   │   └── simple-emacsLisp.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.el
│   ├── parser-erlang.r/
│   │   └── crash1.d/
│   │       └── input.erl
│   ├── parser-flex.r/
│   │   ├── as-first-token.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── const.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── const2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── flex_comment.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── flex_only_mxml.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── flex_with_actionscript.mxml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mxml
│   │   ├── method-attributes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   ├── packages.d/
│   │   │   ├── expected.tags
│   │   │   └── input.as
│   │   └── sampler.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.as
│   ├── parser-forth.r/
│   │   └── simple-forth.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.fth
│   ├── parser-fortran.r/
│   │   ├── array-spec.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── array_spec.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── auto.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── bug565813.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug620288.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── bug629.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   ├── bug670433.f90.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug726712.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug726875.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug734933.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug858165.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── bug877956.f90.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.f90
│   │   ├── byte.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── char-selector.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── common-json.f.d/
│   │   │   ├── expected.tags-json
│   │   │   └── input.f
│   │   ├── common-xref.f.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.f
│   │   ├── common.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── continuation.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── debian_432872.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── dollars-in-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.f
│   │   │   └── validator
│   │   ├── dopbl2.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── fortran-abstract-implementation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-abstract-interface.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-associate.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-bind-c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-block.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-derived-type-params.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-enum.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-extends-qualifier.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-forall.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-interface.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-linkname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── fortran-method.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-pointer.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-procedure-qualifiers.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-procedure.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-protected.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-square-parens.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── fortran-submodule.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── implied_program.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── initialization.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── invalid_name.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── lanus.for.d/
│   │   │   ├── expected.tags
│   │   │   └── input.for
│   │   ├── misc_types.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── misc_types.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── multi-input-fixed-then-free.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.f90
│   │   │   └── input.f
│   │   ├── multi-input-free-then-fixed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.f
│   │   │   └── input.f90
│   │   ├── namelist.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── numlib.f90.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── pure_elem.f95.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.f95
│   │   ├── recursive.f95.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.f95
│   │   ├── reset-newline-state.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.f90
│   │   │   ├── input-2.f90
│   │   │   └── input.f90
│   │   ├── semicolon.f90.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f90
│   │   ├── stdcall.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── structure.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   ├── union.f.d/
│   │   │   ├── expected.tags
│   │   │   └── input.f
│   │   └── value.f.d/
│   │       ├── expected.tags
│   │       └── input.f
│   ├── parser-function-parameters.r/
│   │   ├── perl-fp-test.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.pl
│   │       └── input.pl
│   ├── parser-fypp.r/
│   │   ├── cont.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── emptyline.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── first-if-area.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── if-cont.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── if-with-no-endif.d/
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── run-alt-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── run-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.fy
│   │   ├── segv.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.fy
│   │   └── simple-fypp.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.fy
│   ├── parser-gdscript.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   └── input.gd
│   │   ├── class_name-extends-no-implicit-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── class_name-extends.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── inner-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── modifiers.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── no-implicit-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   ├── sample.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.gd
│   │   └── signal.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gd
│   │       ├── input-1.gd
│   │       └── input.gd
│   ├── parser-gemspec.r/
│   │   └── simple-gemspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gemspec
│   │       ├── input-1.gemspec
│   │       └── input.gemspec
│   ├── parser-go.r/
│   │   ├── github-issue-2430.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-anonmember.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-crash-issue-2220.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-dont-solve-type-for-underscore-var.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-end-field-for-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-funcs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-goroutines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-helloworld.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-ignore-underscore-var.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.go
│   │   │   ├── input-1.go
│   │   │   ├── input-2.go
│   │   │   ├── input-3.go
│   │   │   ├── input-4.go
│   │   │   ├── input-5.go
│   │   │   ├── input-6.go
│   │   │   ├── input-7.go
│   │   │   └── input.go
│   │   ├── go-incomplete-func.d/
│   │   │   └── input.go
│   │   ├── go-incomplete-input.d/
│   │   │   ├── args.ctags
│   │   │   └── input.go
│   │   ├── go-interface.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── src/
│   │   │       └── ext/
│   │   │           └── iface.go
│   │   ├── go-op-less-than.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-timeouts.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-torture.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   ├── go-type-aliases.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.go
│   │   ├── go-variadic-dots-broken.d/
│   │   │   ├── args.ctags
│   │   │   └── input.go
│   │   ├── go-variadic-dots.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.go
│   │   │   └── validator
│   │   └── go-vars.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.go
│   ├── parser-gperf.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.gperf
│   │       ├── input-1.perf
│   │       └── input.perf
│   ├── parser-haskell.r/
│   │   ├── literate-haskell1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lhs
│   │   ├── literate-haskell2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lhs
│   │   ├── multi-line-type-signature.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hs
│   │   └── simple-haskell.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.hs
│   ├── parser-html.r/
│   │   ├── class-and-id.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── comment-in-js-2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── comment-in-js.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── comment-starter-in-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   ├── external-files.html.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── jsp-with-bom.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.html
│   │   ├── jsp.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.html
│   │   ├── script.html.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.html
│   │   │   └── minitrip
│   │   ├── simple.html.t/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.html
│   │   ├── string-in-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.html
│   │   └── whitespaces.html.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.html
│   │       └── minitrip
│   ├── parser-iPythonCell.r/
│   │   ├── customizing.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── default-formats.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   └── double-sharps.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.py
│   ├── parser-iniconf.r/
│   │   ├── ignore-utf8-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ini
│   │   └── toml-support-in-geany.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.toml
│   ├── parser-inko.r/
│   │   ├── comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── everything.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── implementations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── let.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── methods.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── objects.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   ├── strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.inko
│   │   └── traits.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.inko
│   ├── parser-itcl.r/
│   │   ├── force-use.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── fq-with-namespace.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── itcl-3.d/
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   ├── no-itcl-2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.tcl
│   │   └── simple-itcl.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.tcl
│   ├── parser-java.r/
│   │   ├── accented-latin1-identifiers.java.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── anonymous-class.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1447756.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1691412.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1777340.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug1777344.java.b/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug2049723.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug2117073.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── bug814263.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── default-literals.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── enum.java.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── imported-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── infinite_loop.java.d/
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   ├── java-catch-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.java
│   │   └── java_enum.java.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.java
│   ├── parser-javascript.r/
│   │   ├── 1795612.js.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1850914.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1878155.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 1880687.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 2023624.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── 3470609.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── babel-decorators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug1950327.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug2777310.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug2888482.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug3036476.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── bug3571233.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── contextual.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── dont-append-eof-to-repr.d/
│   │   │   ├── README
│   │   │   └── input.js
│   │   ├── generators.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-1389.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-1933.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-3641.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-4005.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-780.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── github-issue-900.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-arraylist.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-arrow-funcs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.js
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-async1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-async2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template-backslash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template-dollar.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-broken-template.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-class-related-unterminated.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-comma-at-end-of-object.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-commas-and-missing-semicolons.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-complex-return.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-computed-propname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-const.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-crlf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-default-export.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-destructural-binding-todo.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.js
│   │   │   └── input.js
│   │   ├── js-destructural-binding.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.js
│   │   │   ├── input-1.js
│   │   │   ├── input-2.js
│   │   │   ├── input-3.js
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-do-while.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-empty-class-name.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-class-private.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-es6-mixin.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-export.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-extract-empty-property-in-json.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-json
│   │   │   ├── features
│   │   │   └── input.js
│   │   ├── js-extract-empty-property.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.js
│   │   ├── js-fields.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-fq-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-func-in-method.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-function-in-arglist.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-get-and-set.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-get-and-set2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-getter-and-setter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-implicit-semicolons.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-let.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-many-functions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-methods.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-multiple-vars.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-naked-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-non-printable-in-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input0.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input1.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input3.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-null-tag-for-broken-input4.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-object-value-shortcut.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-odd-method-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-parenthesis-rvalue.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-parse-function-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-qualified-name-after-new-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-rest-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-scope-resolution.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-scope.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-self-invoking-anon-func.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.ctags
│   │   │   └── input.js
│   │   ├── js-shebang-gjs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-node.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-nodejs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang-seed.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── js-shebang.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-skip-empty-property.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-static-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── validator
│   │   ├── js-string-continuation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-sub-block-scope.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-template-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-tricky-newlines.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-two-vars.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unicode-escape-iconv.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input.js
│   │   │   └── minitrip
│   │   ├── js-unicode-escape-naked-surrogate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.js
│   │   │   └── minitrip
│   │   ├── js-unicode-escape.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unknown-construct-nesting.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-unterminated-leak.d/
│   │   │   └── input.js
│   │   ├── js-unterminated-new.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── js-var-at-eof.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── jsFunc_tutorial.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── no_terminator.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── qualified-contextual.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── regexp.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── secondary_fcn_name.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── shift-op-jsx.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── input-0.js
│   │   │   ├── input-1.js
│   │   │   └── input.js
│   │   ├── simple-jsx-no-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.jsx
│   │   │   └── input.jsx
│   │   ├── simple-jsx.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.jsx
│   │   │   └── input.jsx
│   │   ├── simple.js.d/
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── spread-operator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.js
│   │   ├── tagging-empty-name.d/
│   │   │   ├── README
│   │   │   └── input.js
│   │   └── ui5.controller.js.d/
│   │       ├── expected.tags
│   │       └── input.js
│   ├── parser-jni.r/
│   │   ├── broken.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.c
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.cpp
│   │       ├── input-1.cpp
│   │       └── input.cpp
│   ├── parser-json.r/
│   │   ├── dotted-names.d/
│   │   │   ├── expected.tags
│   │   │   └── input.json
│   │   ├── fq-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.json
│   │   ├── nulltags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags-x
│   │   │   └── input.json
│   │   └── simple-json.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.json
│   │       └── validator
│   ├── parser-julia.r/
│   │   ├── corner_cases.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── empty_line.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── function_scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── import_module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── infinite_loop.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── julia_test.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── parametric_constructor.d/
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   ├── scoped_macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.jl
│   │   └── struct_attributes.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.jl
│   ├── parser-kconfig.r/
│   │   ├── comment-starting-from-middle-of-lines.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kconfig
│   │   ├── macros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kconfig
│   │   ├── simple-kconfig.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.kconfig
│   │   │   ├── input-2.kconfig
│   │   │   ├── input-3.kconfig
│   │   │   ├── input-4.kconfig
│   │   │   └── input.kconfig
│   │   └── unbalance.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.kconfig
│   │       ├── input-1.kconfig
│   │       ├── input-2.kconfig
│   │       ├── input-3.kconfig
│   │       └── input.kconfig
│   ├── parser-kotlin.r/
│   │   ├── kotlin-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-backticks.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-destructuring.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-extensions.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-generics.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-invalid-input.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-rawstrings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   ├── kotlin-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.kt
│   │   └── kotlin-syntax.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.kt
│   ├── parser-ldscript.r/
│   │   ├── anon-version.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── cpp-out-of-band-chars.d/
│   │   │   ├── README
│   │   │   ├── input-0.lds
│   │   │   ├── input-1.lds
│   │   │   └── input.lds
│   │   ├── crash-when-deleting-token.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.lds
│   │   ├── discard.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── input-sections.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── ld-hello.d/
│   │   │   ├── LICENSE
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.ld
│   │   ├── ld-symtab.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.lds
│   │   ├── lds-invalid-macro-call.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── lds-macro-expansion.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── multi-versions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   ├── simple-ldscript.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds.S
│   │   ├── sort.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lds
│   │   └── versions.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.lds
│   ├── parser-lex.r/
│   │   └── simple-lex.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.l
│   ├── parser-lisp.r/
│   │   ├── misleading-names.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lisp
│   │   ├── more-defsomething.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lisp
│   │   ├── newline-between-tokens.b/
│   │   │   ├── expected.tags
│   │   │   └── input.l
│   │   └── simple-lisp.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.l
│   ├── parser-lua.r/
│   │   ├── lua-broken-nested-tables.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.lua
│   │   ├── lua-double-equals.d/
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-equal-after-function.d/
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-function-in-nested-tables.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-function-in-string-literal.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-skip-curly-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.lua
│   │   ├── lua-skip-whitespaces-in-name.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.lua
│   │   │   └── minitrip
│   │   └── simple.lua.d/
│   │       ├── expected.tags
│   │       └── input.lua
│   ├── parser-m4.r/
│   │   ├── disabling-autoconf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── disabling-subparser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-autoconf-and-optlib.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-multi-undef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-quotestring.b/
│   │   │   ├── DESC.rst
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   ├── m4-switch-lang-by-ac.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m4
│   │   └── m4-switch-lang-by-m4.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.m4
│   ├── parser-make.r/
│   │   ├── bug2959889.mak.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── cpp-marcros.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.mak
│   │   │   ├── input-1.mak
│   │   │   ├── input-2.mak
│   │   │   └── input.mak
│   │   ├── in-define.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.comment-in-rule.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.continuation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.gnumake-not-special-targets.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.gnumake-pattern-rules.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mk
│   │   ├── make.multi-target.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.parenthesis.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mk
│   │   ├── make.target-with-parentheses.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.variable-on-cmdline.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── make.variable-set-if-undefined.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── override-directive.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── same-line.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   ├── shell-assignment-op.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.mak
│   │   └── simple.mak.t/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.mak
│   ├── parser-man.r/
│   │   ├── double-quoted.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.1
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.1
│   ├── parser-markdown.r/
│   │   ├── backquote.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── c-guest.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── code-block-under-items.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── empty-frontmatter.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── footnotes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── frontmatter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.md
│   │   │   ├── input.md
│   │   │   └── languages
│   │   ├── gaps-in-section-hierarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── hashtags-utf8.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── packcc-parser-running-within-code-block-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── packcc-parser-running-within-code-block.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.md
│   │   ├── scope-field-markdown.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── section-prefixed-with-spaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── simple-markdown.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   ├── xml-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.md
│   │   └── yaml-in-code-block.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.md
│   ├── parser-matlab.r/
│   │   ├── matchfail.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── matlab_backtracking.m.d/
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.m
│   │   ├── matlab_setget.m.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.m
│   │   └── matlab_test.m.d/
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.m
│   ├── parser-meson.r/
│   │   ├── config-inline.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.meson
│   │   │   └── input.meson
│   │   ├── config.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   ├── escape-in-string.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   ├── modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.meson
│   │   └── simple-meson.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.meson
│   │       ├── input-1.meson
│   │       ├── input-2.meson
│   │       ├── input-3.meson
│   │       ├── input-4.meson
│   │       ├── input-5.meson
│   │       ├── input-6.meson
│   │       └── input.meson
│   ├── parser-moose.r/
│   │   ├── no-use-only.d/
│   │   │   └── input.pm
│   │   ├── parse-overrun.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── simple-moose.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.pl
│   │   │   └── input.pl
│   │   └── wrong-position.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pl
│   ├── parser-myrddin.r/
│   │   └── simple.d/
│   │       ├── expected.tags
│   │       └── input.myr
│   ├── parser-nftables.r/
│   │   ├── family-and-hook.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-all-in-one.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-counter.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-ct_helpers.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-define_sets_and_maps.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-flowtable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-limits.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-named_ct_objects.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-quota.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   ├── nftables-secmark.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nft
│   │   └── nftables-synproxy.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nft
│   ├── parser-nsis.r/
│   │   ├── include.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── langstr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── section_groups.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   ├── simple-nsis.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nsi
│   │   └── various-sections.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.nsi
│   ├── parser-objectivec.r/
│   │   ├── crash-in-parsing-protocol.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.h
│   │   │   └── input.h
│   │   ├── objc-extern-c.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.m
│   │   │   └── input.h
│   │   ├── objc-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objc.m.d/
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objc_underscore.d/
│   │   │   ├── expected.tags
│   │   │   └── input.mm
│   │   ├── objectivec_implementation.m.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.m
│   │   ├── objectivec_interface.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   ├── objectivec_property.h.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.h
│   │   └── objectivec_protocol.h.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.h
│   ├── parser-ocaml.r/
│   │   ├── github-451-improved.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocamlAllKinds.ml.t/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocamlCommentInStringAllowed.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml_etags.d/
│   │   │   ├── expected.tags-e
│   │   │   └── input.ml
│   │   ├── ocaml_empty.ml_xref.d/
│   │   │   ├── expected.tags-x
│   │   │   └── input.ml
│   │   ├── ocaml_only_str.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   ├── ocaml_string_tests.ml.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ml
│   │   └── ocaml_two_files.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.ml
│   │       └── input.ml
│   ├── parser-odin.r/
│   │   ├── odin-attributes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-basic.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-enums.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-foreign.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-imports.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-incomplete.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-procs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-structs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-types.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-unions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   ├── odin-vars-consts.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.odin
│   │   └── odin-when.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.odin
│   ├── parser-openapi.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── features
│   │   │   └── input.yml
│   │   ├── crash-test.d/
│   │   │   ├── README
│   │   │   └── input.yml
│   │   ├── openapi.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.yaml
│   │   └── swagger.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.yaml
│   ├── parser-org.r/
│   │   └── simple-org.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.org
│   ├── parser-pascal.r/
│   │   ├── bug612019.pas.t/
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   ├── comment-after-keyword.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   ├── simple-pascal.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pas
│   │   └── various-comments.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pas
│   ├── parser-perl.r/
│   │   ├── bug612621.pl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── bug842077.pl.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── curly-bracket.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── format.pl.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── no-heredoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.pl
│   │   │   └── input.pl
│   │   ├── package.pm.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-autoloader.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── perl-pod-after-end-no-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.pl
│   │   │   └── input.pl
│   │   ├── perl-pod-after-end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-1.pl
│   │   │   └── input.pl
│   │   ├── perl-selfloader.d/
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── perl-two-line-package.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pm
│   │   ├── simple.pl.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── skip-heredoc.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.pl
│   │       └── input.pl
│   ├── parser-php.r/
│   │   ├── anonymous_functions.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── bug681824.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── classes.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── combined.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── coverage.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── mode.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── nullable-return-type-decl.d/
│   │   │   ├── args.tags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-7-4-typed-props-with-use-trait.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-7-4-typed-props.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-anonymous-classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-anonymous_functions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-bug681824.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-case_sensitivity.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-classes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-echo-tag.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-full-qualified-tags-no-esc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-full-qualified-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-heredoc-cr.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-heredoc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-marker.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.unknown-lang
│   │   ├── php-mode.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-namespaces.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-namespaces2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-php5_5_class_kw.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-return-type-declaration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-semi-reserved-keywords.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-traits.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-use.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── php-whitespaces.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.php
│   │   │   └── minitrip
│   │   ├── run-as-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── run-as-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── run-guest-nested.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── run-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── run-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── simple.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── traits.php.d/
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── whitespaces.php.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.php
│   │   │   └── minitrip
│   │   ├── wp-guest-crlf.b/
│   │   │   ├── .gitattributes
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── wp-guest-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   ├── wp-guest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.php
│   │   └── xml.d/
│   │       ├── expected.tags
│   │       └── input.php
│   ├── parser-pod.r/
│   │   ├── broken-levels.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pod
│   │   └── simple-pod.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.pod
│   ├── parser-powershell.r/
│   │   ├── class-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── enum-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── filter-powershell.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.ps1
│   │   ├── herestring.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.ps1
│   │   │   ├── input-1.ps1
│   │   │   ├── input-2.ps1
│   │   │   ├── input-3.ps1
│   │   │   ├── input-4.ps1
│   │   │   ├── input-5.ps1
│   │   │   ├── input-6.ps1
│   │   │   └── input.ps1
│   │   └── simple-powershell.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.ps1
│   ├── parser-prolog.r/
│   │   ├── code.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── dcg.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   ├── module.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pl
│   │   │   └── validator
│   │   ├── simple-flat-comment.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pl
│   │   │   └── validator
│   │   ├── simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pl
│   │   └── validator
│   ├── parser-protobuf.r/
│   │   ├── package-name-including-dot.d/
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── protobuf-group.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── protobuf-oneof.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── simple-protobuf.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   ├── syntax-proto3.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.proto
│   │   └── version-2-3-files.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.proto
│   │       └── input.proto
│   ├── parser-puppetManifest.r/
│   │   ├── README.md
│   │   ├── class-with-parameters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── nested-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── node.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-aliastest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-append.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.pp
│   │   │   └── validator
│   │   ├── puppet-argumentdefaults.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-arithmetic_expression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-arraytrailingcomma.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-casestatement.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classheirarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classincludes.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-classpathtest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection_override.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-collection_within_virtual_definitions.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-componentmetaparams.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-componentrequire.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-deepclassheirarchy.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-defineoverrides.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-definitionname.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyclass.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyexec.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyif.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-emptyifelse.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-falsevalues.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-filecreate.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-fqdefinition.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-fqparents.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-funccomma.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-hash.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-ifexpression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-implicititeration.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multilinecomments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multipleclass.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multipleinstances.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-multisubs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-namevartest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-scopetest.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-selectorvalues.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-simpledefaults.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-simpleselector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singleary.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singlequote.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-singleselector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-subclass_name_duplication.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── puppet-tag.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.pp
│   │   ├── puppet-tagged.b/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.pp
│   │   ├── puppet-virtualresources.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── root-sep.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── typealias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── unless.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pp
│   │   ├── validator
│   │   └── varname.d/
│   │       ├── expected.tags
│   │       └── input.pp
│   ├── parser-python.r/
│   │   ├── async.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── blanks.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1764148.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bug1764148
│   │   ├── bug1809024.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1856363.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1906062.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988026.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988027.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug1988130.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug2075402.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug3168705.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── bug699171.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── cython-external.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── cython_sample.pyx.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── cython_sample2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.pyx
│   │   ├── dotted-variable-leftovers.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── f-strings.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── matrix-multiplication-operator.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-arglist.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-class-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── multiline-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── nested-parenthesis.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── newlines-cr.b/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── newlines-crlf.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── pep604-bar-operator-for-union.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── py-skipped-string.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-access.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-anonymous-nestlevel_ctags-bug-356.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-arguments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-comments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-decorators.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-disable-member-kind.d/
│   │   │   ├── args.ctags
│   │   │   └── input.py
│   │   ├── python-dot-in-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-dotted-variable.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-end-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-fullqualified-tags.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-geany-bug-612.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-import.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-keyword-tabulation.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-local-lambdas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-local-variables.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-no-declaration.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-statement-with-lambdas.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-multivar-statement.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python-semicolon.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python2-arglists.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python3-arglists.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── python3-function-annotations.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── reserved-words.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── simple.py.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── simpleNamespace.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.py
│   │   │   └── input.py
│   │   ├── strings.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── tabindent.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── test.py.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── toplevel-funcall-with-keyword-args.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-after-def.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-default-arg.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes-in-list.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── triple-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   ├── type-statements.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.py
│   │   │   └── input.py
│   │   ├── typehint.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.py
│   │   │   └── validator
│   │   ├── underscore-numeric-literals.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.py
│   │   └── variable-annotations.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.py
│   ├── parser-qemuhx.r/
│   │   ├── disable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   ├── enable.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   ├── optscript-translation.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.hx
│   │   └── rst.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.hx
│   ├── parser-qtmoc.r/
│   │   └── simple-qt.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.h
│   ├── parser-quarto.r/
│   │   ├── simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.qmd
│   │   └── unexecuted-block.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.qmd
│   ├── parser-r.r/
│   │   ├── r-avoid-duplication.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-broken-input.d/
│   │   │   ├── README
│   │   │   ├── input-0.r
│   │   │   ├── input-1.r
│   │   │   ├── input-2.r
│   │   │   └── input.r
│   │   ├── r-dataframe.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-dots.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-extended.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-external-entities.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.r
│   │   │   └── input.r
│   │   ├── r-list-indexing.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-loop-counters.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-nested-vector.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-scope.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-2.r
│   │   │   ├── input-3.r
│   │   │   ├── input-4.r
│   │   │   ├── input-5.r
│   │   │   ├── input-6.r
│   │   │   ├── input-7.r
│   │   │   ├── input-8.r
│   │   │   └── input.r
│   │   ├── r-signature.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-simple.d/
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-upper-scope-assignement.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r-uppercase-extension.d/
│   │   │   ├── expected.tags
│   │   │   └── input.R
│   │   └── r-vector.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.r
│   ├── parser-r6class.r/
│   │   ├── infinite-loop.d/
│   │   │   ├── input-0.r
│   │   │   └── input.r
│   │   ├── r6-null-pointer-regression.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   ├── r6prefix.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.r
│   │   └── simple-r6class.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.r
│   ├── parser-rake.r/
│   │   ├── anonymous.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   ├── crash.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   ├── simple-rake.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rake
│   │   └── xtasks.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.rake
│   │       ├── input-1.rake
│   │       └── input.rake
│   ├── parser-raku.r/
│   │   ├── raku-bunch1.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rakumod
│   │   ├── raku-bunch2.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rakumod
│   │   └── raku-package.d/
│   │       ├── expected.tags
│   │       └── input.rakumod
│   ├── parser-rdoc.r/
│   │   ├── run-as-guest.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rb
│   │   │   └── languages
│   │   ├── simple-rdoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rdoc
│   │   │   └── languages
│   │   └── too-deep-level.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input.rdoc
│   │       └── languages
│   ├── parser-relaxng.r/
│   │   ├── element.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.rng
│   │   └── grammar.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── features
│   │       └── input.rng
│   ├── parser-restructuredtext.r/
│   │   ├── citation.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── code-blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rst
│   │   │   ├── input-1.rst
│   │   │   ├── input-2.rst
│   │   │   └── input.rst
│   │   ├── iso8859-1-restructuredtext.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── markup-line-with-spaces.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── simple-restructuredtext.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── substdef.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── target-restructuredtext.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rst
│   │   ├── title.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rst
│   │   │   ├── input-1.rst
│   │   │   ├── input-2.rst
│   │   │   └── input.rst
│   │   └── utf8-restructuredtext.d/
│   │       ├── expected.tags
│   │       └── input.rst
│   ├── parser-rmarkdown.r/
│   │   ├── frontmatter.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input.rmd
│   │   │   └── languages
│   │   └── simple-rmarkdown.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.rmd
│   ├── parser-robot.r/
│   │   ├── dashes-in-identifiers.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   ├── keyword-started-from-varref.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   ├── simple-robot-no-extra.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.robot
│   │   └── simple-robot.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.robot
│   ├── parser-rpmMacros.r/
│   │   ├── lua.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.macros
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       ├── input-0.macros
│   │       ├── input-1.macros
│   │       ├── input-2.macros
│   │       └── input.macros
│   ├── parser-rpmspec.r/
│   │   ├── empty-line-in-macro.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.spec
│   │   └── simple-rpmspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.spec
│   ├── parser-rspec.r/
│   │   ├── broken-input.d/
│   │   │   ├── README
│   │   │   ├── args.ctags
│   │   │   └── input.rb
│   │   └── simple-rspec.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.rb
│   ├── parser-ruby.r/
│   │   ├── bug1742588.rb.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-alias.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rb
│   │   │   └── input.rb
│   │   ├── ruby-anonymouse-class.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-attr.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-block-assign.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-block-call.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-class-method-in-lt-lt-self.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-class-method-with-prefixing-self.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-curly-brackets.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rb
│   │   │   ├── input-1.rb
│   │   │   ├── input-2.rb
│   │   │   └── input.rb
│   │   ├── ruby-define-method.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-doc.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-geany-sf-bug-302.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-geany-sf-bug-542.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-inheritance.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-kind-option.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-library.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-methods-for-visiblity.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-mixin-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-modules-indirect.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-namespaced-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-scope-after-anonymous-class.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-sending-define-method.b/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-sf-bug-364.d/
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-signature-field-complicated.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-signature-field.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── ruby-skip-data.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   ├── simple.rb.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rb
│   │   └── validator
│   ├── parser-rust.r/
│   │   ├── defs-in-macro-arguments.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-const-fn.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.rs
│   │   │   └── input.rs
│   │   ├── rust-simple.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.rs
│   │   ├── rust-test_input.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-test_input2.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   ├── rust-visibility-spec.d/
│   │   │   ├── args.crags
│   │   │   ├── expected.tags
│   │   │   └── input.rs
│   │   └── rust-vstringput-eof.d/
│   │       ├── README
│   │       └── input.rs
│   ├── parser-scdoc.r/
│   │   ├── end-with-subsection.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scd
│   │   └── simple-scdoc.d/
│   │       ├── README
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.scd
│   ├── parser-scheme.r/
│   │   ├── scheme-simple-define.d/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   ├── scheme-simple-setbang.d/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   ├── scheme-srfi-30-comment.b/
│   │   │   ├── expected.tags
│   │   │   └── input.scm
│   │   └── scheme-string.b/
│   │       ├── expected.tags
│   │       └── input.scm
│   ├── parser-scss.r/
│   │   ├── function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── mixin.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── placeholder.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── selectors.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   ├── use.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.scss
│   │   └── variable.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.scss
│   ├── parser-selinux-interface.r/
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.if
│   ├── parser-selinux-type-enforcement.r/
│   │   ├── modules.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.te
│   │   │   └── input.te
│   │   └── simple.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.te
│   ├── parser-sh.r/
│   │   ├── array-alike-function.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── function-identifiers-bash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── function-identifiers-no-function-keyword-bash.d/
│   │   │   ├── expected.tags
│   │   │   └── input.bash
│   │   ├── sh-alias.d/
│   │   │   ├── expected.tags
│   │   │   ├── input-0.zsh
│   │   │   └── input.sh
│   │   ├── sh-comments.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-broken.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-broken2.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-checks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-env-with-no-command.d/
│   │   │   └── input.sh
│   │   ├── sh-heredoc-role.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-external-libs-and-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.sh
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-external-libs.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   ├── input-0.sh
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-packcc-with-bom.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser-with-packcc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── features
│   │   │   └── input.sh
│   │   ├── sh-heredoc-run-guest-parser.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-heredoc.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-herestring.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-modeline-1-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-modeline-2-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-modeline-at-eof-emacs-shell-script.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.nolang
│   │   ├── sh-quoted-func.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-quotes.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-source.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── sh-spaces-in-funcdef.d/
│   │   │   ├── expected.tags
│   │   │   ├── input.sh
│   │   │   └── minitrip
│   │   ├── sh-statements.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   ├── simple.ksh.d/
│   │   │   ├── expected.tags
│   │   │   └── input.ksh
│   │   ├── simple.sh.d/
│   │   │   ├── README
│   │   │   ├── expected.tags
│   │   │   └── input.sh
│   │   └── zsh-traced-function.d/
│   │       ├── expected.tags
│   │       └── input.zsh
│   ├── parser-sinex.r/
│   │   ├── degraded_length.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── degraded_missing_end.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── degraded_missing_start.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   ├── ok_4_blocks.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.snx
│   │   └── trailing_spaces.d/
│   │       ├── args.ctags
│   │       ├── expected.tags
│   │       └── input.snx
│   ├── parser-sql.r/
│   │   ├── 3184782.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1324663.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1428714.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1570779.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1938565.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug1944150.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug2961855.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug629115.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug722501.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── bug823000.sql.d/
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── comment-as-identifier.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── countall.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   └── input.sql
│   │   ├── db-trig.sql.d/
│   │   │   ├── args.ctags
│   │   │   ├── expected.tags
│   │   │   ├── input-0.sql
│   │   │   └── input.sql
│   │  
Copy disabled (too large) Download .json
Condensed preview — 7216 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,626K chars).
[
  {
    "path": ".ctags.d/exclusion.ctags",
    "chars": 104,
    "preview": "# Exclude directories that don't contain real code\n--exclude=Units\n--exclude=tinst-root\n--exclude=Tmain\n"
  },
  {
    "path": ".dir-locals.el",
    "chars": 151,
    "preview": ";; Don't forget putting (add-hook 'hack-local-variables-hook (lambda () (editorconfig-apply))) to your .emacs.\n((c-mode "
  },
  {
    "path": ".editorconfig",
    "chars": 750,
    "preview": "root = true\n\n[*]\nend_of_line = lf\ninsert_final_newline = true\n\n[*.{c,h,sh}]\nindent_size = 4\nindent_style = tab\ntrim_trai"
  },
  {
    "path": ".gdbinit",
    "chars": 31,
    "preview": "define pst\n    call ps(st)\nend\n"
  },
  {
    "path": ".gitattributes",
    "chars": 137,
    "preview": "*\ttext=auto\n\n/win32/*.bat\ttext eol=crlf\n/win32/*.sln\ttext eol=crlf\n/win32/*.vcxproj\ttext eol=crlf\n/win32/*.vcxproj.filte"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 1725,
    "preview": "(\nThank you for contacting us.\n\nIf you are reporting an issue with the parsing output, please fill\nthe following templat"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 513,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/workflows/building-with-nmake.yml",
    "chars": 1835,
    "preview": "name: build with Vistual Studio / NMake\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\n"
  },
  {
    "path": ".github/workflows/building-with-pegof.yml",
    "chars": 1451,
    "preview": "name: build ctags with pegof and run units target on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    br"
  },
  {
    "path": ".github/workflows/code-coverage-on-ubuntu.yml",
    "chars": 1212,
    "preview": "name: upload coverage report to codecov.io\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master "
  },
  {
    "path": ".github/workflows/cross-compile-for--netbsd-on-ubuntu.yml",
    "chars": 5093,
    "preview": "name: cross compile for NetBSD on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n"
  },
  {
    "path": ".github/workflows/cross-compile-for-android-on-macos.yml",
    "chars": 1347,
    "preview": "name: cross compile for Android on macOS\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n"
  },
  {
    "path": ".github/workflows/cross-compile-for-android-on-ubuntu.yml",
    "chars": 1511,
    "preview": "name: cross compile for Android on ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]"
  },
  {
    "path": ".github/workflows/cross-compile-for-freebsd-on-ubuntu.yml",
    "chars": 5046,
    "preview": "name: cross compile for FreeBSD on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]"
  },
  {
    "path": ".github/workflows/cross-compile-for-openbsd-on-ubuntu.yml",
    "chars": 5552,
    "preview": "name: cross compile for OpenBSD on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]"
  },
  {
    "path": ".github/workflows/cross-compile-for-windows-on-macos.yml",
    "chars": 1044,
    "preview": "name: cross compile for Windows on macOS\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n"
  },
  {
    "path": ".github/workflows/cross-compile-for-windows-on-ubuntu.yml",
    "chars": 1162,
    "preview": "name: cross compile for Windows on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]"
  },
  {
    "path": ".github/workflows/run-citre-tests.yml",
    "chars": 1580,
    "preview": "# Citre (https://github.com/universal-ctags/citre) is a readtags frontend for\n# Emacs. This workflow runs unit tests of "
  },
  {
    "path": ".github/workflows/tagging.yml",
    "chars": 229,
    "preview": "name: Create a weekly tag\n\non:\n  schedule:\n    - cron:  '0 0 * * 0'\n\njobs:\n  tag:\n    runs-on: ubuntu-latest\n\n    steps:"
  },
  {
    "path": ".github/workflows/testing-bsds.yml.bak",
    "chars": 3226,
    "preview": "name: run units target on FreeBSD OpenBSD NetBSD\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ m"
  },
  {
    "path": ".github/workflows/testing-on-alpine.yml",
    "chars": 2126,
    "preview": "name: run units target on AlpineLinux\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njo"
  },
  {
    "path": ".github/workflows/testing-on-cygwin.yml",
    "chars": 1202,
    "preview": "name: run units target on Cygwin\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n "
  },
  {
    "path": ".github/workflows/testing-on-freebsd.yml",
    "chars": 1172,
    "preview": "name: run units target on FreeBSD\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n"
  },
  {
    "path": ".github/workflows/testing-on-macos.yml",
    "chars": 1194,
    "preview": "name: run units target on macOS\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n  "
  },
  {
    "path": ".github/workflows/testing-on-msys2.yml",
    "chars": 1083,
    "preview": "name: run units target on MSYS2\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n  "
  },
  {
    "path": ".github/workflows/testing-on-netbsd.yml",
    "chars": 1229,
    "preview": "name: run units target on NetBSD\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n "
  },
  {
    "path": ".github/workflows/testing-on-openbsd.yml",
    "chars": 1344,
    "preview": "name: run units target on OpenBSD\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n"
  },
  {
    "path": ".github/workflows/testing-on-ubi.yml",
    "chars": 1043,
    "preview": "name: run units target on UBI\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n  te"
  },
  {
    "path": ".github/workflows/testing-on-ubuntu.yml",
    "chars": 2269,
    "preview": "name: run units target on Ubuntu\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:\n "
  },
  {
    "path": ".github/workflows/testing-with-valgrind.yml",
    "chars": 527,
    "preview": "name: run units target under VALGRIND\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njo"
  },
  {
    "path": ".gitignore",
    "chars": 1685,
    "preview": "*-actual.txt\n*-diff.txt\n*.func-sort-c.html\n*.func.html\n*.gcda\n*.gcno\n*.gcov\n*.gcov.html\n*.o\n*.obj\n*.od\n*.pdf\n*.pyc\n*.swp"
  },
  {
    "path": ".indent.pro",
    "chars": 740,
    "preview": "--blank-before-sizeof\n--blank-lines-after-procedures\n--brace-indent0\n--braces-after-if-line\n--braces-on-struct-decl-line"
  },
  {
    "path": ".readthedocs.yaml",
    "chars": 577,
    "preview": "# .readthedocs.yaml\n# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html f"
  },
  {
    "path": ".uncrustify.cfg",
    "chars": 3705,
    "preview": "tok_split_gte=false\nutf8_byte=false\nutf8_force=false\nindent_cmt_with_tabs=false\nindent_align_string=false\nindent_braces="
  },
  {
    "path": "COPYING",
    "chars": 18007,
    "preview": "\t\t    GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
  },
  {
    "path": "Makefile.am",
    "chars": 10840,
    "preview": "ACLOCAL_AMFLAGS = -I m4\n#AM_CPPFLAGS = -I$(top_builddir)/gnulib -I$(top_srcdir)/gnulib\nGNULIB_DIR = gnulib\nGNULIB_CPPFLA"
  },
  {
    "path": "README.md",
    "chars": 6313,
    "preview": "# Universal Ctags\n\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/4355/badge.svg)](https://scan.cover"
  },
  {
    "path": "Tmain/abnormal-output-file-names.d/input.c",
    "chars": 7,
    "preview": "int x;\n"
  },
  {
    "path": "Tmain/abnormal-output-file-names.d/run.sh",
    "chars": 887,
    "preview": "# Copyright: 2016 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILDDIR=$2\n\n. ../utils.sh\n\nexit_if_win32 \"$CTAGS\"\n\nrm -f $"
  },
  {
    "path": "Tmain/abnormal-output-file-names.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/abnormal-output-file-names.d/stdout-expected.txt",
    "chars": 246,
    "preview": "# SINGLE QUOTE\nx\tinput.c\t/^int x;$/;\"\tv\ttyperef:typename:int\n# DOUBLE QUOTES\nx\tinput.c\t/^int x;$/;\"\tv\ttyperef:typename:i"
  },
  {
    "path": "Tmain/alias-for-unknown-language.d/exit-expected.txt",
    "chars": 2,
    "preview": "1\n"
  },
  {
    "path": "Tmain/alias-for-unknown-language.d/run.sh",
    "chars": 123,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n${CTAGS} --quiet --options=NONE --alias-nosuchlang=Z\nexit "
  },
  {
    "path": "Tmain/alias-for-unknown-language.d/stderr-expected.txt",
    "chars": 66,
    "preview": "ctags: Unknown language \"nosuchlang\" in \"alias-nosuchlang\" option\n"
  },
  {
    "path": "Tmain/alias-for-unknown-language.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/allow-null-tag.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/allow-null-tag.d/input.json",
    "chars": 9,
    "preview": "[{\"\":1}]\n"
  },
  {
    "path": "Tmain/allow-null-tag.d/run.sh",
    "chars": 136,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n${CTAGS} --quiet --options=NONE --_fatal-warnings -o - inp"
  },
  {
    "path": "Tmain/allow-null-tag.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/allow-null-tag.d/stdout-expected.txt",
    "chars": 30,
    "preview": "0\tinput.json\t/^[{\"\":1}]$/;\"\to\n"
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/input-0.sql",
    "chars": 53,
    "preview": "ALTER DATABASE :\"datname\" REFRESH COLLATION VERSION;\n"
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/input.asm",
    "chars": 7,
    "preview": "\t.proc\n"
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/input.sql",
    "chars": 121,
    "preview": "-- Taken from #2504 opened by @koenmeersman\nselect substr(sess_evnt.event, 1, 18) event\nfrom  v$session_event sess_evnt;"
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/run.sh",
    "chars": 274,
    "preview": "# Copyright: 2020 Masatake YAMATO\n# License: GPL-2\n\n. ../utils.sh\n\nCTAGS=$1\n\nV=\n# V=valgrind\n\necho '# no warning should "
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/stderr-expected.txt",
    "chars": 31,
    "preview": "# no warning should be printed\n"
  },
  {
    "path": "Tmain/avoid-null-tag-warning.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/broken-extradef.d/run.sh",
    "chars": 2405,
    "preview": "# Copyright: 2018 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=\"$1 --quiet --options=NONE\"\n\ntitle()\n{\n\techo\n\techo \"$@\"\n\n\t{\n\t\t"
  },
  {
    "path": "Tmain/broken-extradef.d/stderr-expected.txt",
    "chars": 1644,
    "preview": "\n# echo unknown lang\nctags: Unknown language \"NOSUCHLANG\" in \"_extradef-NOSUCHLANG\" option\nctags: Unknown language \"NOSU"
  },
  {
    "path": "Tmain/broken-extradef.d/stdout-expected.txt",
    "chars": 1093,
    "preview": "\n# echo unknown lang\n\n# no option value\n\n# wrong char in a field name\n\n# empty extra name\n\n# empty description\n\n# no inp"
  },
  {
    "path": "Tmain/broken-fielddef.d/run.sh",
    "chars": 2405,
    "preview": "# Copyright: 2017 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=\"$1 --quiet --options=NONE\"\n\ntitle()\n{\n\techo\n\techo \"$@\"\n\n\t{\n\t\t"
  },
  {
    "path": "Tmain/broken-fielddef.d/stderr-expected.txt",
    "chars": 1644,
    "preview": "\n# echo unknown lang\nctags: Unknown language \"NOSUCHLANG\" in \"_fielddef-NOSUCHLANG\" option\nctags: Unknown language \"NOSU"
  },
  {
    "path": "Tmain/broken-fielddef.d/stdout-expected.txt",
    "chars": 1233,
    "preview": "\n# echo unknown lang\n\n# no option value\n\n# wrong char in a field name\n\n# empty field name\n\n# empty description\n\n# no inp"
  },
  {
    "path": "Tmain/broken-json-output.d/exit-expected.tx",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/broken-json-output.d/input.f",
    "chars": 73,
    "preview": "* \n      integer function F(x)\n      end function F\n      program main\n)\n"
  },
  {
    "path": "Tmain/broken-json-output.d/run.sh",
    "chars": 184,
    "preview": "# Copyright: 2021 Masatake YAMATO\n# License: GPL-2\n\n. ../utils.sh\n\nCTAGS=$1\n\nis_feature_available ${CTAGS} json\n\n${CTAGS"
  },
  {
    "path": "Tmain/broken-json-output.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/broken-json-output.d/stdout-expected.txt",
    "chars": 108,
    "preview": "{\"_type\": \"tag\", \"name\": \"main\", \"path\": \"input.f\", \"pattern\": \"/^      program main$/\", \"kind\": \"program\"}\n"
  },
  {
    "path": "Tmain/broken-langdef.d/input.c",
    "chars": 26,
    "preview": "int f(void) { return 0; }\n"
  },
  {
    "path": "Tmain/broken-langdef.d/run.sh",
    "chars": 404,
    "preview": "#!/bin/sh\n\n# Copyright: 2019 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\nrun_ctags()\n{\n\techo '#' \"$1\" 1>&2\n\t${CTAGS} --q"
  },
  {
    "path": "Tmain/broken-langdef.d/stderr-expected.txt",
    "chars": 1575,
    "preview": "# \nctags: No language specified for \"langdef\" option\n# all\nctags: \"all\" is reserved; don't use it as the name for defini"
  },
  {
    "path": "Tmain/broken-langdef.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/broken-paramdef.d/run.sh",
    "chars": 2409,
    "preview": "# Copyright: 2018 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=\"$1 --quiet --options=NONE\"\n\ntitle()\n{\n\techo\n\techo \"$@\"\n\n\t{\n\t\t"
  },
  {
    "path": "Tmain/broken-paramdef.d/stderr-expected.txt",
    "chars": 1700,
    "preview": "\n# echo unknown lang\nctags: Unknown language \"NOSUCHLANG\" in \"_paramdef-NOSUCHLANG\" option\nctags: Unknown language \"NOSU"
  },
  {
    "path": "Tmain/broken-paramdef.d/stdout-expected.txt",
    "chars": 607,
    "preview": "\n# echo unknown lang\n\n# no option value\n\n# wrong char in a field name\n\n# empty parameter name\n\n# empty description\n\n# no"
  },
  {
    "path": "Tmain/broken-regex-pattern.d/broken-pattern.ctags",
    "chars": 217,
    "preview": "# Though this pattern uses pcre2 extension, {pcre2} flag is not given.\n# This caused a crash.\n--mline-regex-Python=/[\\n]"
  },
  {
    "path": "Tmain/broken-regex-pattern.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/broken-regex-pattern.d/input.py",
    "chars": 59,
    "preview": "if import pydoc\nif __name__ == \"__main__\":\n    pydoc.cli()\n"
  },
  {
    "path": "Tmain/broken-regex-pattern.d/run.sh",
    "chars": 153,
    "preview": "# Copyright: 2025 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=\"$1 --quiet --options=NONE\"\n\n$CTAGS --options=./broken-pattern"
  },
  {
    "path": "Tmain/broken-regex-pattern.d/stderr-expected.txt",
    "chars": 272,
    "preview": "ctags: Warning: regcomp: Invalid preceding regular expression\nctags: Warning: pattern: [\n]if\\s+__name__\\s*==\\s*(\"__main_"
  },
  {
    "path": "Tmain/broken-tagname-in-ectags-format.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/broken-tagname-in-ectags-format.d/input.cst",
    "chars": 3,
    "preview": "b\n\n"
  },
  {
    "path": "Tmain/broken-tagname-in-ectags-format.d/run.sh",
    "chars": 451,
    "preview": "#!/bin/sh\n\n# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILD_SUBDIR=$2\nstderr_tmp=${BUILD_SUBDIR}/stder"
  },
  {
    "path": "Tmain/broken-tagname-in-ectags-format.d/stderr-expected.txt",
    "chars": 276,
    "preview": "ctags: Notice: No options will be read from files or environment\n  Option: --output-format=e-ctags\nReading command line "
  },
  {
    "path": "Tmain/broken-tagname-in-ectags-format.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/broken-tagname-quiet.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/broken-tagname-quiet.d/input.cst",
    "chars": 2,
    "preview": "b\n"
  },
  {
    "path": "Tmain/broken-tagname-quiet.d/run.sh",
    "chars": 160,
    "preview": "#!/bin/sh\n\n# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n${CTAGS} --quiet --options=NONE -o - --language"
  },
  {
    "path": "Tmain/broken-tagname-quiet.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/broken-tagname-quiet.d/stdout-expected.txt",
    "chars": 255,
    "preview": "newline-in-scope\tinput.cst\t/^b$/;\"\tb\tbroken tag:parent\\nscope\none\\nof\\rbroken\\tname\tinput.cst\t/^b$/;\"\tb\tbroken tag:\\\\Bro"
  },
  {
    "path": "Tmain/broken-tagname.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/broken-tagname.d/input.cst",
    "chars": 3,
    "preview": "b\n\n"
  },
  {
    "path": "Tmain/broken-tagname.d/run.sh",
    "chars": 427,
    "preview": "#!/bin/sh\n\n# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILD_SUBDIR=$2\nstderr_tmp=${BUILD_SUBDIR}/stder"
  },
  {
    "path": "Tmain/broken-tagname.d/stderr-expected.txt",
    "chars": 1122,
    "preview": "ctags: Notice: No options will be read from files or environment\nReading command line arguments\nCTagsSelfTest requires a"
  },
  {
    "path": "Tmain/broken-tagname.d/stdout-expected.txt",
    "chars": 255,
    "preview": "newline-in-scope\tinput.cst\t/^b$/;\"\tb\tbroken tag:parent\\nscope\none\\nof\\rbroken\\tname\tinput.cst\t/^b$/;\"\tb\tbroken tag:\\\\Bro"
  },
  {
    "path": "Tmain/broken-version.d/exit-expected.txt",
    "chars": 2,
    "preview": "1\n"
  },
  {
    "path": "Tmain/broken-version.d/run.sh",
    "chars": 212,
    "preview": "#!/bin/sh\n\n# Copyright: 2025 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n. ../utils.sh\n\nis_feature_available \"$CTAGS\" de"
  },
  {
    "path": "Tmain/broken-version.d/stderr-expected.txt",
    "chars": 98,
    "preview": "ctags: Warning: versionCurrent (0) must be either equal to or greater than versionAge (1): BROKEN\n"
  },
  {
    "path": "Tmain/c-anon-counter.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/c-anon-counter.d/input1.c",
    "chars": 73,
    "preview": "enum {\n  A, B,\n} x;\n\nstruct {\n  int C, D;\n} y;\n\nunion {\n  int E, F;\n} z;\n"
  },
  {
    "path": "Tmain/c-anon-counter.d/input2.c",
    "chars": 73,
    "preview": "enum {\n  G, H,\n} a;\n\nstruct {\n  int I, J;\n} b;\n\nunion {\n  int K, L;\n} c;\n"
  },
  {
    "path": "Tmain/c-anon-counter.d/run.sh",
    "chars": 356,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILDDIR=$2\n\n${CTAGS} --quiet --options=NONE -o - input1.c "
  },
  {
    "path": "Tmain/c-anon-counter.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/c-anon-counter.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/c-large-enum.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/c-large-enum.d/run.sh",
    "chars": 367,
    "preview": "# Copyright: 2023 Masatake YAMATO\n# License: GPL-2\n\ninput=/tmp/c-large-enum.d-input.c\nCTAGS=\"$1 --quiet --options=NONE\"\n"
  },
  {
    "path": "Tmain/c-large-enum.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/c-large-enum.d/stdout-expected.txt",
    "chars": 120,
    "preview": "X7ff8 32760\nX7ff9 32761\nX7ffa 32762\nX7ffb 32763\nX7ffc 32764\nX7ffd 32765\nX7ffe 32766\nX7fff 32767\nX8000 32767\nX8001 32767\n"
  },
  {
    "path": "Tmain/case-insensitive-pattern.d/INPUT.MK",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/case-insensitive-pattern.d/run.sh",
    "chars": 185,
    "preview": "# Copyright: 2016 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n. ../utils.sh\n\nexit_if_no_case_insensitive_filenames \"${CT"
  },
  {
    "path": "Tmain/case-insensitive-pattern.d/stdout-expected.txt",
    "chars": 15,
    "preview": "INPUT.MK: Make\n"
  },
  {
    "path": "Tmain/clear-aliases.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/clear-aliases.d/run.sh",
    "chars": 654,
    "preview": "# Copyright: 2017 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\necho '# clear' &&\n${CTAGS} --quiet --options=NONE --alias-"
  },
  {
    "path": "Tmain/clear-aliases.d/stdout-expected.txt",
    "chars": 89,
    "preview": "# clear\n# add\nexpect\ntclsh\nabc\n# reset\nexpect\ntclsh\n# all clear\n# all reset\nexpect\ntclsh\n"
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/README.md",
    "chars": 100,
    "preview": "If your change breaks this test case, notify the change\nto https://github.com/liuchengxu/vista.vim.\n"
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/run.sh",
    "chars": 346,
    "preview": "# Copyright: 2021 <https://github.com/liuchengxu>\n# License: GPL-2\n\nCTAGS=$1\n\n. ../utils.sh\n\nis_feature_available \"${CTA"
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/stdout-expected.txt",
    "chars": 180,
    "preview": "{\"_type\": \"tag\", \"name\": \"s:cur_dir\", \"line\": 1, \"kind\": \"variable\"}\n{\"_type\": \"tag\", \"name\": \"vista#FindItemsUnderDirec"
  },
  {
    "path": "Tmain/client-vista-vim-fields-expectation.d/test.vim",
    "chars": 208,
    "preview": "let s:cur_dir = fnamemodify(resolve(expand('<sfile>:p')), ':h')\n\nfunction! vista#FindItemsUnderDirectory(dir) abort\n  re"
  },
  {
    "path": "Tmain/combination-of-fields-Zs.d/input.c",
    "chars": 22,
    "preview": "struct s {\n\tint i;\n};\n"
  },
  {
    "path": "Tmain/combination-of-fields-Zs.d/run.sh",
    "chars": 276,
    "preview": "# Copyright: 2020 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\necho '# Z only'\n$CTAGS --quiet --options=NONE --fields=Z -"
  },
  {
    "path": "Tmain/combination-of-fields-Zs.d/stdout-expected.txt",
    "chars": 216,
    "preview": "# Z only\nctags: Warning: enable the s field to make the Z/scope field printable\nctags: Warning: though Z/scope field is "
  },
  {
    "path": "Tmain/combination-of-fields-zkK.d/input.c",
    "chars": 22,
    "preview": "struct s {\n\tint i;\n};\n"
  },
  {
    "path": "Tmain/combination-of-fields-zkK.d/run.sh",
    "chars": 276,
    "preview": "# Copyright: 2020 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\necho '# z only'\n$CTAGS --quiet --options=NONE --fields=z -"
  },
  {
    "path": "Tmain/combination-of-fields-zkK.d/stdout-expected.txt",
    "chars": 239,
    "preview": "# z only\nctags: Warning: enable the K field to make the z/kind field printable\nctags: Warning: though z/kind field is en"
  },
  {
    "path": "Tmain/common-prelude.d/aindex.expected",
    "chars": 87,
    "preview": "(0)\nfalse\n(1)\ntrue\n0\n(2)\ntrue\n1\n(3)\ntrue\n2\n(4)\nfalse\n(-)\nfalse\n(0a)\ntrue\n0\n(1a)\ntrue\n1\n"
  },
  {
    "path": "Tmain/common-prelude.d/aindex.ps",
    "chars": 311,
    "preview": "(0) ==\n[1 2 3] 0 _aindex pstack clear\n\n(1) ==\n[1 2 3] 1 _aindex pstack clear\n\n(2) ==\n[1 2 3] 2 _aindex pstack clear\n\n(3)"
  },
  {
    "path": "Tmain/common-prelude.d/amember.expected",
    "chars": 80,
    "preview": "[/a /b /c]\ntrue\ntrue\ntrue\nfalse\n[1 true (abc)]\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\n"
  },
  {
    "path": "Tmain/common-prelude.d/amember.ps",
    "chars": 325,
    "preview": "[/a /b /c] ==\n[/a /b /c] /a _amember ==\n[/a /b /c] /b _amember ==\n[/a /b /c] /c _amember ==\n[/a /b /c] /d _amember ==\n[1"
  },
  {
    "path": "Tmain/common-prelude.d/buildstring.expected",
    "chars": 16,
    "preview": "(abcdefghijklm)\n"
  },
  {
    "path": "Tmain/common-prelude.d/buildstring.ps",
    "chars": 104,
    "preview": "[\n    ?a\n    ?b\n    ?c (d) 0 get\n    (efg)\n    ?h\n    ?i\n    ?j\n    (klm)\n    _buildstring pstack clear\n"
  },
  {
    "path": "Tmain/common-prelude.d/chop.expected",
    "chars": 40,
    "preview": "(abcx)\n(abc)\n(abc )\n(abc)\n(abcx)\n(abcx)\n"
  },
  {
    "path": "Tmain/common-prelude.d/chop.ps",
    "chars": 122,
    "preview": "(abcx) ==\n(abcx) _chop pstack clear\n\n(abc ) ==\n(abc ) _chop_space pstack clear\n\n(abcx) ==\n(abcx) _chop_space pstack clea"
  },
  {
    "path": "Tmain/common-prelude.d/dedup.expected",
    "chars": 75,
    "preview": "(===)\n32\n(===)\n41\n32\n(===)\n32\n41\n(===)\n32\n(===)\n41\n(===)\n/a\n32\n(===)\n[]\n32\n"
  },
  {
    "path": "Tmain/common-prelude.d/dedup.ps",
    "chars": 226,
    "preview": "/result { (===) pstack clear } def\n\n32 32 _dedup_spaces result\n32 41 _dedup_spaces result\n41 32 _dedup_spaces result\n   "
  },
  {
    "path": "Tmain/common-prelude.d/dedup_spaces.expected",
    "chars": 18,
    "preview": "32\n97\n32\n98\n32\n97\n"
  },
  {
    "path": "Tmain/common-prelude.d/dedup_spaces.ps",
    "chars": 91,
    "preview": "?a ?\\_ ( ) 0 get _dedup_spaces pstack clear\n?a ?\\_ ?b ( ) 0 get _dedup_spaces pstack clear\n"
  },
  {
    "path": "Tmain/common-prelude.d/ndup.expected",
    "chars": 42,
    "preview": "(abc)\n(efg)\n(efg)\n(xyz)\n(xyz)\n(xyz)\n(xyz)\n"
  },
  {
    "path": "Tmain/common-prelude.d/ndup.ps",
    "chars": 81,
    "preview": "(abc) 0 _ndup pstack clear\n(efg) 1 _ndup pstack clear\n(xyz) 3 _ndup pstack clear\n"
  },
  {
    "path": "Tmain/common-prelude.d/normalize_spaces.expected",
    "chars": 40,
    "preview": "(0abc, d, efg, hij)\n(1abc, d, efg, hij)\n"
  },
  {
    "path": "Tmain/common-prelude.d/normalize_spaces.ps",
    "chars": 174,
    "preview": "/x (0abc,\\t\\t\\n \\nd,\\f\\f\\v\\f\\v\\r\\r\\r\\n efg,  hij) def\nx _normalize_spaces! x pstack clear\n\n(1abc,\\t\\t\\n \\nd,\\f\\f\\v\\f\\v\\r"
  },
  {
    "path": "Tmain/common-prelude.d/putlast.expected",
    "chars": 11,
    "preview": "(abcdefgh)\n"
  },
  {
    "path": "Tmain/common-prelude.d/putlast.ps",
    "chars": 67,
    "preview": "/a (abc) def\n\na ?d _putlast!\na (efg) _putlast!\na ?h _putlast!\na ==\n"
  },
  {
    "path": "Tmain/common-prelude.d/run.sh",
    "chars": 574,
    "preview": "#!/bin/sh\n\n# Copyright: 2021 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILDDIR=$2\nOPTSCRIPT=$4\n\n. ../utils.sh\n\nif ! [ "
  },
  {
    "path": "Tmain/common-prelude.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/common-prelude.d/stdout-expected.txt",
    "chars": 154,
    "preview": "aindex.ps...0\namember.ps...0\nbuildstring.ps...0\nchop.ps...0\ndedup.ps...0\ndedup_spaces.ps...0\nndup.ps...0\nnormalize_space"
  },
  {
    "path": "Tmain/common-prelude.d/tr.expected",
    "chars": 16,
    "preview": "(a-b-c)\n(x-y-z)\n"
  },
  {
    "path": "Tmain/common-prelude.d/tr.ps",
    "chars": 65,
    "preview": "/x (a\\nb\\n\\c) def\nx (\\n-) _tr! x ==\n\n(x\\ny\\nz) dup (\\n-) _tr! ==\n"
  },
  {
    "path": "Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/run.sh",
    "chars": 929,
    "preview": "# Copyright: 2016 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\nprintf \"[C] enabling in C: \"\n${CTAGS} --quiet --options=NO"
  },
  {
    "path": "Tmain/cxx-how-kinds-defs-are-shared-or-copyed.d/stdout-expected.txt",
    "chars": 388,
    "preview": "[C] enabling in C: f  function definitions\n[C] disabling in C: f  function definitions [off]\n[C++] enabling in C: f  fun"
  },
  {
    "path": "Tmain/disable-fixed-field.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/disable-fixed-field.d/input.c",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/disable-fixed-field.d/run.sh",
    "chars": 429,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n${CTAGS} --quiet --options=NONE --fields=-N -o - input.c\n$"
  },
  {
    "path": "Tmain/disable-fixed-field.d/stderr-expected.txt",
    "chars": 458,
    "preview": "ctags: Warning: Cannot disable fixed field: 'N'{name} in ctags output mode\nctags: Warning: Cannot disable fixed field: '"
  },
  {
    "path": "Tmain/disable-fixed-field.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/disable-languages.d/input-matlab.m",
    "chars": 17,
    "preview": "# -*- matlab -*-\n"
  },
  {
    "path": "Tmain/disable-languages.d/input-objc.m",
    "chars": 20,
    "preview": "#error -*- objc -*-\n"
  },
  {
    "path": "Tmain/disable-languages.d/input.m",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/disable-languages.d/run.sh",
    "chars": 2427,
    "preview": "# Copyright: 2016 Masatake YAMATO\n# License: GPL-2\nCTAGS=$1\n\necho '# FILE NAME ONLY'\n# extension `m' matches both matlab"
  },
  {
    "path": "Tmain/disable-languages.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/disable-languages.d/stdout-expected.txt",
    "chars": 361,
    "preview": "# FILE NAME ONLY\ninput.m: MatLab\ninput.m: ObjectiveC\ninput.m: MatLab\ninput.m: NONE\ninput.m: NONE\n# EMACS MODE: MATLAB\nin"
  },
  {
    "path": "Tmain/dot-ctags-with-indentation.d/args.ctags",
    "chars": 79,
    "preview": "--_echo=A-begin\n\t--_echo=A-with-tab\n    --_echo=A-with-spaces\n--_echo=B-begin\n\n"
  },
  {
    "path": "Tmain/dot-ctags-with-indentation.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/dot-ctags-with-indentation.d/run.sh",
    "chars": 133,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n\n${CTAGS} --options=NONE --options=./args.ctags --_force-qu"
  },
  {
    "path": "Tmain/dot-ctags-with-indentation.d/stderr-expected.txt",
    "chars": 166,
    "preview": "ctags: Notice: No options will be read from files or environment\nctags: Notice: A-begin\nctags: Notice: A-with-tab\nctags:"
  },
  {
    "path": "Tmain/dot-ctags-with-indentation.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/dynamic-kinds.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/dynamic-kinds.d/run.sh",
    "chars": 217,
    "preview": "# Copyright: 2017 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n${CTAGS} --quiet --options=NONE\t\t\t\t\t\t\\\n\t\t --langdef=X --kin"
  },
  {
    "path": "Tmain/dynamic-kinds.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/dynamic-kinds.d/stdout-expected.txt",
    "chars": 175,
    "preview": "#LETTER NAME   ENABLED REFONLY NROLES MASTER VER DESCRIPTION\na       anchor yes     no      0      NONE     0 anchors\nb "
  },
  {
    "path": "Tmain/e-ctags-output.d/input_file.cc",
    "chars": 501,
    "preview": "/* Could NOT be parsed well.\n   The signature should be  recorded well. */\nint32 test(int32 a)\n{\n    return 0;\n}\n/* Can "
  },
  {
    "path": "Tmain/e-ctags-output.d/input_scope.rst",
    "chars": 332,
    "preview": "===========\ntitle\n===========\n\n\nX\ttab\tY\n===========\nThis one will not be recorded.\n\ntopic in tab\n----------------------\n"
  },
  {
    "path": "Tmain/e-ctags-output.d/input_space.rst",
    "chars": 125,
    "preview": "===================================\nA spaces B\n===================================\nThs should be recorded in e-ctags out"
  },
  {
    "path": "Tmain/e-ctags-output.d/input_tab.rst",
    "chars": 127,
    "preview": "===================================\nA\ttabs\tB\n===================================\nThs should not be recorded in e-ctags o"
  },
  {
    "path": "Tmain/e-ctags-output.d/run.sh",
    "chars": 1006,
    "preview": "# Copyright: 2019 Masatake YAMATO\n# License: GPL-2\n# The original bug is reported by @elecalion in #2014.\n\nCTAGS=$1\nBUIL"
  },
  {
    "path": "Tmain/e-ctags-output.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/e-ctags-output.d/stdout-expected.txt",
    "chars": 1603,
    "preview": "#\n# with --sort=yes\n#\nA spaces B\tinput_space.rst\t/^A spaces B$/;\"\tH\ntest\tinput file.cc\t/^int32 test(int32 a)$/;\"\tf\ttyper"
  },
  {
    "path": "Tmain/early--version-opt-processing.d/exit-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/early--version-opt-processing.d/run.sh",
    "chars": 438,
    "preview": "# Copyright: 2023 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\nBUILDDIR=$2\n\nremove_ctags_d=y\nif [ -d $BUILDDIR/.ctags.d ];"
  },
  {
    "path": "Tmain/early--version-opt-processing.d/stderr-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/early--version-opt-processing.d/stdout-expected.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "Tmain/emacs-modeline-downcased-mode.d/exti-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/emacs-modeline-downcased-mode.d/functions",
    "chars": 213,
    "preview": "# -*-Shell-script-*-\n\n#\n# This is found in /etc/init.d/functions of Fedora23.\n#\n# This test case is special as as case f"
  },
  {
    "path": "Tmain/emacs-modeline-downcased-mode.d/run.sh",
    "chars": 124,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n$CTAGS --options=NONE --quiet -G --print-language ./functio"
  },
  {
    "path": "Tmain/emacs-modeline-downcased-mode.d/stderr-expected.txt",
    "chars": 65,
    "preview": "ctags: Notice: No options will be read from files or environment\n"
  },
  {
    "path": "Tmain/emacs-modeline-downcased-mode.d/stdout-expected.txt",
    "chars": 16,
    "preview": "./functions: Sh\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head.d/input",
    "chars": 51,
    "preview": "/* -*- mode: C++; eval: (auto-fill-mode 1); -*- */\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head.d/run.sh",
    "chars": 117,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n$CTAGS --quiet --options=NONE -G --print-language input\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head.d/stdout-expected.txt",
    "chars": 11,
    "preview": "input: C++\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head2.d/input",
    "chars": 18,
    "preview": "/* -*- C++ -*- */\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head2.d/run.sh",
    "chars": 117,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n$CTAGS --quiet --options=NONE -G --print-language input\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-head2.d/stdout-expected.txt",
    "chars": 11,
    "preview": "input: C++\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-tail.d/input",
    "chars": 123,
    "preview": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Local Variables:  */\n/* mode: c++         */\n/* comment-column: 0 */\n/* End:              */"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-tail.d/run.sh",
    "chars": 117,
    "preview": "# Copyright: 2015 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n$CTAGS --quiet --options=NONE -G --print-language input\n"
  },
  {
    "path": "Tmain/emacs-modeline-non-alnum-in-tail.d/stdout-expected.txt",
    "chars": 11,
    "preview": "input: C++\n"
  },
  {
    "path": "Tmain/emacs-modeline-uppercased-marker.d/exti-expected.txt",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "Tmain/emacs-modeline-uppercased-marker.d/macros",
    "chars": 182,
    "preview": "#  -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */\n#  SPDX-License-Identifier: LGPL-2.1+\n#\n#  This file is part of syst"
  },
  {
    "path": "Tmain/emacs-modeline-uppercased-marker.d/run.sh",
    "chars": 120,
    "preview": "# Copyright: 2019 Masatake YAMATO\n# License: GPL-2\n\nCTAGS=$1\n$CTAGS --options=NONE --quiet -G --print-language ./macros\n"
  },
  {
    "path": "Tmain/emacs-modeline-uppercased-marker.d/stderr-expected.txt",
    "chars": 65,
    "preview": "ctags: Notice: No options will be read from files or environment\n"
  },
  {
    "path": "Tmain/emacs-modeline-uppercased-marker.d/stdout-expected.txt",
    "chars": 18,
    "preview": "./macros: RpmSpec\n"
  }
]

// ... and 7016 more files (download for full content)

About this extraction

This page contains the full source code of the universal-ctags/ctags GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 7216 files (13.4 MB), approximately 3.9M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!