rename cut flag to exclusive flag

"exclusive" is more intuitive than "cut".
Short flag "!" is also changed to "x".

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add a newline at the end of file

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
allow disabling a kind defined in regex attached to built-in language parser

ctags allows adding extra regex to built-in language parser.

Folowing is taken from scripts/tags.sh of linux kernel:

	 --regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/' \

Further more a kind can be defined to each regex.

Issue is that a kind defined in regex attached to built-in language
parser could not be disabled with --<LANG>-kinds=- option. This patch
allows it.

NOTE: A kind defined in regex attached to language defined with
--langdef can be disable.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add test cases for disabling/enabling a kind defined in regex attached to built-in language parser

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: remove unnessary references to regex field of parserDefinition

I'm working on adding --<LANG>-cmd= option to ctags.  This will be
alternative way to define new language parser to --<LANG>-regex=.

Some of ctags code expects --<LANG>-regex as the only way to
extend ctags. This will be barrier for adding --<LANG>-cmd
feature.

Referencing regex field of parserDefinition is used in such code. I
reviewed the usage of regex field. In this patch I remove unnessary
references to regex field of parserDefinition.

This patch removes the references from resetLanguageKinds and
printKinds.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
gitignore: ignore config.h.in generated by autoheader

It should be ignored in commit 1d395ed94f9cb9b69204532ec11bdc318fb4c26a.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
intrdouce initTagEntryFull, more basic variant of tagEntryInfo initializer

initTagEntry expects a stream connected to input source file is opened.
In --<LANG>-xcmd, ctags itself doesn't open the stream; xcmd may open
the input source file instead.

As the result the code related to '--<LANG>-xcmd' option cannot use
initTagEntry. So this patch introduces its variant, initTagEntryFull.

initTagEntryFull takes more arguments than initTagEntry and doesn't
try to get necessary information from th stream.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: remove a function declaration for no implementation

Declaration disableRegexKinds still exists though its implementation
was deleted.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
support regex long flag own parameter

In

	987ce1b introduce long flag of --regex-<LANG> option

I introduce long flag. This patch extends the feature.
The flag either long or short can represent just a boolean value, on
or off. With this patch, a long flag can take one string argument.

   --regex-<LANG>=.../[flag1=PARAMETER1][flag2=PARAMETER2]...

If a long flag is ended with `=', flag evaluator of ctags considers
the long flag takes a parameter. String after `=' till `]' is
refered as a parameter and passed to the handler of long flag.

TODO: character `]' cannot be used in parameter.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
change the separator of regex long flag

In ctags man page `[' and ']' are used already as meta characters
for describing --regex-<LANG>. In other hand `[' and ']' are introduced
as the separator of regex long flag.

To avoid confusion, use `{' and '}' as the separator of
regex long flag; don't use `[' and `]' for the purpose.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>