xref: /Universal-ctags/man/ctags-lang-tcl.7.rst.in (revision ff17464b4e11a05673c12f32d58b012a5043ddf8)
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: @VERSION@
10:Manual group: Universal Ctags
11:Manual section: 7
12
13SYNOPSIS
14--------
15|	**@CTAGS_NAME_EXECUTABLE@** ... --languages=+Tcl ...
16|	**@CTAGS_NAME_EXECUTABLE@** ... --language-force=Tcl ...
17|	**@CTAGS_NAME_EXECUTABLE@** ... --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--------
73ctags(1)
74