1.. _ctags-lang-tcl(7): 2 3============================================================== 4ctags-lang-tcl 5============================================================== 6 7Random notes about tagging tcl source code with Universal Ctags 8 9:Version: 5.9.0 10:Manual group: Universal Ctags 11:Manual section: 7 12 13SYNOPSIS 14-------- 15| **ctags** ... --languages=+Tcl ... 16| **ctags** ... --language-force=Tcl ... 17| **ctags** ... --map-Tcl=+.tcl ... 18 19DESCRIPTION 20----------- 21This man page gathers random notes about tagging tcl source code. 22 23TAGGING language objects of OO Extensions 24----------------------------------------- 25 26TclOO parser and ITcl parser are subparsers running on the Tcl parser. 27As the names of parsers show, they are for tagging language objects of 28object oriented programming extensions for the Tcl language. 29 30A pattern, "namespace import oo" in an input file activates the TclOO 31parser. A pattern, "namespace import itcl" in an input file activates 32the ITcl parser. 33 34There are cases that one of the OO extensions is used though neither 35pattern are appeared in an input file. 36 37Consider the following input files: 38 39"main.tcl" 40 41.. code-block:: Tcl 42 43 package require Itcl 44 namespace import itcl::* 45 source input.tcl 46 47"input.tcl" 48 49.. code-block:: Tcl 50 51 class MyClass { 52 public method foo {} { 53 } 54 } 55 56The pattern for activating the ITcl parser is not appeared 57in "input.tcl" though "class" command is used. As a result, 58ctags cannot extract "MyClass". 59 60The parameters `TclOO.forceUse=true|[false]` and 61`ITcl.forceuse=true|[false]` for handling this situation. With the 62parameter, you can force ctags to activate one of the subparsers. 63 64You can use the parameters like ``--param-ITcl.forceuse=true`` 65in a command-line. 66 67Note that you can enable only one of ITcl parser or TclOO parser. 68Enabling both parsers with specifying the parameters can cause 69unexpected results. 70 71SEE ALSO 72-------- 73:ref:`ctags(1) <ctags(1)>` 74