19 Commits

Author SHA1 Message Date
Colomban Wendling
bbc0fa3b69 Don't depend on an implementation detail of S_ISREG and S_ISDIR 2013-11-11 18:52:45 +01:00
Colomban Wendling
1f2279aefe Always use proper functions argument lists 2013-11-10 01:43:10 +01:00
Enrico Tröger
3443e288fe Add flag to tm_tags_find() to indicate the tags array may not be sorted
tm_tags_find() relies on a sorted tags array to be passed in but in
tm_source_file_set_tag_arglist() we don't have a sorted array yet and
sorting it on demand seems more heavy than the alternative:
make tm_tags_find() search the array linear if the new flag is set.

This fixes a bug in the Python parser when assigning the argument list
of __init__() methods to their class' argument list which annoyed me
for years already.

Also add a test case for this.
2013-10-13 18:52:56 +02:00
Nick Treleaven
0998f1c19c Make code more readable by renaming poorly named macros NZV and NVL
Closes #159
2013-08-14 21:54:20 -07:00
Nick Treleaven
cba7fcfe95 Fix full hashing on 64-bit platforms 2013-08-12 15:18:20 +01:00
Nick Treleaven
0c7cf8df10 Fix gcc warning 'cast to pointer from integer of different size' 2013-08-11 14:31:30 +01:00
Colomban Wendling
d453fe33fe Add support for loading Vi and CTags tag files
This allows to load tag files in the CTags format, which is compatible
with Vi format.

References:
 * http://ctags.sourceforge.net/FORMAT
 * http://ctags.sourceforge.net/ctags.html#TAG%20FILE%20FORMAT
2013-04-03 22:10:33 +02:00
Colomban Wendling
11acb59980 Add code for TMTag reference debugging
This code is disabled by default, and is enabled if the DEBUG_TAG_REFS
C preprocessor macro is defined.
2013-03-17 17:31:36 +01:00
Colomban Wendling
1646504a46 Fix build with bleeding edge GLib
CTags defines __unused__ and __printf__, which not only are reserved
identifiers, but actually are used by GNUC as arguments of the
__attribute__() extension.  This used to work because no code seeing
those definitions was trying to use them as __attribute__() argument,
but a recent change in GLib made it use it in atomic operation, which
are used by the tagmanager, which itself includes the CTags header
defining those, leading to a weird build failure -- since __unused__
expanded to an unexpected value.

To fix this, rename CTag's __ununsed__ to UNUSED and __printf__ to
PRINTF.
2013-02-13 00:22:16 +01:00
Colomban Wendling
877b0477c4 Set scope information for JavaScript tags
Instead of adding the scope to the tag name, properly add it as the
tag's scope.

Closes #3570192.
2012-09-22 01:27:11 +02:00
Colomban Wendling
d83bd40938 Add tm_get_current_tag() 2012-09-17 20:07:45 +02:00
Colomban Wendling
1cfa44ff62 Make tm_get_current_function() find methods too 2012-09-17 14:44:33 +02:00
Colomban Wendling
17396aaa99 Fix a memory leak in tm_get_current_function() 2012-09-17 14:44:32 +02:00
Nick Treleaven
74959b9cb9 Support MSYS=1 to enable building with MSYS; use $/ instead of DIRSEP
Defining MSYS=1 is cleaner than requiring users to define CP, RM, etc.
2012-07-04 17:13:14 +01:00
Nick Treleaven
928de3d684 Don't suppress warnings or define G_OS_WIN32 (Windows build) 2012-06-07 16:45:37 +01:00
Nick Treleaven
18cec1fb81 Fix Windows build 2012-06-06 15:21:00 +01:00
Colomban Wendling
05e5f756c1 Merge branch 'master' into tm/tree-refactoring 2012-05-31 22:19:32 +02:00
Colomban Wendling
f0a9c42985 Update makefile.win32 build system 2012-05-08 23:01:23 +02:00
Colomban Wendling
d69a153bb4 Refactor tagmanager source files architecture
Split ctags and tagmanager sources, as follows:

tagmanager/ctags: the parsers, more or less upstream CTags;
tagmanager/mio: local MIO library copy;
tagmanager/src: actual tagmanager sources.
2012-05-08 23:01:23 +02:00