Releases: universal-ctags/ctags
Universal Ctags 6.2.0
This page lists only the most significant changes as remembered. Use
git-log to review changes not enumerated here, especially in language
parsers.
New and extended options and their flags
--list-output-formats
option
See :ref:option_listing
in :ref:ctags(1) <ctags(1)>
.
nulltag
/z
extra
Universal Ctags now supports tags (null tags) having empty strings as their names.
See :ref:extras
in :ref:ctags(1) <ctags(1)>
.
NOTE:
libreadtags
andreadtags
do not support the null tags yet.- Only
json
andxref
output formats support the null tags.
Incompatible changes
-
[readtags] make -Q,--filter not work on ptags when -P,--with-pseudo-tags is specified together
With this version,
-Q,--filter
option doesn't affect the pseudo tags listed
with-P,--with-pseudo-tags
option.-Q,--filter
option specified wth
-P,--with-pseudo-tags
option affect only regular tags.To extract speicifed pseudo tags, use
-Q,--filter
option with
-D,--list-pseudo
action.
Parser related changes
#4026
Integrate pegof <https://github.com/dolik-rce/pegof>
_ to our build process.
New parsers
The following parsers have been added:
-
SELinuxIntefae M4 based subparser
-
SELinuxTypeEnforcement optlib
-
PythonEntryPoints subparser
-
Scdoc optlib
-
JNI subparser
-
TypeSpec parser
- TypeSpec by Kaisheng Xu Β· Pull Request #4243
NOTE: We added a TOML as a new parser in this version. However,
after adding it, we learned its implementation didn't work
entirely. So we deleted the TOML parser, and Cargo subparser
runs on the TOML parser from this "New parsers" list.
See TOML: infinite loop <https://github.com/universal-ctags/ctags/issues/4096>
__
about how it doesn't work.
Changes about parser specific kinds, roles, fields, and extras
-
C++
- New kinds
module
andpartition
- New roles
imported
andexported
forheader
kind
- New kinds
-
Clojure
- New kind
unknown
- New field
definer
- New kind
-
EmacsLisp
- New field
definer
- New field
-
LEX
- New role
grouping
forcond
kind
- New role
-
Lisp
- New kinds
class
,generic
,method
,parameter
,struct
, andtype
- New kinds
-
Make
- New extra
CppDef
- New extra
-
Meson
- New kinds
cfgdata
andcfgvar
- New kinds
-
PowerShell
- New kind
enumlabel
- New kind
-
Python
-
New role
entryPoint
formodule
andfunction
kindsPythonEntryPoints parser emits tag entries having this role.
-
-
Scheme
- New kind
unknown
- New field
definer
- New kind
-
SCSS
- New kind
module
- New role
used
for themodule
kind - New kind
namespace
- New field
module
- New kind
-
SQL
- New kind
local
- New kind
-
Vim
- New kind
heredoc
- New kind
class
- New kind
Readtags
-
make formatter work with -D,--list-pseudo-tags option
An example extracting the value of
!_TAG_PROC_CWD
:
$ ./readtags -t podman.tags -Q '(#/.*CWD.*/ $name)' -F '(list $input #t)' -D
/home/yamato/var/ctags-github/
- make -Q,--filter not work on ptags when -P,--with-pseudo-tags is specified together
What's Changed
- Post-release administrivia by @masatake in #3904
- Ruby: extract m in "m = Module.new()" as a tag with module kind by @masatake in #3907
- GitHub Actions: add CODECOV_TOKEN to env by @masatake in #3911
- docs(web): add the news entry for 6.1.0 by @masatake in #3910
- Sh,Zsh: handle options for alias and function built-in commands by @masatake in #3909
- Ruby: extract m in "define_method(:m" as a method by @masatake in #3908
- add macos-13 runner by @leleliu008 in #3914
- Python: extract n in "n = SimpleNamespace(" as namespace/I kind by @masatake in #3917
- Ruby: optimize the parser by reducing the numbers of calling strlen by @masatake in #3916
- Markdown,FrontMatter,YamlFrontMatter: recognize "..." as the end of YAML documents by @masatake in #3918
- Rake: extract m in "task (:m)" as a task by @masatake in #3919
- I18nRubyGem: trim leading colon inside of tag name by @masatake in #3921
- build(deps): bump actions/cache from 3 to 4 by @dependabot in #3923
- build-sys: enable LTO by @masatake in #3922
- Fix typo by @pepsiman in #3926
- Vim: skip heredoc regions by @masatake in #3925
- docs(man),man-test: require "yaml" feature in the man-test of I18nRubyGem by @masatake in #3929
- Vim: support vim9script by @masatake in #3930
- Make: fix wrong end fields for targets having macros on the same line by @masatake in #3931
- docs(web): suppress a warning reported by sphinx by @masatake in #3933
- main: count the added tags after emitting parser-specific ptags by @masatake in #3936
- Docs(web): wrtite about foreign tags by @masatake in #3934
- LEX: make reference tags for the conditions used for making groups by @masatake in #3939
- C,C++: fix properties field for object defined or declared with structure definitions by @masatake in #3944
- Terraform: fix two known bugs by @ponchoalv in #3945
- C++ : support C++20 modules by @masatake in #3941
- GitHub Actions: add macos-14 runner by @leleliu008 in #3942
- build-sys: Do NOT check user specified tmpdir via --enable-tmpdir= if exists when cross compiling by @leleliu008 in #3950
- JavaScript: skip static blocks by @masatake in #3949
- GitHub Actions: fix macos-13 failure due to [email protected] by @leleliu008 in #3955
- main: fix typos in a variable name by @masatake in #3957
- Vim: extract classes by @masatake in #3951
- main: reset file-position map when input stream is reset by @masatake in #3953
- build-sys: fix enable_debugging command not found by @leleliu008 in #3956
- GitHub Actions: add alpine-3.19 and remove alpine-3.15 by @leleliu008 in #3959
- add support for loongarch by @wuruilong01 in #3958
- FrontMatter: fix the crash for an empty input by @masatake in #3961
- optscript: make the help messages for @[0-9] and [0-9]@ operators easier to understand by @masatake in #3965
- Asm: relax the condition for accepting characters within a section name by @masatake in #3964
- C++: recognize definitions of variable templates by @masatake in #3966
- honor XDG_CONFIG_HOME environment variable on Windows as well by @leleliu008 in #3972
- optscript: add _anongen operator by @masatake in #3973
- Automake: add "makefile-automake", the name of an emacs mode, as an alias by @masatake in #3975
- configure.ac: fix result message grammar by @glibg10b in #3976
- build-sys: fix checking Windows platform with _WIN32 macro by @Biswa96 in #3977
- build-sys: make lto optional by @iLeeWell in #3978
- main: don't allocate a buffer for tagEntryInfoX::sourceFileName if possible by @masatake in #3980
- C++: extract operators specified in using declarations by @masatake in #3982
- Update packcc by @masatake in #3983
- CI: use codecov/codecov-action by @k-takata in #3986
- dsl: allow to specify a default value in $ and & operators by @masatake in #3984
- docs,man: Fix typos by @k-takata in #3987
- vera: Explicit fallthrough by @b4n in #3992
- JavaScript: Improve support for contextual keywords as identifiers by @b4n in #3993
- JavaScript: fix a typo in a comment by @masatake in #3996
- Pascal: support for inline or one line comments added by @masatake in #3997
- matlab: A couple fixes for corner cases by @b4n in #3999
- powershell: Parse enum labels by @b4n in https://github.com/...
Universal Ctags 6.1.0
What's Changed
- HTML: introduce a specialized tokenizer for script areas by @masatake in #3598
- C++,C: record consteval, constinit, thread_local, and __thread to properties: field by @masatake in #3602
- C: add _Thread_local C11 keyword by @masatake in #3603
- GitHub Actions: use python 3.10 instead of 3.11 on MacOS by @masatake in #3606
- Systemtap: add new role "attached" for "probe" kind , and run CPreProcessor as a guest parser by @masatake in #3607
- GitHub Actions: fix testing-mac.yml Homebrew upgrade [email protected] and [email protected] failed problem by @leleliu008 in #3610
- Org: optimize by @masatake in #3611
- Perl: skip string literals when collecting heredoc markers by @masatake in #3592
- main: introduce --_paramdef-=, option by @masatake in #3613
- readtags: unescape input field (a.k.a {tagfile}) only if TAG_OUTPUT_MODE is u-ctags and TAG_OUTPUT_FILESEP is slash by @masatake in #3599
- build-sys(win32): unify MVC_INC_DIRS1 and MVC_INC_DIRS2 by @masatake in #3616
- Various preparations by @masatake in #3617
- misc/review,refactor: generalize functions related to show differences in Uints by @masatake in #3618
- Cxx: support typeof and typeof keywords of the gcc extension by @masatake in #3621
- C++,ObjectiveC,C,main: fix the broken selector for .h by @masatake in #3622
- Markdown: fix the condition to detect code blocks by @masatake in #3626
- C,Asm,LdScript: minor fixes by @masatake in #3623
- CPreProcessor: don't include the newline after a backslash in string or char literals by @masatake in #3629
- Ldscript: improve tagging versions in VERSION commands by @masatake in #3631
- Kconfig: support the macro language by @masatake in #3632
- Ruby: handle curly bracket by @masatake in #3633
- GitHubActions: fix testing-openbsd.yml automake version broken issue by @leleliu008 in #3640
- Tcl: don't include '"' char as a part of identifiers by @masatake in #3639
- Fix typo in conditional in C++ parser by @al42and in #3646
- update README.md to include information about prebuild binaries for unix-like systems. by @leleliu008 in #3651
- Verilog: all text macro map to new kindDefinition:define by @my2817 in #3653
- doc: Verilog, add new kind "define" by @my2817 in #3655
- GitHub Actions: change github actions checkout from v2 to v3 by @leleliu008 in #3657
- Typescript: Fix handling of parentheses in class property value by @b4n in #3659
- cosmetic: gitignore *.swp by @iaalm in #3662
- Powershell: fix string escape issue by @iaalm in #3661
- main,cosmetic: fix misspelling by @jafl in #3667
- main: add quick path for looking up too long strings in the keyword table by @techee in #3664
- Cxx: scan the cork queue instead of the symtab to fill nth fields by @masatake in #3642
- Fortran: add "linkName" extra by @masatake in #3671
- misc/review: add "accept" command to the Tmain inspector by @masatake in #3672
- SQL: Skip PL/SQL selection directives and add sanity check for inquiry directive size by @techee in #3654
- docs(web): add ctags-lang-kconfig.7.rst by @masatake in #3673
- SQL: handle "DATABASE" and "SCHEMA" keywords specially only when they come after "CREATE" by @masatake in #3674
- Ruby: skip if DATA is found by @masatake in #3676
- Misc fix by @masatake in #3679
- Quarto: new parser by @masatake in #3677
- Misc fix by @masatake in #3681
- main: Don't strdup the inputFileName when storing a tag to the corkQueue by @masatake in #3682
- Terraform: new parser by @masatake in #3684
- Misc fix by @masatake in #3685
- Optscript: add _foreignreftag operator by @masatake in #3686
- main,refactor: delete 'inCorkQueue' parameter from attachParserField() by @masatake in #3687
- AutoIt: Slightly optimize parsing #region by @b4n in #3689
- Misc fix by @masatake in #3691
- main: revise bit fields in tagEntryInfo by @masatake in #3695
- C++: accept prototypes starting from :: operator by @masatake in #3694
- autoit: Drop $ from variable names by @techee in #3697
- main: add missing const modifiers by @masatake in #3699
- Circleci: add fedora 38 by @masatake in #3705
- D: parse user-defined attributes by @ntrel in #3701
- C-based parsers,style: adjust placements of "{" after if by @masatake in #3706
- readtags: canonicalize the input file name based on CWD ptag by @masatake in #3304
- D: parse const(T), immutable, inout and shared type qualifiers by @ntrel in #3709
- D: parse contract expressions by @ntrel in #3708
- D: remove
overload
, not a keyword by @ntrel in #3710 - D: set template members parent name by @ntrel in #3707
- Misc fix by @masatake in #3713
- D: fix parsing parameter with pointer by @ntrel in #3715
- D: parse template instance types by @ntrel in #3716
- docs(web): sphinx minor fixes by @masatake in #3719
- Fortran: fix wrongly specified xtag type by @masatake in #3718
- GDScript : mark xtag bit for implicitClass xtags by @masatake in #3717
- Suppress warning by @masatake in #3714
- units.py: don't use color if NO_COLOR is specified by @masatake in #3721
- Verilog: support virtual interface variables by @hirooih in #3720
- readtags: fix a bug compiling a formatter wrongly if giving --formatter long option by @masatake in #3723
- verilog: treat a text-macro as an identifier by @hirooih in #3722
- Misc fix by @masatake in #3724
- colprint: Fix column width truncation by @b4n in #3725
- erlang: Fix crash parsing directives longer than 31 characters by @b4n in #3726
- Misc fix by @masatake in #3731
- lregex: optimize substitute() by @masatake in #3728
- vstring: Avoid int -> char truncation warnings by @b4n in #3690
- Fix many calls to ctype functions by @b4n in #3734
- libreadtags: pull the latest version by @masatake in #3735
- Refactor function in Perl 6 parser for readability by @dtikhonov in #3738
- htable: use precalculated list of primes by @dtikhonov in #3739
- main,refactor: move field null string literals to header. by @dtikhonov in #3740
- LdScript: support SORT keyword by @masatake in #3743
- Various minor fixes by @masatake in #3742
- parsers,perl: allow tokens following...
Universal Ctags 6.0.0
New Contributors (Generated by Git Hub)
- @wbkang made their first contribution in #1424
- @hanwen made their first contribution in #1491
- @sdwolfz made their first contribution in #1506
- @jwilk made their first contribution in #1516
- @vpereira made their first contribution in #1553
- @mqudsi made their first contribution in #1556
- @markferry made their first contribution in #1557
- @grobian made their first contribution in #1561
- @TobiX made their first contribution in #1614
- @jannick0 made their first contribution in #1626
- @siiky made their first contribution in #1656
- @vrischmann made their first contribution in #1669
- @admp made their first contribution in #1677
- @LemonBoy made their first contribution in #1701
- @tambeta made their first contribution in #1766
- @andebjor made their first contribution in #1791
- @p-vitt made their first contribution in #1808
- @hadrielk made their first contribution in #1818
- @derekschrock made their first contribution in #1866
- @ahakanbaba made their first contribution in #1906
- @fwmechanic made their first contribution in #1893
- @razum2um made their first contribution in #1922
- @ditsara made their first contribution in #1927
- @edigaryev made their first contribution in #1931
- @andreasbaumann made their first contribution in #1938
- @Lucretia made their first contribution in #1943
- @bboymimi made their first contribution in #1941
- @pskocik made their first contribution in #1971
- @dreamtigers made their first contribution in #2022
- @Myz made their first contribution in #2030
- @bryanenders made their first contribution in #2038
- @ksamborski made their first contribution in #2083
- @yorickpeterse made their first contribution in #2094
- @standby24x7 made their first contribution in #2112
- @clausmoltkeleth made their first contribution in #2125
- @TwlyY29 made their first contribution in #2137
- @ngirard made their first contribution in #2162
- @alanbarr made their first contribution in #2276
- @julianaito made their first contribution in #2305
- @plv made their first contribution in #2315
- @albfan made their first contribution in #2326
- @AmaiKinono made their first contribution in #2481
- @MaximeChretien made their first contribution in #2553
- @ddrone made their first contribution in #2575
- @lacygoill made their first contribution in #2590
- @ploxiln made their first contribution in #2597
- @simias made their first contribution in #2612
- @hirooih made their first contribution in #2635
- @timgates42 made their first contribution in #2704
- @my2817 made their first contribution in #2703
- @getzze made their first contribution in #2654
- @Cnly made their first contribution in #2728
- @leleliu008 made their first contribution in #2747
- @dolik-rce made their first contribution in #2769
- @bernardjoseph made their first contribution in #2796
- @jimmygoogle made their first contribution in #2868
- @liuchengxu made their first contribution in #2875
- @koenmeersman made their first contribution in #2946
- @ArcsinX made their first contribution in #2956
- @drichardson made their first contribution in #2869
- @athos-ribeiro made their first contribution in #3125
- @karolba made their first contribution in #3141
- @rootkea made their first contribution in #3151
- @henrebotha made their first contribution in #3171
- @Jonta made their first contribution in #3179
- @Davidy22 made their first contribution in #3206
- @eht16 made their first contribution in #3205
- @niksilver made their first contribution in #3297
- @jafl made their first contribution in #3329
- @tartley made their first contribution in #3371
- @hidekiiwamoto made their first contribution in #3376
- @Roy-Orbison made their first contribution in #3410
- @delsner made their first contribution in #3416
- @neeels made their first contribution in #3456
- @kumarstack55 made their first contribution in #3476
- @catap made their first contribution in #3496
Full Changelog: https://github.com/universal-ctags/ctags/commits/v6.0.0