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