Shigio, there does appear to be an issue after all )
Attaching following files:
~/issue $ ll
total 46
drwxrwxr-x 2 hero hero 4096 2019-08-10 21:41 .
drwxr-xr-x 48 hero hero 4096 2019-08-10 21:42 ..
-rw-r--r-- 1 hero hero 10525 2019-08-10 17:51 FileTreeWalk.kt
-rw-r--r-- 1 hero hero 23016 2019-08-10 21:39 gtags.conf
-rw-rw-r-- 1 hero hero 2676 2019-08-10 21:38 issue.log
-rw-r--r-- 1 hero hero 2307 2019-08-10 21:41 kt.ctags
1. FileTreeWalk.kt - sample kotlin file from kotlin stdlib.
2. kt.ctags - located in ~/.ctags.d/ in this scenario.
3. gtags.conf - my $GTAGSCONF
4. issue.log - scenario console commands.log
As you can see from issue.log, gtags doesn't use kt.ctags if `gtagslabel' is
set to
`new-ctags', `ctags', irrespective of gtags.conf entries for
`--langmap=kotlin...`.
But it works with `gtagslabel' set to `pygments'.
When set to `pygments', gtags is affected by presence of custom kt.ctags file
in ~/.ctags.d/. - its removal
removes the found tags.
On Sat, Aug 10, 2019 at 09:25:17PM +0900, Shigio YAMAGUCHI wrote:
> Don't worry.
>
> First of all, could you create a set of sample files using the
> --langdefs option?
>
> o A simple source file (Kotlin?)
> o A command line of uctags using the --langdefs option (+ custom.ctags file).
>
> These are necessary for me to reproduce the situation.
>
> Next, let's make it available from gtags.
>
> Regards,
> Shigio
>
> 2019年8月10日(土) 20:57 Gis Ochre <[email protected]>:
> >
> > Just for hitstory. Sorry for not looking at
> > https://lists.gnu.org/archive/html/help-global/ first.
> > That was dumb.
> >
> > сб, 10 авг. 2019 г. в 14:33, Shigio YAMAGUCHI <[email protected]>:
> >>
> >> Would you please repost this issue to the help mailing list?
> >> I think I can help you.
> >>
> >> Regards,
> >> Shigio
> >>
> >> 2019年8月10日(土) 18:55 gisochrewhb <[email protected]>:
> >> >
> >> > Shigio, no code issue. Gtags just lacks documentation on how to use
> >> > custom --langdefs of uctags. It would save gtags users frustration.
> >> > Anyway, thx for help!
> >> >
> >> >
> >> > ОтправленоMeizu M3 note
> >> >
> >> > -------- Исходное сообщение --------
> >> > От: Shigio YAMAGUCHI <[email protected]>
> >> > Время: сб 10/8 01:52
> >> > Кому: Gis Ochre <[email protected]>
> >> > Копия: bug-global <[email protected]>
> >> > Тема: Re: bug: gtags not respecting .ctags files
> >> >
> >> > >Sicne here is bug mailing list (not help mailing list), I am not
> >> > >interested
> >> > >in your problem. Could you describe gtags issue briefly?
> >> > >
> >> > >Regards,
> >> > >Shigio
> >> > >
> >> > >2019年8月9日(金) 21:54 Gis Ochre <[email protected]>:
> >> > >>
> >> > >> Hello, Shigio!
> >> > >> Sorry, my bad. I didn't describe my particular issue in detail.
> >> > >> My particular issue was that gtags didn't respect `--langdef=kotlin`
> >> > >> config from
> >> > >> ~/.ctags.d/custom.ctags file.
> >> > >> On second thought, it doesn't require changing exuberant-ctags.c.
> >> > >> Adding line
> >> > >> ```
> >> > >> :langmap=kotlin\:.kt:\
> >> > >> ```
> >> > >> under `universal-ctags|setting to use Universal Ctags plug-in
> >> > >> parser:\` in gtags.conf
> >> > >> fixes the issue for me and ctags start using that langdef when called
> >> > >> by gtags.
> >> > >>
> >> > >> But maybe you should consider adding smth like
> >> > >> ```
> >> > >> +:options=~/.ctags.d/mycustom.ctags,~/.ctags.d/anothercustom.ctags:\
> >> > >> ```
> >> > >> to gtags.conf to support arbitrary ctags options, not just --langmap
> >> > >> and -exlude.
> >> > >>
> >> > >>
> >> > >> пт, 9 авг. 2019 г. в 04:39, Shigio YAMAGUCHI <[email protected]>:
> >> > >>>
> >> > >>> Hello,
> >> > >>> File exclusion should be specified in gtags.conf. GLOBAL uses uctags
> >> > >>> only
> >> > >>> as an parser. If you want to skip 'foo' file, please write like
> >> > >>> follows:
> >> > >>>
> >> > >>> [gtags.conf]
> >> > >>> :skip=foo:\
> >> > >>>
> >> > >>> If 'foo' is a directory, it should be 'foo/'.
> >> > >>> Please see gtags(1) for the detail.
> >> > >>>
> >> > >>> Regards,
> >> > >>> Shigio
> >> > >>>
> >> > >>> 2019年8月9日(金) 8:58 Gis Ochre <[email protected]>:
> >> > >>> >
> >> > >>> > Hello, everyone!
> >> > >>> >
> >> > >>> > Problem described in detail in
> >> > >>> > https://github.com/universal-ctags/ctags/issues/1608.
> >> > >>> > Can confirm that cornercase patch.diff fixed the issue for me.
> >> > >>> >
> >> > >>> > _______________________________________________
> >> > >>> > Bug-global mailing list
> >> > >>> > [email protected]
> >> > >>> > https://lists.gnu.org/mailman/listinfo/bug-global
> >> > >>>
> >> > >>>
> >> > >>>
> >> > >>> --
> >> > >>> Shigio YAMAGUCHI <[email protected]>
> >> > >>> PGP fingerprint:
> >> > >>> 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
> >> > >
> >> > >
> >> > >
> >> > >--
> >> > >Shigio YAMAGUCHI <[email protected]>
> >> > >PGP fingerprint:
> >> > >26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
> >>
> >>
> >>
> >> --
> >> Shigio YAMAGUCHI <[email protected]>
> >> PGP fingerprint:
> >> 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
>
>
>
> --
> Shigio YAMAGUCHI <[email protected]>
> PGP fingerprint:
> 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by
the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
@file:JvmMultifileClass
@file:JvmName("FilesKt")
package kotlin.io
import kotlin.*
import java.io.File
import java.io.IOException
import java.util.Stack
/**
* An enumeration to describe possible walk directions.
* There are two of them: beginning from parents, ending with children,
* and beginning from children, ending with parents. Both use depth-first
search.
*/
public enum class FileWalkDirection {
/** Depth-first search, directory is visited BEFORE its files */
TOP_DOWN,
/** Depth-first search, directory is visited AFTER its files */
BOTTOM_UP
// Do we want also breadth-first search?
}
/**
* This class is intended to implement different file traversal methods.
* It allows to iterate through all files inside a given directory.
*
* Use [File.walk], [File.walkTopDown] or [File.walkBottomUp] extension
functions to instantiate a `FileTreeWalk` instance.
* If the file path given is just a file, walker iterates only it.
* If the file path given does not exist, walker iterates nothing, i.e. it's
equivalent to an empty sequence.
*/
public class FileTreeWalk private constructor(
private val start: File,
private val direction: FileWalkDirection = FileWalkDirection.TOP_DOWN,
private val onEnter: ((File) -> Boolean)?,
private val onLeave: ((File) -> Unit)?,
private val onFail: ((f: File, e: IOException) -> Unit)?,
private val maxDepth: Int = Int.MAX_VALUE
) : Sequence<File> {
internal constructor(start: File, direction: FileWalkDirection =
FileWalkDirection.TOP_DOWN) : this(start, direction, null, null, null)
/** Returns an iterator walking through files. */
override public fun iterator(): Iterator<File> = FileTreeWalkIterator()
/** Abstract class that encapsulates file visiting in some order, beginning
from a given [root] */
private abstract class WalkState(val root: File) {
/** Call of this function proceeds to a next file for visiting and
returns it */
abstract public fun step(): File?
}
/** Abstract class that encapsulates directory visiting in some order,
beginning from a given [rootDir] */
private abstract class DirectoryState(rootDir: File) : WalkState(rootDir) {
init {
if (_Assertions.ENABLED)
assert(rootDir.isDirectory) { "rootDir must be verified to be
directory beforehand." }
}
}
private inner class FileTreeWalkIterator : AbstractIterator<File>() {
// Stack of directory states, beginning from the start directory
private val state = Stack<WalkState>()
init {
if (start.isDirectory) {
state.push(directoryState(start))
} else if (start.isFile) {
state.push(SingleFileState(start))
} else {
done()
}
}
override fun computeNext() {
val nextFile = gotoNext()
if (nextFile != null)
setNext(nextFile)
else
done()
}
private fun directoryState(root: File): DirectoryState {
return when (direction) {
FileWalkDirection.TOP_DOWN -> TopDownDirectoryState(root)
FileWalkDirection.BOTTOM_UP -> BottomUpDirectoryState(root)
}
}
tailrec private fun gotoNext(): File? {
if (state.empty()) {
// There is nothing in the state
return null
}
// Take next file from the top of the stack
val topState = state.peek()!!
val file = topState.step()
if (file == null) {
// There is nothing more on the top of the stack, go back
state.pop()
return gotoNext()
} else {
// Check that file/directory matches the filter
if (file == topState.root || !file.isDirectory || state.size >=
maxDepth) {
// Proceed to a root directory or a simple file
return file
} else {
// Proceed to a sub-directory
state.push(directoryState(file))
return gotoNext()
}
}
}
/** Visiting in bottom-up order */
private inner class BottomUpDirectoryState(rootDir: File) :
DirectoryState(rootDir) {
private var rootVisited = false
private var fileList: Array<File>? = null
private var fileIndex = 0
private var failed = false
/** First all children, then root directory */
override public fun step(): File? {
if (!failed && fileList == null) {
if (onEnter?.invoke(root) == false) {
return null
}
fileList = root.listFiles()
if (fileList == null) {
onFail?.invoke(root, AccessDeniedException(file = root,
reason = "Cannot list files in a directory"))
failed = true
}
}
if (fileList != null && fileIndex < fileList!!.size) {
// First visit all files
return fileList!![fileIndex++]
} else if (!rootVisited) {
// Then visit root
rootVisited = true
return root
} else {
// That's all
onLeave?.invoke(root)
return null
}
}
}
/** Visiting in top-down order */
private inner class TopDownDirectoryState(rootDir: File) :
DirectoryState(rootDir) {
private var rootVisited = false
private var fileList: Array<File>? = null
private var fileIndex = 0
/** First root directory, then all children */
override public fun step(): File? {
if (!rootVisited) {
// First visit root
if (onEnter?.invoke(root) == false) {
return null
}
rootVisited = true
return root
} else if (fileList == null || fileIndex < fileList!!.size) {
if (fileList == null) {
// Then read an array of files, if any
fileList = root.listFiles()
if (fileList == null) {
onFail?.invoke(root, AccessDeniedException(file =
root, reason = "Cannot list files in a directory"))
}
if (fileList == null || fileList!!.size == 0) {
onLeave?.invoke(root)
return null
}
}
// Then visit all files
return fileList!![fileIndex++]
} else {
// That's all
onLeave?.invoke(root)
return null
}
}
}
private inner class SingleFileState(rootFile: File) :
WalkState(rootFile) {
private var visited: Boolean = false
init {
if (_Assertions.ENABLED)
assert(rootFile.isFile) { "rootFile must be verified to be
file beforehand." }
}
override fun step(): File? {
if (visited) return null
visited = true
return root
}
}
}
/**
* Sets a predicate [function], that is called on any entered directory
before its files are visited
* and before it is visited itself.
*
* If the [function] returns `false` the directory is not entered and
neither it nor its files are visited.
*/
public fun onEnter(function: (File) -> Boolean): FileTreeWalk {
return FileTreeWalk(start, direction, onEnter = function, onLeave =
onLeave, onFail = onFail, maxDepth = maxDepth)
}
/**
* Sets a callback [function], that is called on any left directory after
its files are visited and after it is visited itself.
*/
public fun onLeave(function: (File) -> Unit): FileTreeWalk {
return FileTreeWalk(start, direction, onEnter = onEnter, onLeave =
function, onFail = onFail, maxDepth = maxDepth)
}
/**
* Set a callback [function], that is called on a directory when it's
impossible to get its file list.
*
* [onEnter] and [onLeave] callback functions are called even in this case.
*/
public fun onFail(function: (File, IOException) -> Unit): FileTreeWalk {
return FileTreeWalk(start, direction, onEnter = onEnter, onLeave =
onLeave, onFail = function, maxDepth = maxDepth)
}
/**
* Sets the maximum [depth] of a directory tree to traverse. By default
there is no limit.
*
* The value must be positive and [Int.MAX_VALUE] is used to specify an
unlimited depth.
*
* With a value of 1, walker visits only the origin directory and all its
immediate children,
* with a value of 2 also grandchildren, etc.
*/
public fun maxDepth(depth: Int): FileTreeWalk {
if (depth <= 0)
throw IllegalArgumentException("depth must be positive, but was
$depth.")
return FileTreeWalk(start, direction, onEnter, onLeave, onFail, depth)
}
}
/**
* Gets a sequence for visiting this directory and all its content.
*
* @param direction walk direction, top-down (by default) or bottom-up.
*/
public fun File.walk(direction: FileWalkDirection =
FileWalkDirection.TOP_DOWN): FileTreeWalk =
FileTreeWalk(this, direction)
/**
* Gets a sequence for visiting this directory and all its content in top-down
order.
* Depth-first search is used and directories are visited before all their
files.
*/
public fun File.walkTopDown(): FileTreeWalk = walk(FileWalkDirection.TOP_DOWN)
/**
* Gets a sequence for visiting this directory and all its content in bottom-up
order.
* Depth-first search is used and directories are visited after all their files.
*/
public fun File.walkBottomUp(): FileTreeWalk = walk(FileWalkDirection.BOTTOM_UP)
--langdef=kotlin
--langmap=kotlin:+.kt
--langmap=kotlin:+.kts
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*[[:space:]]*class[[:space:]]+([[:alnum:]_:]+)/\3/c,classes/
--regex-kotlin=/^.*((companion|public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*[[:space:]]*(object)/\3/o,objects/
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*[[:space:]]*interface[[:space:]]+([[:alnum:]_:]+)/\3/i,interfaces/
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*[[:space:]]*typealias[[:space:]]+([[:alnum:]_:]+)/\3/T,types/
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*fun(.*)[[:space:]\.]([[:alnum:]_:]+)\(/\4/m,methods/
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*(const[[:space:]]*)?val[[:space:]]+([[:alnum:]_]+)/\4/C,constants/
--regex-kotlin=/^.*((public|private|internal|protected|enum|sealed|annotation|data|inner|lateinit|override|tailrec|operator|infix|inline|external|suspend|const|abstract|final|open|implicit|lazy|vararg|noinline|crossinline|expect|actual)[[:space:]]*)*(lateinit[[:space:]]*)*var[[:space:]]+([[:alnum:]_]+)/\4/v,variables/
--regex-kotlin=/^.*package[[:space:]]+([[:alnum:]_.:]+)/\1/p,packages/
#
# Copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2010, 2011, 2013,
# 2015, 2016, 2017
# Tama Communications Corporation
#
# This file is part of GNU GLOBAL.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# *
# Configuration file for GNU GLOBAL source code tagging system.
#
# Basically, GLOBAL doesn't need this configuration file ('gtags.conf'),
# because it has default values in itself. If you have this file as
# '/etc/gtags.conf' or "$HOME/.globalrc" then GLOBAL overwrite the default
# values with values in the file.
# Configuration file is also necessary to use plug-in parsers.
#
# The format is similar to termcap(5). You can specify a target with
# GTAGSLABEL environment variable. Default target is 'default'.
#
# If you want to have default values for yourself, it is recommended to
# use the following method:
#
# default:\
# :tc=default@~/.globalrc:\ <= includes default values from
~/.globalrc.
# :tc=native:
#
# Please refer to gtags.conf(5) for details.
#
default:\
:tc=native:
native:\
:tc=gtags:tc=htags:
user:\
:tc=user-custom:tc=htags:
ctags:\
:tc=exuberant-ctags:tc=htags:
new-ctags:\
:tc=universal-ctags:tc=htags:
pygments:\
:tc=pygments-parser:tc=htags:
#
# [How to merge two or more parsers?]
#
# Rule: The first matched langmap is adopted.
#
# ":tc=builtin-parser:tc=pygments-parser:" means:
# If built-in parser exists for the target, it is used.
# Else if pygments parser exists it is used.
#
native-pygments:\
:tc=builtin-parser:tc=pygments-parser:tc=htags:
#---------------------------------------------------------------------
# Configuration for gtags(1)
# See gtags(1).
#---------------------------------------------------------------------
common:\
:skip=HTML/,HTML.pub/,tags,TAGS,ID,y.tab.c,y.tab.h,gtags.files,cscope.files,cscope.out,cscope.po.out,cscope.in.out,SCCS/,RCS/,CVS/,CVSROOT/,{arch}/,autom4te.cache/,*.orig,*.rej,*.bak,*~,#*#,*.swp,*.tmp,*_flymake.*,*_flymake,*.o,*.a,*.so,*.lo,*.zip,*.gz,*.bz2,*.xz,*.lzh,*.Z,*.tgz,*.min.js,*min.css:
#
# Built-in parsers.
#
gtags:\
:tc=common:\
:tc=builtin-parser:
builtin-parser:\
:langmap=c\:.c.h,yacc\:.y,asm\:.s.S,java\:.java,cpp\:.c++.cc.hh.cpp.cxx.hxx.hpp.C.H,php\:.php.php3.phtml:
#
# skeleton for user's custom parser.
#
user-custom|User custom plugin parser:\
:tc=common:\
:langmap=c\:.c.h:\
:gtags_parser=c\:$libdir/gtags/user-custom.la:
#
# Plug-in parser to use Exuberant Ctags.
#
# Most of the following definitions were automatically generated by this
command line:
# $ perl maps2conf.pl /user/local/bin/ctags '$libdir/gtags/exuberant-ctags.la'
# ('/user/local/bin/ctags' should be replaced with the path of Exuberant Ctags.)
#
exuberant-ctags|plugin-example|setting to use Exuberant Ctags plug-in parser:\
:tc=common:\
:ctagscom=/usr/local/bin/ctags:\
:ctagslib=$libdir/gtags/exuberant-ctags.la:\
:langmap=Ant\:(*.build.xml):\
:langmap=Asm\:.asm.ASM.s.S.A51(*.29[kK])(*.[68][68][kKsSxX])(*.[xX][68][68]):\
:langmap=Asp\:.asp.asa:\
:langmap=Awk\:.awk.gawk.mawk:\
:langmap=Basic\:.bas.bi.bb.pb:\
:langmap=BETA\:.bet:\
:langmap=C\:.c:\
:langmap=C++\:.c++.cc.cp.cpp.cxx.h.h++.hh.hp.hpp.hxx.C.H:\
:langmap=C#\:.cs:\
:langmap=Cobol\:.cbl.cob.CBL.COB:\
:langmap=DosBatch\:.bat.cmd:\
:langmap=Eiffel\:.e:\
:langmap=Erlang\:.erl.ERL.hrl.HRL:\
:langmap=Flex\:.as.mxml:\
:langmap=Fortran\:.f.for.ftn.f77.f90.f95.F.FOR.FTN.F77.F90.F95:\
:langmap=HTML\:.htm.html:\
:langmap=Java\:.java:\
:langmap=JavaScript\:.js:\
:langmap=kotlin\:.kt:\
:langmap=Lisp\:.cl.clisp.el.l.lisp.lsp:\
:langmap=Lua\:.lua:\
:langmap=Make\:.mak.mk([Mm]akefile)(GNUmakefile):\
:langmap=MatLab\:.m:\
:langmap=OCaml\:.ml.mli:\
:langmap=Pascal\:.p.pas:\
:langmap=Perl\:.pl.pm.plx.perl:\
:langmap=PHP\:.php.php3.phtml:\
:langmap=Python\:.py.pyx.pxd.pxi.scons:\
:langmap=REXX\:.cmd.rexx.rx:\
:langmap=Ruby\:.rb.ruby:\
:langmap=Scheme\:.SCM.SM.sch.scheme.scm.sm:\
:langmap=Sh\:.sh.SH.bsh.bash.ksh.zsh:\
:langmap=SLang\:.sl:\
:langmap=SML\:.sml.sig:\
:langmap=SQL\:.sql:\
:langmap=Tcl\:.tcl.tk.wish.itcl:\
:langmap=Tex\:.tex:\
:langmap=Vera\:.vr.vri.vrh:\
:langmap=Verilog\:.v:\
:langmap=VHDL\:.vhdl.vhd:\
:langmap=Vim\:.vim:\
:langmap=YACC\:.y:\
:gtags_parser=Ant\:$ctagslib:\
:gtags_parser=Asm\:$ctagslib:\
:gtags_parser=Asp\:$ctagslib:\
:gtags_parser=Awk\:$ctagslib:\
:gtags_parser=Basic\:$ctagslib:\
:gtags_parser=BETA\:$ctagslib:\
:gtags_parser=C\:$ctagslib:\
:gtags_parser=C++\:$ctagslib:\
:gtags_parser=C#\:$ctagslib:\
:gtags_parser=Cobol\:$ctagslib:\
:gtags_parser=DosBatch\:$ctagslib:\
:gtags_parser=Eiffel\:$ctagslib:\
:gtags_parser=Erlang\:$ctagslib:\
:gtags_parser=Flex\:$ctagslib:\
:gtags_parser=Fortran\:$ctagslib:\
:gtags_parser=HTML\:$ctagslib:\
:gtags_parser=Java\:$ctagslib:\
:gtags_parser=JavaScript\:$ctagslib:\
:gtags_parser=Lisp\:$ctagslib:\
:gtags_parser=Lua\:$ctagslib:\
:gtags_parser=Make\:$ctagslib:\
:gtags_parser=MatLab\:$ctagslib:\
:gtags_parser=OCaml\:$ctagslib:\
:gtags_parser=Pascal\:$ctagslib:\
:gtags_parser=Perl\:$ctagslib:\
:gtags_parser=PHP\:$ctagslib:\
:gtags_parser=Python\:$ctagslib:\
:gtags_parser=REXX\:$ctagslib:\
:gtags_parser=Ruby\:$ctagslib:\
:gtags_parser=Scheme\:$ctagslib:\
:gtags_parser=Sh\:$ctagslib:\
:gtags_parser=SLang\:$ctagslib:\
:gtags_parser=SML\:$ctagslib:\
:gtags_parser=SQL\:$ctagslib:\
:gtags_parser=Tcl\:$ctagslib:\
:gtags_parser=Tex\:$ctagslib:\
:gtags_parser=Vera\:$ctagslib:\
:gtags_parser=Verilog\:$ctagslib:\
:gtags_parser=VHDL\:$ctagslib:\
:gtags_parser=Vim\:$ctagslib:\
:gtags_parser=YACC\:$ctagslib:
#
# Plug-in parser to use Universal Ctags.
#
# Most of the following definitions were automatically generated by this
command line:
# $ perl maps2conf.pl /usr/local/bin/ctags '$libdir/gtags/universal-ctags.la'
# ('/user/local/bin/ctags' should be replaced with the path of Universal Ctags.)
#
universal-ctags|setting to use Universal Ctags plug-in parser:\
:tc=common:\
:ctagscom=/usr/local/bin/ctags:\
:ctagslib=$libdir/gtags/universal-ctags.la:\
:langmap=Ada\:.adb.ads.Ada:\
:langmap=Ant\:(build.xml)(*.build.xml).ant.xml:\
:langmap=Asm\:.A51(*.29[kK])(*.[68][68][kKsSxX])(*.[xX][68][68]).asm.ASM.s.S:\
:langmap=Asp\:.asp.asa:\
:langmap=Autoconf\:(configure.in).ac:\
:langmap=Automake\:(Makefile.am).am:\
:langmap=Awk\:.awk.gawk.mawk:\
:langmap=Basic\:.bas.bi.bb.pb:\
:langmap=BETA\:.bet:\
:langmap=Clojure\:.clj.cljs.cljc:\
:langmap=C\:.c:\
:langmap=C++\:.c++.cc.cp.cpp.cxx.h.h++.hh.hp.hpp.hxx.inl:\
:langmap=CSS\:.css:\
:langmap=C#\:.cs:\
:langmap=ctags\:.ctags:\
:langmap=Cobol\:.cbl.cob.CBL.COB:\
:langmap=CUDA\:.cu.cuh:\
:langmap=D\:.d.di:\
:langmap=Diff\:.diff.patch:\
:langmap=DTD\:.dtd.mod:\
:langmap=DTS\:.dts.dtsi:\
:langmap=DosBatch\:.bat.cmd:\
:langmap=Eiffel\:.e:\
:langmap=elm\:.elm:\
:langmap=Erlang\:.erl.ERL.hrl.HRL:\
:langmap=Falcon\:.fal.ftd:\
:langmap=Flex\:.as.mxml:\
:langmap=Fortran\:.f.for.ftn.f77.f90.f95.f03.f08.f15:\
:langmap=gdbinit\:(.gdbinit).gdb:\
:langmap=Go\:.go:\
:langmap=HTML\:.htm.html:\
:langmap=Iniconf\:.ini.conf:\
:langmap=ITcl\:.itcl:\
:langmap=Java\:.java:\
:langmap=JavaProperties\:.properties:\
:langmap=JavaScript\:.js.jsx:\
:langmap=JSON\:.json:\
:langmap=kotlin\:.kt:\
:langmap=LdScript\:(*.lds.S)(ld.*).lds.scr.ld:\
:langmap=Lisp\:.cl.clisp.el.l.lisp.lsp:\
:langmap=Lua\:.lua:\
:langmap=M4\:.m4.spt:\
:langmap=man\:.1.2.3.4.5.6.7.8.9:\
:langmap=Make\:([Mm]akefile)(GNUmakefile).mak.mk:\
:langmap=MatLab\:.m:\
:langmap=Myrddin\:.myr:\
:langmap=ObjectiveC\:.mm.m.h:\
:langmap=OldC++\:.c++.cc.cp.cpp.cxx.h.h++.hh.hp.hpp.hxx.inl:\
:langmap=OldC\:.c:\
:langmap=OCaml\:.ml.mli.aug:\
:langmap=passwd\:(passwd):\
:langmap=Pascal\:.p.pas:\
:langmap=Perl\:.pl.pm.ph.plx.perl:\
:langmap=Perl6\:.p6.pm6.pm.pl6:\
:langmap=PHP\:.php.php3.php4.php5.php7.phtml:\
:langmap=pod\:.pod:\
:langmap=Protobuf\:.proto:\
:langmap=puppetManifest\:.pp:\
:langmap=Python\:.py.pyx.pxd.pxi.scons:\
:langmap=QemuHX\:.hx:\
:langmap=R\:.r.R.s.q:\
:langmap=REXX\:.cmd.rexx.rx:\
:langmap=Robot\:.robot:\
:langmap=RpmSpec\:.spec:\
:langmap=reStructuredText\:.rest.reST.rst:\
:langmap=Ruby\:.rb.ruby:\
:langmap=Rust\:.rs:\
:langmap=Scheme\:.SCM.SM.sch.scheme.scm.sm:\
:langmap=Sh\:.sh.SH.bsh.bash.ksh.zsh.ash:\
:langmap=SLang\:.sl:\
:langmap=SML\:.sml.sig:\
:langmap=SQL\:.sql:\
:langmap=SystemdUnit\:.unit.service.socket.device.mount.automount.swap.target.path.timer.snapshot.scope.slice.time:\
:langmap=Tcl\:.tcl.tk.wish.exp:\
:langmap=Tex\:.tex:\
:langmap=TTCN\:.ttcn.ttcn3:\
:langmap=Vera\:.vr.vri.vrh:\
:langmap=Verilog\:.v:\
:langmap=SystemVerilog\:.sv.svh.svi:\
:langmap=VHDL\:.vhdl.vhd:\
:langmap=Vim\:(vimrc)([._]vimrc)(gvimrc)([._]gvimrc).vim.vba:\
:langmap=WindRes\:.rc:\
:langmap=YACC\:.y:\
:langmap=YumRepo\:.repo:\
:langmap=Zephir\:.zep:\
:langmap=DBusIntrospect\:.xml:\
:langmap=Glade\:.glade:\
:langmap=Maven2\:(pom.xml).pom.xml:\
:langmap=PlistXML\:.plist:\
:langmap=RelaxNG\:.rng:\
:langmap=SVG\:.svg:\
:langmap=XSLT\:.xsl.xslt:\
:gtags_parser=Ada\:$ctagslib:\
:gtags_parser=Ant\:$ctagslib:\
:gtags_parser=Asm\:$ctagslib:\
:gtags_parser=Asp\:$ctagslib:\
:gtags_parser=Autoconf\:$ctagslib:\
:gtags_parser=Automake\:$ctagslib:\
:gtags_parser=Awk\:$ctagslib:\
:gtags_parser=Basic\:$ctagslib:\
:gtags_parser=BETA\:$ctagslib:\
:gtags_parser=Clojure\:$ctagslib:\
:gtags_parser=C\:$ctagslib:\
:gtags_parser=C++\:$ctagslib:\
:gtags_parser=CSS\:$ctagslib:\
:gtags_parser=C#\:$ctagslib:\
:gtags_parser=ctags\:$ctagslib:\
:gtags_parser=Cobol\:$ctagslib:\
:gtags_parser=CUDA\:$ctagslib:\
:gtags_parser=D\:$ctagslib:\
:gtags_parser=Diff\:$ctagslib:\
:gtags_parser=DTD\:$ctagslib:\
:gtags_parser=DTS\:$ctagslib:\
:gtags_parser=DosBatch\:$ctagslib:\
:gtags_parser=Eiffel\:$ctagslib:\
:gtags_parser=elm\:$ctagslib:\
:gtags_parser=Erlang\:$ctagslib:\
:gtags_parser=Falcon\:$ctagslib:\
:gtags_parser=Flex\:$ctagslib:\
:gtags_parser=Fortran\:$ctagslib:\
:gtags_parser=gdbinit\:$ctagslib:\
:gtags_parser=Go\:$ctagslib:\
:gtags_parser=HTML\:$ctagslib:\
:gtags_parser=Iniconf\:$ctagslib:\
:gtags_parser=ITcl\:$ctagslib:\
:gtags_parser=Java\:$ctagslib:\
:gtags_parser=JavaProperties\:$ctagslib:\
:gtags_parser=JavaScript\:$ctagslib:\
:gtags_parser=JSON\:$ctagslib:\
:gtags_parser=LdScript\:$ctagslib:\
:gtags_parser=Lisp\:$ctagslib:\
:gtags_parser=Lua\:$ctagslib:\
:gtags_parser=M4\:$ctagslib:\
:gtags_parser=man\:$ctagslib:\
:gtags_parser=Make\:$ctagslib:\
:gtags_parser=MatLab\:$ctagslib:\
:gtags_parser=Myrddin\:$ctagslib:\
:gtags_parser=ObjectiveC\:$ctagslib:\
:gtags_parser=OldC++\:$ctagslib:\
:gtags_parser=OldC\:$ctagslib:\
:gtags_parser=OCaml\:$ctagslib:\
:gtags_parser=passwd\:$ctagslib:\
:gtags_parser=Pascal\:$ctagslib:\
:gtags_parser=Perl\:$ctagslib:\
:gtags_parser=Perl6\:$ctagslib:\
:gtags_parser=PHP\:$ctagslib:\
:gtags_parser=pod\:$ctagslib:\
:gtags_parser=Protobuf\:$ctagslib:\
:gtags_parser=puppetManifest\:$ctagslib:\
:gtags_parser=Python\:$ctagslib:\
:gtags_parser=QemuHX\:$ctagslib:\
:gtags_parser=R\:$ctagslib:\
:gtags_parser=REXX\:$ctagslib:\
:gtags_parser=Robot\:$ctagslib:\
:gtags_parser=RpmSpec\:$ctagslib:\
:gtags_parser=reStructuredText\:$ctagslib:\
:gtags_parser=Ruby\:$ctagslib:\
:gtags_parser=Rust\:$ctagslib:\
:gtags_parser=Scheme\:$ctagslib:\
:gtags_parser=Sh\:$ctagslib:\
:gtags_parser=SLang\:$ctagslib:\
:gtags_parser=SML\:$ctagslib:\
:gtags_parser=SQL\:$ctagslib:\
:gtags_parser=SystemdUnit\:$ctagslib:\
:gtags_parser=Tcl\:$ctagslib:\
:gtags_parser=Tex\:$ctagslib:\
:gtags_parser=TTCN\:$ctagslib:\
:gtags_parser=Vera\:$ctagslib:\
:gtags_parser=Verilog\:$ctagslib:\
:gtags_parser=SystemVerilog\:$ctagslib:\
:gtags_parser=VHDL\:$ctagslib:\
:gtags_parser=Vim\:$ctagslib:\
:gtags_parser=WindRes\:$ctagslib:\
:gtags_parser=YACC\:$ctagslib:\
:gtags_parser=YumRepo\:$ctagslib:\
:gtags_parser=Zephir\:$ctagslib:\
:gtags_parser=DBusIntrospect\:$ctagslib:\
:gtags_parser=Glade\:$ctagslib:\
:gtags_parser=Maven2\:$ctagslib:\
:gtags_parser=PlistXML\:$ctagslib:\
:gtags_parser=RelaxNG\:$ctagslib:\
:gtags_parser=SVG\:$ctagslib:\
:gtags_parser=XSLT\:$ctagslib:
#
# Plug-in parser to use Pygments.
#
pygments-parser|Pygments plug-in parser:\
:tc=common:\
:ctagscom=/usr/local/bin/ctags:\
:pygmentslib=$libdir/gtags/pygments-parser.la:\
:langmap=ABAP\:.abap:\
:langmap=ANTLR\:.G.g:\
:langmap=ActionScript3\:.as:\
:langmap=Ada\:.adb.ads.ada:\
:langmap=AppleScript\:.applescript:\
:langmap=AspectJ\:.aj:\
:langmap=Aspx-cs\:.aspx.asax.ascx.ashx.asmx.axd:\
:langmap=Asymptote\:.asy:\
:langmap=AutoIt\:.au3:\
:langmap=Awk\:.awk.gawk.mawk:\
:langmap=BUGS\:.bug:\
:langmap=Bash\:.sh.ksh.bash.ebuild.eclass:\
:langmap=Bat\:.bat.cmd:\
:langmap=BlitzMax\:.bmx:\
:langmap=Boo\:.boo:\
:langmap=Bro\:.bro:\
:langmap=C#\:.cs:\
:langmap=C++\:.c++.cc.cp.cpp.cxx.h.h++.hh.hp.hpp.hxx.C.H:\
:langmap=COBOLFree\:.cbl.CBL:\
:langmap=COBOL\:.cob.COB.cpy.CPY:\
:langmap=CUDA\:.cu.cuh:\
:langmap=C\:.c.h:\
:langmap=Ceylon\:.ceylon:\
:langmap=Cfm\:.cfm.cfml.cfc:\
:langmap=Clojure\:.clj:\
:langmap=CoffeeScript\:.coffee:\
:langmap=Common-Lisp\:.cl.lisp.el:\
:langmap=Coq\:.v:\
:langmap=Croc\:.croc:\
:langmap=Csh\:.tcsh.csh:\
:langmap=Cython\:.pyx.pxd.pxi:\
:langmap=Dart\:.dart:\
:langmap=Dg\:.dg:\
:langmap=Duel\:.duel.jbst:\
:langmap=Dylan\:.dylan.dyl.intr:\
:langmap=ECL\:.ecl:\
:langmap=EC\:.ec.eh:\
:langmap=ERB\:.erb:\
:langmap=Elixir\:.ex.exs:\
:langmap=Erlang\:.erl.hrl.es.escript:\
:langmap=Evoque\:.evoque:\
:langmap=FSharp\:.fs.fsi:\
:langmap=Factor\:.factor:\
:langmap=Fancy\:.fy.fancypack:\
:langmap=Fantom\:.fan:\
:langmap=Felix\:.flx.flxh:\
:langmap=Fortran\:.f.f90.F.F90:\
:langmap=GAS\:.s.S:\
:langmap=GLSL\:.vert.frag.geo:\
:langmap=Genshi\:.kid:\
:langmap=Gherkin\:.feature:\
:langmap=Gnuplot\:.plot.plt:\
:langmap=Go\:.go:\
:langmap=GoodData-CL\:.gdc:\
:langmap=Gosu\:.gs.gsx.gsp.vark:\
:langmap=Groovy\:.groovy:\
:langmap=Gst\:.gst:\
:langmap=HaXe\:.hx:\
:langmap=Haml\:.haml:\
:langmap=Haskell\:.hs:\
:langmap=Hxml\:.hxml:\
:langmap=Hybris\:.hy.hyb:\
:langmap=IDL\:.pro:\
:langmap=Io\:.io:\
:langmap=Ioke\:.ik:\
:langmap=JAGS\:.jag.bug:\
:langmap=Jade\:.jade:\
:langmap=JavaScript\:.js:\
:langmap=Java\:.java:\
:langmap=Jsp\:.jsp:\
:langmap=Julia\:.jl:\
:langmap=Koka\:.kk.kki:\
:langmap=Kotlin\:.kt:\
:langmap=LLVM\:.ll:\
:langmap=Lasso\:.lasso:\
:langmap=Literate-Haskell\:.lhs:\
:langmap=LiveScript\:.ls:\
:langmap=Logos\:.x.xi.xm.xmi:\
:langmap=Logtalk\:.lgt:\
:langmap=Lua\:.lua.wlua:\
:langmap=MOOCode\:.moo:\
:langmap=MXML\:.mxml:\
:langmap=Mako\:.mao:\
:langmap=Mason\:.m.mhtml.mc.mi:\
:langmap=Matlab\:.m:\
:langmap=Modelica\:.mo:\
:langmap=Modula2\:.mod:\
:langmap=Monkey\:.monkey:\
:langmap=MoonScript\:.moon:\
:langmap=MuPAD\:.mu:\
:langmap=Myghty\:.myt:\
:langmap=NASM\:.asm.ASM:\
:langmap=NSIS\:.nsi.nsh:\
:langmap=Nemerle\:.n:\
:langmap=NewLisp\:.lsp.nl:\
:langmap=Newspeak\:.ns2:\
:langmap=Nimrod\:.nim.nimrod:\
:langmap=OCaml\:.ml.mli.mll.mly:\
:langmap=Objective-C++\:.mm.hh:\
:langmap=Objective-C\:.m.h:\
:langmap=Objective-J\:.j:\
:langmap=Octave\:.m:\
:langmap=Ooc\:.ooc:\
:langmap=Opa\:.opa:\
:langmap=OpenEdge\:.p.cls:\
:langmap=PHP\:.php.php3.phtml:\
:langmap=Pascal\:.pas:\
:langmap=Perl\:.pl.pm:\
:langmap=PostScript\:.ps.eps:\
:langmap=PowerShell\:.ps1:\
:langmap=Prolog\:.prolog.pro.pl:\
:langmap=Python\:.py.pyw.sc.tac.sage:\
:langmap=QML\:.qml:\
:langmap=REBOL\:.r.r3:\
:langmap=RHTML\:.rhtml:\
:langmap=Racket\:.rkt.rktl:\
:langmap=Ragel\:.rl:\
:langmap=Redcode\:.cw:\
:langmap=RobotFramework\:.robot:\
:langmap=Ruby\:.rb.rbw.rake.gemspec.rbx.duby:\
:langmap=Rust\:.rs.rc:\
:langmap=S\:.S.R:\
:langmap=Scala\:.scala:\
:langmap=Scaml\:.scaml:\
:langmap=Scheme\:.scm.ss:\
:langmap=Scilab\:.sci.sce.tst:\
:langmap=Smalltalk\:.st:\
:langmap=Smarty\:.tpl:\
:langmap=Sml\:.sml.sig.fun:\
:langmap=Snobol\:.snobol:\
:langmap=SourcePawn\:.sp:\
:langmap=Spitfire\:.spt:\
:langmap=Ssp\:.ssp:\
:langmap=Stan\:.stan:\
:langmap=SystemVerilog\:.sv.svh:\
:langmap=Tcl\:.tcl:\
:langmap=TeX\:.tex.aux.toc:\
:langmap=Tea\:.tea:\
:langmap=Treetop\:.treetop.tt:\
:langmap=TypeScript\:.ts:\
:langmap=UrbiScript\:.u:\
:langmap=VB.net\:.vb.bas:\
:langmap=VGL\:.rpf:\
:langmap=Vala\:.vala.vapi:\
:langmap=Velocity\:.vm.fhtml:\
:langmap=Verilog\:.v:\
:langmap=Vhdl\:.vhdl.vhd:\
:langmap=Vim\:.vim:\
:langmap=XBase\:.PRG.prg:\
:langmap=XQuery\:.xqy.xquery.xq.xql.xqm:\
:langmap=XSLT\:.xsl.xslt.xpl:\
:langmap=Xtend\:.xtend:\
:gtags_parser=ABAP\:$pygmentslib:\
:gtags_parser=ANTLR\:$pygmentslib:\
:gtags_parser=ActionScript3\:$pygmentslib:\
:gtags_parser=Ada\:$pygmentslib:\
:gtags_parser=AppleScript\:$pygmentslib:\
:gtags_parser=AspectJ\:$pygmentslib:\
:gtags_parser=Aspx-cs\:$pygmentslib:\
:gtags_parser=Asymptote\:$pygmentslib:\
:gtags_parser=AutoIt\:$pygmentslib:\
:gtags_parser=Awk\:$pygmentslib:\
:gtags_parser=BUGS\:$pygmentslib:\
:gtags_parser=Bash\:$pygmentslib:\
:gtags_parser=Bat\:$pygmentslib:\
:gtags_parser=BlitzMax\:$pygmentslib:\
:gtags_parser=Boo\:$pygmentslib:\
:gtags_parser=Bro\:$pygmentslib:\
:gtags_parser=C#\:$pygmentslib:\
:gtags_parser=C++\:$pygmentslib:\
:gtags_parser=COBOLFree\:$pygmentslib:\
:gtags_parser=COBOL\:$pygmentslib:\
:gtags_parser=CUDA\:$pygmentslib:\
:gtags_parser=C\:$pygmentslib:\
:gtags_parser=Ceylon\:$pygmentslib:\
:gtags_parser=Cfm\:$pygmentslib:\
:gtags_parser=Clojure\:$pygmentslib:\
:gtags_parser=CoffeeScript\:$pygmentslib:\
:gtags_parser=Common-Lisp\:$pygmentslib:\
:gtags_parser=Coq\:$pygmentslib:\
:gtags_parser=Croc\:$pygmentslib:\
:gtags_parser=Csh\:$pygmentslib:\
:gtags_parser=Cython\:$pygmentslib:\
:gtags_parser=Dart\:$pygmentslib:\
:gtags_parser=Dg\:$pygmentslib:\
:gtags_parser=Duel\:$pygmentslib:\
:gtags_parser=Dylan\:$pygmentslib:\
:gtags_parser=ECL\:$pygmentslib:\
:gtags_parser=EC\:$pygmentslib:\
:gtags_parser=ERB\:$pygmentslib:\
:gtags_parser=Elixir\:$pygmentslib:\
:gtags_parser=Erlang\:$pygmentslib:\
:gtags_parser=Evoque\:$pygmentslib:\
:gtags_parser=FSharp\:$pygmentslib:\
:gtags_parser=Factor\:$pygmentslib:\
:gtags_parser=Fancy\:$pygmentslib:\
:gtags_parser=Fantom\:$pygmentslib:\
:gtags_parser=Felix\:$pygmentslib:\
:gtags_parser=Fortran\:$pygmentslib:\
:gtags_parser=GAS\:$pygmentslib:\
:gtags_parser=GLSL\:$pygmentslib:\
:gtags_parser=Genshi\:$pygmentslib:\
:gtags_parser=Gherkin\:$pygmentslib:\
:gtags_parser=Gnuplot\:$pygmentslib:\
:gtags_parser=Go\:$pygmentslib:\
:gtags_parser=GoodData-CL\:$pygmentslib:\
:gtags_parser=Gosu\:$pygmentslib:\
:gtags_parser=Groovy\:$pygmentslib:\
:gtags_parser=Gst\:$pygmentslib:\
:gtags_parser=HaXe\:$pygmentslib:\
:gtags_parser=Haml\:$pygmentslib:\
:gtags_parser=Haskell\:$pygmentslib:\
:gtags_parser=Hxml\:$pygmentslib:\
:gtags_parser=Hybris\:$pygmentslib:\
:gtags_parser=IDL\:$pygmentslib:\
:gtags_parser=Io\:$pygmentslib:\
:gtags_parser=Ioke\:$pygmentslib:\
:gtags_parser=JAGS\:$pygmentslib:\
:gtags_parser=Jade\:$pygmentslib:\
:gtags_parser=JavaScript\:$pygmentslib:\
:gtags_parser=Java\:$pygmentslib:\
:gtags_parser=Jsp\:$pygmentslib:\
:gtags_parser=Julia\:$pygmentslib:\
:gtags_parser=Koka\:$pygmentslib:\
:gtags_parser=Kotlin\:$pygmentslib:\
:gtags_parser=LLVM\:$pygmentslib:\
:gtags_parser=Lasso\:$pygmentslib:\
:gtags_parser=Literate-Haskell\:$pygmentslib:\
:gtags_parser=LiveScript\:$pygmentslib:\
:gtags_parser=Logos\:$pygmentslib:\
:gtags_parser=Logtalk\:$pygmentslib:\
:gtags_parser=Lua\:$pygmentslib:\
:gtags_parser=MAQL\:$pygmentslib:\
:gtags_parser=MOOCode\:$pygmentslib:\
:gtags_parser=MXML\:$pygmentslib:\
:gtags_parser=Mako\:$pygmentslib:\
:gtags_parser=Mason\:$pygmentslib:\
:gtags_parser=Matlab\:$pygmentslib:\
:gtags_parser=MiniD\:$pygmentslib:\
:gtags_parser=Modelica\:$pygmentslib:\
:gtags_parser=Modula2\:$pygmentslib:\
:gtags_parser=Monkey\:$pygmentslib:\
:gtags_parser=MoonScript\:$pygmentslib:\
:gtags_parser=MuPAD\:$pygmentslib:\
:gtags_parser=Myghty\:$pygmentslib:\
:gtags_parser=NASM\:$pygmentslib:\
:gtags_parser=NSIS\:$pygmentslib:\
:gtags_parser=Nemerle\:$pygmentslib:\
:gtags_parser=NewLisp\:$pygmentslib:\
:gtags_parser=Newspeak\:$pygmentslib:\
:gtags_parser=Nimrod\:$pygmentslib:\
:gtags_parser=OCaml\:$pygmentslib:\
:gtags_parser=Objective-C++\:$pygmentslib:\
:gtags_parser=Objective-C\:$pygmentslib:\
:gtags_parser=Objective-J\:$pygmentslib:\
:gtags_parser=Octave\:$pygmentslib:\
:gtags_parser=Ooc\:$pygmentslib:\
:gtags_parser=Opa\:$pygmentslib:\
:gtags_parser=OpenEdge\:$pygmentslib:\
:gtags_parser=PHP\:$pygmentslib:\
:gtags_parser=Pascal\:$pygmentslib:\
:gtags_parser=Perl\:$pygmentslib:\
:gtags_parser=PostScript\:$pygmentslib:\
:gtags_parser=PowerShell\:$pygmentslib:\
:gtags_parser=Prolog\:$pygmentslib:\
:gtags_parser=Python\:$pygmentslib:\
:gtags_parser=QML\:$pygmentslib:\
:gtags_parser=REBOL\:$pygmentslib:\
:gtags_parser=RHTML\:$pygmentslib:\
:gtags_parser=Racket\:$pygmentslib:\
:gtags_parser=Ragel\:$pygmentslib:\
:gtags_parser=Redcode\:$pygmentslib:\
:gtags_parser=RobotFramework\:$pygmentslib:\
:gtags_parser=Ruby\:$pygmentslib:\
:gtags_parser=Rust\:$pygmentslib:\
:gtags_parser=S\:$pygmentslib:\
:gtags_parser=Scala\:$pygmentslib:\
:gtags_parser=Scaml\:$pygmentslib:\
:gtags_parser=Scheme\:$pygmentslib:\
:gtags_parser=Scilab\:$pygmentslib:\
:gtags_parser=Smalltalk\:$pygmentslib:\
:gtags_parser=Smarty\:$pygmentslib:\
:gtags_parser=Sml\:$pygmentslib:\
:gtags_parser=Snobol\:$pygmentslib:\
:gtags_parser=SourcePawn\:$pygmentslib:\
:gtags_parser=Spitfire\:$pygmentslib:\
:gtags_parser=Ssp\:$pygmentslib:\
:gtags_parser=Stan\:$pygmentslib:\
:gtags_parser=SystemVerilog\:$pygmentslib:\
:gtags_parser=Tcl\:$pygmentslib:\
:gtags_parser=TeX\:$pygmentslib:\
:gtags_parser=Tea\:$pygmentslib:\
:gtags_parser=Treetop\:$pygmentslib:\
:gtags_parser=TypeScript\:$pygmentslib:\
:gtags_parser=UrbiScript\:$pygmentslib:\
:gtags_parser=VB.net\:$pygmentslib:\
:gtags_parser=VGL\:$pygmentslib:\
:gtags_parser=Vala\:$pygmentslib:\
:gtags_parser=Velocity\:$pygmentslib:\
:gtags_parser=Verilog\:$pygmentslib:\
:gtags_parser=Vhdl\:$pygmentslib:\
:gtags_parser=Vim\:$pygmentslib:\
:gtags_parser=XBase\:$pygmentslib:\
:gtags_parser=XQuery\:$pygmentslib:\
:gtags_parser=XSLT\:$pygmentslib:\
:gtags_parser=Xtend\:$pygmentslib:
#
# Drupal configuration.
#
drupal|Drupal content management platform:\
:tc=common:\
:langmap=php\:.php.module.inc.profile.install.test:
#---------------------------------------------------------------------
# Configuration for htags(1)
#---------------------------------------------------------------------
htags:\
::
:: ~/issue % ll
<<< 130 ↵
total 12K
-rw-r--r-- 1 hero hero 11K aug 10 17:51 FileTreeWalk.kt
:: ~/issue % gtags --gtagslabel=new-ctags -v
[Sat Aug 10 21:34:11 EEST 2019] Gtags started.
Using configuration file '/usr/local/share/gtags/gtags.conf'.
Using configuration label 'new-ctags'.
Using plug-in parser.
[Sat Aug 10 21:34:11 EEST 2019] Creating 'GTAGS' and 'GRTAGS'.
[1] extracting tags of FileTreeWalk.kt
[Sat Aug 10 21:34:11 EEST 2019] Done.
:: ~/issue % global -c FileTreeWalk
:: ~/issue % rm G*
:: ~/issue % gtags --gtagslabel=ctags -v
[Sat Aug 10 21:34:33 EEST 2019] Gtags started.
Using configuration file '/usr/local/share/gtags/gtags.conf'.
Using configuration label 'ctags'.
Using plug-in parser.
[Sat Aug 10 21:34:33 EEST 2019] Creating 'GTAGS' and 'GRTAGS'.
[1] extracting tags of FileTreeWalk.kt
[Sat Aug 10 21:34:33 EEST 2019] Done.
:: ~/issue % global -c FileTreeWalk
:: ~/issue % rm G*
:: ~/issue % gtags --gtagslabel=pygments -v
[Sat Aug 10 21:34:45 EEST 2019] Gtags started.
Using configuration file '/usr/local/share/gtags/gtags.conf'.
Using configuration label 'pygments'.
Using plug-in parser.
[Sat Aug 10 21:34:45 EEST 2019] Creating 'GTAGS' and 'GRTAGS'.
[1] extracting tags of FileTreeWalk.kt
[Sat Aug 10 21:34:45 EEST 2019] Done.
:: ~/issue % global -c FileTreeWalk
FileTreeWalk
FileTreeWalkIterator
:: ~/issue % mv ~/.ctags.d/kt.ctags ~/.ctags.d/kt.backup
:: ~/issue % rm G*
:: ~/issue % gtags --gtagslabel=pygments -v
[Sat Aug 10 21:35:14 EEST 2019] Gtags started.
Using configuration file '/usr/local/share/gtags/gtags.conf'.
Using configuration label 'pygments'.
Using plug-in parser.
[Sat Aug 10 21:35:14 EEST 2019] Creating 'GTAGS' and 'GRTAGS'.
[1] extracting tags of FileTreeWalk.kt
[Sat Aug 10 21:35:14 EEST 2019] Done.
:: ~/issue % global -c FileTreeWalk
:: ~/issue % mv ~/.ctags.d/kt.backup ~/.ctags.d/kt.ctags
:: ~/issue % gtags --gtagslabel=pygments -v
[Sat Aug 10 21:35:27 EEST 2019] Gtags started.
Using configuration file '/usr/local/share/gtags/gtags.conf'.
Using configuration label 'pygments'.
Using plug-in parser.
[Sat Aug 10 21:35:27 EEST 2019] Creating 'GTAGS' and 'GRTAGS'.
[1] extracting tags of FileTreeWalk.kt
[Sat Aug 10 21:35:27 EEST 2019] Done.
:: ~/issue % global -c FileTreeWalk
FileTreeWalk
FileTreeWalkIterator
:: ~/issue % ctags -R && cat tags | grep FileTreeWalk | head -n 1
BottomUpDirectoryState FileTreeWalk.kt /^ private inner class
BottomUpDirectoryState(rootDir: File) : DirectoryState(rootDir) {$/;" c
_______________________________________________
Help-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-global