CTAGS-LANG-TCL(7)
β¨ CTAGS-LANG-TCL(7) β¨
okay bestie, welcome to the ctags-lang-tcl page β part of the Universal Ctags manual fam. this is your no-cap guide to tagging tcl source code. π
π NAME π
ctags-lang-tcl β literally just random notes about tagging tcl source code with Universal Ctags. that's the whole vibe. π¦
β¨ SYNOPSIS β¨
ctags ... --languages=+Tcl ...
ctags ... --language-force=Tcl ...
ctags ... --map-Tcl=+.tcl ...
πΈ DESCRIPTION πΈ
this man page is a lil grab-bag π β it gathers up random notes about tagging tcl source code. no big overarching plot, just the tea you need. π
π TAGGING LANGUAGE OBJECTS OF OO EXTENSIONS π
so here's the situation, bestie. the TclOO parser and the ITcl parser are subparsers that run on top of the Tcl parser. and yeah, the names give it away β they're here to tag language objects from the object-oriented programming extensions for the Tcl language. it's giving specialist energy. π§
a pattern β and we mean the literal string namespace import oo β sitting in an input file is what activates the TclOO parser. same deal with namespace import itcl: that pattern in an input file activates the ITcl parser. iconic. β¨
but plot twist π β there are cases where one of the OO extensions is being used even though neither pattern shows up in the input file. rude, honestly.
consider these input files:
"main.tcl"
package require Itcl
namespace import itcl::*
source input.tcl
"input.tcl"
class MyClass {
public method foo {} {
}
}
see the problem? the pattern that activates the ITcl parser is not in "input.tcl", even though the class command is right there being used. and because of that, ctags cannot extract "MyClass". devastating. π
that's exactly why the parameters TclOO.forceUse=true|[false] and ITcl.forceuse=true|[false] exist β they're here to handle this exact situation. with one of these parameters, you can force ctags to activate one of the subparsers. main character energy, honestly. π
and yes, you can use them right on the command-line, like this:
--param-ITcl.forceuse=true
β οΈ okay but listen β you can only enable ONE of the ITcl parser or the TclOO parser. enabling both by specifying the parameters can cause unexpected results. so pick a lane, bestie. π
π¦ SEE ALSO π¦
and that's the whole page, bestie β you ate that. π this was Universal Ctags version 6.2.1, dated CTAGS-LANG-TCL(7) era, and i'm obsessed with you for reading all the way to the end. slay, periodt. πππ«Ά
π¦ where this page comes from
- alpine 3.24: ctags-doc 6.2.1-r0 Β· GPL-2.0-or-later
- fedora 43: ctags 6.2.1-1.fc43 Β· GPL-2.0-or-later
- fedora 44: ctags 6.2.1-3.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms