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
Jiří Techet
3b4d9fadf8
Rename js.c to jscript.c to match universal-ctags
2016-07-21 13:14:21 +02:00
Jiří Techet
470d99ee94
Update various comments mentioning tagmanager/src
2016-07-21 13:14:21 +02:00