The purpose of this pull request is to bring parsers as close to uctags parsers 
as possible in terms of their interaction with the "main" part of ctags (this 
means, no changes in parser's actual logic are made in this patch set). This 
involves various renames of functions in the "API" of "main" so that Geany 
parsers call the same functions as the uctags ones. Additional modifications 
include using tab-only indentation style (some files used combination of tabs 
and spaces) and unification of includes with uctags so some stuff had to be 
moved around.

I was concentrated mostly on how the parsers look - in some cases I didn't 
backport the full implementation of the "main" functionality and used just some 
dummy implementation (in cases where the actual implementation isn't used by 
Geany).

At this point, parsers can be synced one by one independently of the sync work 
inside "main" (some are already identical with the uctags ones!). The work on 
syncing "main" shouldn't affect the work on syncing parsers (there are just 
tiny bits missing like cork support but these will be 1-line diffs in parsers).

It would be good to merge this soon - the patches have a huge potential to 
introduce merge conflicts with any other change made in the ctags directory and 
resolving conflicts will be quite painful.

You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/1160

-- Commit Summary --

  * ctags: Remove unused Geany-specific tagEntryInfo fields
  * ctags: Remove useless Geany-specific tagEntryInfo::type field
  * ctags: Rename Geany-specific tagEntryInfo::arglist to upstream's ::signature
  * Make parser includes closer to uctags and sync parser license header
  * Move keywordTable definition to parse.h and use it for all parsers
  * Define ARRAY_SIZE() and use it instead of KIND_COUNT()
  * Use uctags implementation of keyword.c/h
  * Don't use combination of tabs and spaces for indentation
  * Add keywordTable to parserDefinition and use a common way to initialize 
keywords
  * Rename "mio" member of sInputFile to "fp"
  * Eliminate readNextChar() and pushBackChar()
  * Add separate "input" entry to sInputFile and use it
  * Rename fileGetc() to getcFromInputFile()
  * Rename fileUngetc() to ungetcToInputFile()
  * Rename fileSkipToCharacter() to skipToCharacterInInputFile()
  * Rename fileGetNthPrevC() to getNthPrevCFromInputFile()
  * Rename fileReadLine() to readLineFromInputFile()
  * Rename readLine() to readLineRaw()
  * Replace fileGetc() with getcFromInputFile() also in comments
  * Eliminate some trivial diffs in read.c
  * Rename tagEntryInfo.extensionFields.scope
  * Rename get.c/h to lcpp.c/h
  * Pass kind information into initTagEntry()
  * Use getInputLineNumber() instead of getSourceLineNumber() in parsers
  * Add parserNewFull() and use it for selected parsers
  * Add full xtag implementation and use it to check XTAG_QUALIFIED_TAGS
  * Add tagRegexTable to parserDefinition and use it to define regex parsers
  * Remove ctags.c and move its content to routines.c, main.c and options.c

-- File Changes --

    M ctags/Makefile.am (12)
    M ctags/main/args.c (322)
    M ctags/main/args.h (40)
    D ctags/main/ctags.c (1397)
    M ctags/main/ctags.h (12)
    A ctags/main/debug.h (0)
    M ctags/main/entry.c (462)
    M ctags/main/entry.h (78)
    M ctags/main/general.h (123)
    M ctags/main/keyword.c (284)
    M ctags/main/keyword.h (15)
    A ctags/main/kind.h (27)
    R ctags/main/lcpp.c (134)
    R ctags/main/lcpp.h (11)
    M ctags/main/lregex.c (28)
    A ctags/main/main.c (277)
    M ctags/main/main.h (68)
    M ctags/main/nestlevel.c (2)
    M ctags/main/options.c (188)
    M ctags/main/options.h (114)
    M ctags/main/parse.c (877)
    M ctags/main/parse.h (86)
    M ctags/main/parsers.h (106)
    M ctags/main/read.c (866)
    M ctags/main/read.h (131)
    A ctags/main/routines.c (788)
    A ctags/main/routines.h (111)
    M ctags/main/sort.c (256)
    M ctags/main/sort.h (6)
    M ctags/main/strlist.c (4)
    M ctags/main/vstring.c (182)
    M ctags/main/vstring.h (46)
    A ctags/main/xtag.c (155)
    A ctags/main/xtag.h (55)
    M ctags/parsers/abaqus.c (5)
    M ctags/parsers/abc.c (9)
    M ctags/parsers/actionscript.c (62)
    M ctags/parsers/asciidoc.c (15)
    M ctags/parsers/asm.c (30)
    M ctags/parsers/basic.c (7)
    M ctags/parsers/c.c (96)
    M ctags/parsers/cobol.c (41)
    M ctags/parsers/conf.c (49)
    M ctags/parsers/css.c (43)
    M ctags/parsers/diff.c (9)
    M ctags/parsers/docbook.c (5)
    M ctags/parsers/erlang.c (16)
    M ctags/parsers/fortran.c (116)
    M ctags/parsers/go.c (80)
    M ctags/parsers/haskell.c (495)
    M ctags/parsers/haxe.c (327)
    M ctags/parsers/html.c (52)
    M ctags/parsers/jscript.c (106)
    M ctags/parsers/json.c (27)
    M ctags/parsers/latex.c (339)
    M ctags/parsers/lua.c (7)
    M ctags/parsers/make.c (20)
    M ctags/parsers/markdown.c (9)
    M ctags/parsers/matlab.c (33)
    M ctags/parsers/nsis.c (7)
    M ctags/parsers/objc.c (46)
    M ctags/parsers/pascal.c (510)
    M ctags/parsers/perl.c (23)
    M ctags/parsers/php.c (203)
    M ctags/parsers/powershell.c (55)
    M ctags/parsers/python.c (57)
    M ctags/parsers/r.c (295)
    M ctags/parsers/rest.c (15)
    M ctags/parsers/ruby.c (16)
    M ctags/parsers/rust.c (24)
    M ctags/parsers/sh.c (121)
    M ctags/parsers/sql.c (95)
    M ctags/parsers/tcl.c (7)
    M ctags/parsers/txt2tags.c (14)
    M ctags/parsers/verilog.c (36)
    M ctags/parsers/vhdl.c (257)
    M src/tagmanager/tm_ctags_wrappers.c (2)
    M src/tagmanager/tm_source_file.c (12)

-- Patch Links --

https://github.com/geany/geany/pull/1160.patch
https://github.com/geany/geany/pull/1160.diff

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1160

Reply via email to