8698 Commits

Author SHA1 Message Date
Jiří Techet
95f94629f0 Rename isident() to cppIsident() 2016-08-07 18:31:30 +02:00
Jiří Techet
1d48599d3c Remove R regex parser
Unused by us, not present in uctags.
2016-08-07 18:31:30 +02:00
Jiří Techet
2671d73b67 Use skipToCharacterInInputFile() in all parsers 2016-08-07 18:31:30 +02:00
Jiří Techet
76818f9439 Change getSourceFileName() to getInputFileName() 2016-08-07 18:31:25 +02:00
Jiří Techet
2161b73864 Change isHeaderFile() to isInputHeaderFile() 2016-08-07 18:22:49 +02:00
Jiří Techet
7bd81abc1d Change isLanguage() to isInputLanguage() 2016-08-07 02:15:12 +02:00
Jiří Techet
082a9724f1 Use ARRAY_SIZE() in parsers 2016-08-07 02:01:38 +02:00
Jiří Techet
9745d470c6 Sync whitespace in parsers 2016-08-07 02:01:33 +02:00
Jiří Techet
11dcc5e3e5 Fix indentation 2016-08-06 22:42:37 +02:00
Jiří Techet
026da60fd0 Move selected() under Miscellaneous macros 2016-08-06 22:42:15 +02:00
Jiří Techet
0650707ce5 Fix pascal tag initizalization 2016-08-06 22:06:41 +02:00
Jiří Techet
0ec3590e19 Remove makeSimpleScopedTag() and fix scope for conf filetype 2016-08-06 22:01:05 +02:00
Jiří Techet
530f47584a Revert "Rename "mio" member of sInputFile to "fp""
Let's rename fp to mio in uctags instead.

This reverts commit 3dd1fb4853952d8fd80963952a03299e9b2c8012.

Conflicts:
	ctags/main/read.c
	ctags/main/read.h
2016-08-06 16:34:37 +02:00
Jiří Techet
eb45c80058 Always define ExecutableName variable 2016-08-03 12:21:51 +02:00
Jiří Techet
7e0845b083 Make PathDelimiters match the declaration in header 2016-08-03 12:20:57 +02:00
Jiří Techet
9c4c113488 Remove some additional functions from ctags which we don't need in Geany
These are useless for Geany and introduce some compilation errors at the
moment so drop them for now.
2016-08-03 12:00:14 +02:00
Jiří Techet
ea72ecc00f Remove ctags.c and move its content to routines.c, main.c and options.c
This is mostly just moving code with just some minor modifications:
- removal of code of unsupported platforms (VAX, OS2, etc.)
- syncing includes/headers of affected files with uctags
- removal of some functions we don't need in Geany and whose movement
  would require additional changes (those will get added back when
  doing final sync with uctags)
- minor whitespace syncs
2016-08-03 00:27:22 +02:00
Jiří Techet
d440a81166 Add tagRegexTable to parserDefinition and use it to define regex parsers
Also whitespace-format regexes so they match uctags.
2016-08-01 23:48:06 +02:00
Jiří Techet
1b32ac5481 Add full xtag implementation and use it to check XTAG_QUALIFIED_TAGS 2016-08-01 18:58:27 +02:00
Jiří Techet
8c0bfbb0f3 Add parserNewFull() and use it for selected parsers
For now just to eliminate diff from parsers, the actual custom file tag
isn't supported (unused by Geany anyway).
2016-08-01 18:33:21 +02:00
Jiří Techet
781f4ef1ca Use getInputLineNumber() instead of getSourceLineNumber() in parsers
We want the line number of the tag appearance, not the line after
#line directives are processed.
2016-08-01 01:34:50 +02:00
Jiří Techet
4fbd38f690 Pass kind information into initTagEntry()
The usage in lregex is hacky (casting const char * to char *) but it's
the quickest way to implement it right now (the question is whether
we shouldn't revert back to POSIX regex and simply use the uctags
implementation).
2016-08-01 00:43:18 +02:00
Jiří Techet
359c60b81b Rename get.c/h to lcpp.c/h 2016-07-31 21:00:58 +02:00
Jiří Techet
0ed5c16b46 Rename tagEntryInfo.extensionFields.scope
This requires moving kindOption into a separate file because of circular
include dependency. Also eliminate now redundant tagLetter() function
in c.c.
2016-07-30 16:04:06 +02:00
Jiří Techet
cb1c15483b Eliminate some trivial diffs in read.c
Mostly indentation and comment stuff. We can replace the implementation
of readSourceLine() with readLineFromBypass() as it's never used in Geany.
2016-07-30 13:49:53 +02:00
Jiří Techet
781738fe10 Replace fileGetc() with getcFromInputFile() also in comments 2016-07-30 13:11:45 +02:00
Jiří Techet
ba2209e4a6 Rename readLine() to readLineRaw()
Plus make some minor changes in its implementation to match uctags.
2016-07-30 13:10:10 +02:00
Jiří Techet
bbbbb309ba Rename fileReadLine() to readLineFromInputFile() 2016-07-30 12:57:22 +02:00
Jiří Techet
bf2b64239a Rename fileGetNthPrevC() to getNthPrevCFromInputFile() 2016-07-30 12:51:24 +02:00
Jiří Techet
61278d4031 Rename fileSkipToCharacter() to skipToCharacterInInputFile() 2016-07-30 12:50:57 +02:00
Jiří Techet
357e4fe1bd Rename fileUngetc() to ungetcToInputFile() 2016-07-30 12:31:59 +02:00
Jiří Techet
acdc44074f Rename fileGetc() to getcFromInputFile() 2016-07-30 12:23:42 +02:00
Jiří Techet
1e36d2367e Add separate "input" entry to sInputFile and use it
This patch basically just replaces

