CTAGS-LANG-TCL(7)

πŸ“¦
version 6.2.1 Β· 6 versions
, in alpine 3.24, fedora 43, fedora 44

✨ 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