ctags-lang-iPythonCell − The man page of the iPythonCell parser for Universal Ctags
ctags ... −−extras=+{subparser} −−languages=+iPythonCell,Python \
[−−extras−IPythonCell=+{doubleSharps}]
\
[−−regex−IPythonCell=/<PATTERN>/\n/c/]
...
iPythonCell parser is a subparser stacked on top of the Python parser. It works when:
• |
the Python parser is enabled, |
|||
• |
the subparser extra is enabled, and |
|||
• |
the iPythonCell parser itself is enabled. |
The iPythonCell parser extracts cells explained as in vim−ipython−cell (https://github.com/hanschen/vim−ipython−cell/blob/master/README.md).
The iPythonCell parser defines only a cell kind.
Tagging cells staring with ##... is disabled by default because the pattern is too generic; with that pattern unwanted tags can be extracted.
Enable doubleSharps language specific extra for tagging cells staring with ##....
If your favorite cell pattern is not supported in the parser, you can define the pattern in your .ctagd.d/your.ctags or command lines. Here is an example how to support "# CTAGS: ...":
"input.py"
x=1 # CTAGS: DEFINE F def F(): # CTAGS: DO NOTING pass
"output.tags" with "−−options=NONE −−sort=no −−extras=+{subparser} −−regex−IPythonCell=/[ t]*# CTAGS:[ ]?(.*)$/1/c/ −o − input.py"
x input.py /ˆx=1$/;" v DEFINE F input.py /ˆ# CTAGS: DEFINE F$/;" c F input.py /ˆdef F():$/;" f DO NOTING input.py /ˆ # CTAGS: DO NOTING$/;" c
You can put "−−regex−IPythonCell=/[ \t]*# CTAGS:[ ]?(.*)$/\1/c/" in your.ctags to avoid specifying the pattern repeatedly.
ctags(1), ctags−client−tools(7), ctags−lang−python(7)