sInputFile.name -> sInputFile.input.name
sInputFile.lineNumber -> sInputFile.input.lineNumber

plus some minor related stuff.
2016-07-30 11:53:26 +02:00
Jiří Techet
7ac17b662f Eliminate readNextChar() and pushBackChar() 2016-07-30 00:40:37 +02:00
Jiří Techet
3dd1fb4853 Rename "mio" member of sInputFile to "fp" 2016-07-30 00:32:59 +02:00
Jiří Techet
ae8dc545ce Add keywordTable to parserDefinition and use a common way to initialize keywords 2016-07-29 22:50:11 +02:00
Jiří Techet
6bc5797987 Don't use combination of tabs and spaces for indentation
This was done using Geany's "replace tabs with spaces" followed by
"replace spaces with tabs" plus a lot of manual work because the
indentation was inconsistent in many cases.
2016-07-29 22:03:56 +02:00
Jiří Techet
bf0702e2ec Use uctags implementation of keyword.c/h
Basically just the stuff I added to uctags to improve hashing of keywords.

This patch drops some extra stuff from uctags we don't need at the moment
and which would require changes in other files.
2016-07-29 16:55:07 +02:00
Jiří Techet
282ed7def7 Define ARRAY_SIZE() and use it instead of KIND_COUNT() 2016-07-28 23:56:05 +02:00
Jiří Techet
001c7f65e4 Move keywordTable definition to parse.h and use it for all parsers 2016-07-28 23:56:05 +02:00
Jiří Techet
7b9d0dd83c Make parser includes closer to uctags and sync parser license header
Adds (currently empty) debug.h, routines.h and xtag.h and uses them at the
same places like uctags.
2016-07-28 23:55:56 +02:00
Jiří Techet
f791e91e18 ctags: Rename Geany-specific tagEntryInfo::arglist to upstream's ::signature
Based on patch from Colomban Wendling.
2016-07-28 21:06:59 +02:00
Jiří Techet
7068e7c892 ctags: Remove useless Geany-specific tagEntryInfo::type field
Original patch from Colomban Wendling, only converted to apply to the new
ctags location in the source tree.
2016-07-28 21:02:40 +02:00
Jiří Techet
ffa09b0ae2 ctags: Remove unused Geany-specific tagEntryInfo fields
Original patch from Colomban Wendling, only converted to apply to the new
ctags location in the source tree.
2016-07-28 20:57:03 +02:00
Colomban Wendling
5d8e291c6f Merge pull request #1070 from techee/tm_move
Move TM and ctags files
2016-07-25 02:06:20 +02:00
Colomban Wendling
cbe2c542e0 Merge pull request #1133 from techee/readme_rst
Minor README updates
2016-07-25 02:02:50 +02:00
Jiří Techet
b7f47f2932 Update Colomban's email address 2016-07-25 01:02:59 +02:00
Jiří Techet
af3ad0b6f0 Rename variable to avoid warning about variable being shadowed 2016-07-23 00:36:04 +02:00
Jiří Techet
3cf0161527 Store "equal" tags into binary trees instead of lists in Symbol tree
At the moment tags with identical names are stored into a linked list in
tags_table and parents_table. This however leads to quadratic complexity
when looking up the nearest parent or tag in tree because the whole list
has to be traversed.

Use binary trees indexed by line number instead of lists so the lookup can
be performed in log(N) time and the overall complexity is N*log(N) instead
of N^2.

The GTree API is a little stupid because during the search it doesn't give
access to the value and it doesn't tell when a leaf node was reached. For
this reason the lookup has to be made in two steps - first, the best line
number is found (returned in user_data) and then a normal search for the
found line number is made to get the value stored in the tree.

This patch fixes the problem described in #577 when e.g. a big json export
file contains many identically named tags.
2016-07-22 23:21:09 +02:00
Jiří Techet
f95656cbe8 Remove makefile.win32 based build system
No more needed using MSYS2.
2016-07-21 13:21:32 +02:00