C#: record type members are not tagged
Author: jha-namanCreated Sep 17, 2026Updated Sep 17, 2026
The name of the parser: C Sharp
The command line you used to run ctags:
$ ctags --options=NONE -f '-' record_class_vs_record.csThe content of input file:
public class MyClass {
public int Field;
public void Method;
}
public record MyRecord {
public int Field;
public void Method;
}
The tags output you are not satisfied with:
ctags: Notice: No options will be read from files or environment
Field record_class_vs_record.cs /^ public int Field;$/;" f class:MyClass
Method record_class_vs_record.cs /^ public void Method;$/;" f class:MyClass
MyClass record_class_vs_record.cs /^public class MyClass {$/;" c
MyRecord record_class_vs_record.cs /^public record MyRecord {$/;" pThe tags output you expect: Something along these lines
Field record_class_vs_record.cs /^ public int Field;$/;" f class:MyClass
Field record_class_vs_record.cs /^ public int Field;$/;" f record:MyRecord
Method record_class_vs_record.cs /^ public void Method;$/;" f class:MyClass
Method record_class_vs_record.cs /^ public void Method;$/;" f record:MyRecord
MyClass record_class_vs_record.cs /^public class MyClass {$/;" c
MyRecord record_class_vs_record.cs /^public record MyRecord {$/;" rThe record is currently being tagged as being of kind p (property) which also seems suspect. Please ignore that part if it is intentional.
The version of ctags:
$ ctags --version
Universal Ctags 6.2.1, Copyright (C) 2015-2025 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Oct 25 2025, 13:15:24
URL: https://ctags.io/
Output version: 1.1
Optional compiled features: +wildcards, +regex, +gnulib_fnmatch, +gnulib_regex, +iconv, +option-directory, +xpath, +json, +interactive, +yaml, +case-insensitive-filenames, +packcc, +optscript, +pcre2How do you get ctags binary: Installed via Homebrew
Source: universal-ctags/ctags