8767 Commits

Author SHA1 Message Date
Jiří Techet
103d2c5358 Move code related to various tag file formats into tm_source_file.c
This patch moves code related to reading/writing various tag file formats
into form TMTag and TMWorkspace to TMSourceFile. The benefits of this
change are:

* only tm_source_file.c interfaces with ctags after this change
* tagEntryInfo is removed from headers, no redefinitions needed any more
* source code is more evenly distributed among tm_source_file.c,
  tm_tag.c and tm_workspace.c after the change (tm_tag.c got smaller)
* all tag reading/writing is at a single place

Despite its size, this patch mostly just moves code. Notable changes are:

* tm_tag_new() now creates just an empty tag. The tag is filled by various
  init_* functions inside tm_source_file.c
* there are new functions tm_source_file_read_tags_file() and
  tm_source_file_write_tags_file() - these hide tags file
  reading/writing details from tm_workspace.c
* tm_source_file_write() debugging function got removed -
  tm_source_file_write_tags_file() does a similar thing and there's no
  need to keep around two functions doing the same.
2016-03-21 18:28:36 +01:00
Jiří Techet
4dcc829e72 Remove unused tm_tagmanager.h
Nobody uses it, the comment there doesn't provide any valuable
information and we don't need an umbrella TM header like this.
2016-03-21 18:28:36 +01:00
Jiří Techet
75c5cb6a9c Use G_BEGIN_DECLS/G_END_DECLS 2016-03-21 18:28:36 +01:00
Jiří Techet
1de139854f Improve ctags callback API
Communicate with ctags only using function calls and don't assign
ctags variables directly.
2016-03-21 18:28:36 +01:00
Jiří Techet
7be40f5832 Initialize ctags at a single place instead of four 2016-03-21 18:28:36 +01:00
Jiří Techet
f61a64be29 Remove the TagEntrySetArglistFunction hook
The direct python parser -> tagmanager callback is rather hacky
and unnecessary as we can do the same in the normal ctags callback
upon receiving a tag.
2016-03-21 18:28:36 +01:00
Colomban Wendling
801698dded Merge pull request #965 from kugel-/gi-fix-structs
gtkdoc: fix gtkdoc header script for structs with inline types
2016-03-19 23:35:16 +01:00
Colomban Wendling
83c2a0de69 Merge branch 'ruby/uctags-update'
Update Ruby parser from Universal-CTags.

Closes #587.
2016-03-19 23:22:38 +01:00
Colomban Wendling
9febf02261 Merge pull request #485 from techee/ft_menu
Move filetypes.* and *.tags to separate directories
2016-03-19 23:15:37 +01:00
Matthew Brush
813f756c84 Add /doc/Doxyfile-gi.stamp generated file to .gitignore 2016-03-14 14:26:45 -07:00
Matthew Brush
d4aab06f9b Move some documentation to show up in API docs.
The Doxygen comments were on the non-public global filetypes_array and
filetypes_by_title variables instead of the GeanyData members which are
exposed to the plugin API and reference manual.
2016-03-14 14:25:35 -07:00
Matthew Brush
76ede69ef4 Remove documents_array global from plugin API
The global was never accessible to plugins on Windows and hasn't been
accessible to plugins on Linux and others since the linkage-cleanup
changes.

Move documentation from the global variable to the GeanyData member
of the same name.

Closes #964
2016-03-14 14:25:17 -07:00
Masatake YAMATO
e46093d1fc Ruby: delete rspec related kinds
Close universal-ctags/ctags#453.

(This is about a bug spotted in universal-ctags/ctags#453 by @mislav and
 in universal-ctags/ctags#11 by @NewAlexandria.)

Kinds C and d are for Rspec.

Parts of code related to above kinds assume a ruby string
comes after Rspec keywords (describe or context).

This is a wrong assumption. A class name can be used there.

It is nice if ctags can handle these rspec code well, but we
don't have enough resource to make it now.

So in this commit I delete rspec related code temporary. I
just reserve a kind letter 'd' for rspec for the future. 'C'
is completely deleted because (1) describe and context have
the same meaning in rspec, and (2) we would like to assign
'C' for Ruby constant as ripper-tags does.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2016-03-14 19:49:47 +01:00
Colomban Wendling
885b994ec2 ruby: License under GPLv2+ as per Universal CTags
See https://github.com/universal-ctags/ctags/pull/578
2016-03-14 19:40:50 +01:00
Colomban Wendling
ab6a012119 ruby: Unify identifier character classification 2016-03-14 19:27:22 +01:00
Colomban Wendling
116c749cd9 ruby: Report singleton type inside anonymous classes at a class level
New test case contributed by @masatake in universal-ctags/ctags#456.

Closes universal-ctags/ctags#455 and universal-ctags/ctags#456.
2016-03-14 19:27:22 +01:00
Colomban Wendling
7d116cb482 ruby: Report proper scope type 2016-03-14 19:27:22 +01:00
Colomban Wendling
9e97746751 ruby: Use nestlevel instead of string lists
This will simplify some upcoming fixes.
2016-03-14 19:27:22 +01:00
Colomban Wendling
17606d8af7 ruby: Fix scope after anonymous classes 2016-03-14 19:27:22 +01:00
Colomban Wendling
1ed29f1d7b ruby: Fix parsing qualified identifiers
The implementation is a bit hacky, but avoids the need for complex
logic to pop several scopes at once.

Closes universal-ctags/ctags#452.
2016-03-14 19:27:22 +01:00
Colomban Wendling
eaf6c82af8 ruby: Fix keyword matching
After an identifier there can be anything but an identifier character.
2016-03-14 19:27:22 +01:00
Colomban Wendling
e003da2bea ruby: Properly skip documentation contents 2016-03-14 19:27:22 +01:00
Masatake YAMATO
e9e9b9988d ruby: handle singleton method including ?!= in its name(sf.bug:364)
This patch is intended a bug reported as sf.bug:364.
https://sourceforge.net/p/ctags/bugs/364/

Writing a test case is helped by Dmitry Gutov.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2016-03-14 19:27:22 +01:00
Masatake YAMATO
68322fcb54 ruby: fix wrong memory access in catMatch
fuzz target reports canMatch access wrong memory
area when php-anonymous_functions.d/input.php is
given as input.

This patch fixes it.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2016-03-14 19:27:21 +01:00
Masatake YAMATO
a71dbcbeca ruby: Use NULL for initialize an pointer variable
Suppress a warning reported by sparse.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2016-03-14 19:27:21 +01:00
Artem Nezvigin
e129043c98 Honor --ruby-kinds option in ruby.c
Fixes universal-ctags/ctags#49
2016-03-14 19:26:54 +01:00
Ram Singla
2269c42dde RSpec Code added. Courtesy: mortice 2016-03-14 15:18:14 +01:00
Thomas Martitz
0bafb067b9 gtkdoc: fix gtkdoc header script for structs with inline types
Doxygen adds unhandled xml output for structs that define types inline, for
example struct Foo { enum { FOO, BAR } baz; }. A type definitions precedes the
members. The script wrongly assumed the first sectiondef child of compounddef
would contain all members, but actually this is the case for sectiondefs with
kind=public-attrib (the sectiondef defining the type has kind=public-type).
2016-03-14 08:26:45 +01:00
Jiří Techet
3640b3bc44 Move *.tags files to the tags directory
ignore.tags is still in ~/.config/geany
2016-03-13 17:35:14 +01:00
Jiří Techet
e513e5a099 Move filetypes.* to the filedefs directory 2016-03-13 17:35:08 +01:00
Colomban Wendling
24f91981c0 Update Scintilla to version 3.6.4 2016-03-13 15:50:36 +01:00
Colomban Wendling
3615f5a91c Fix a typo in NEWS 2016-03-13 14:32:44 +01:00
Colomban Wendling
ea94d2a9a1 Post release version bump
Say hello to Geany 1.28 "Malvek"!
2016-03-13 14:32:20 +01:00
Colomban Wendling
40e15c388b Set release date 2016-03-13 13:27:54 +01:00
Colomban Wendling
2df9512b6f Update NEWS for last changes 2016-03-13 13:27:28 +01:00
Colomban Wendling
3c213f6d93 Update displayed copyright years 2016-03-13 13:27:28 +01:00
Colomban Wendling
214365777d Merge pull request #769 from eht16/drop_waf_build_system
Drop Waf build system support
2016-03-13 13:15:43 +01:00
Enrico Tröger
c344baca07 Merge pull request #959 from eht16/gtk_bundle_script
Improve Windows GTK runtime bundle creation script
2016-03-13 12:47:53 +01:00
Enrico Tröger
f8f0951ef7 Merge pull request #961 from codebrainz/non-native-project-open
Respect native dialog pref in Project->Open
2016-03-13 12:47:04 +01:00
Matthew Brush
38f073673e Respect native dialog pref in Project->Open
Fixes #960
2016-03-12 11:57:14 -08:00
Enrico Tröger
12f6ad6915 Install and uninstall ReadMe.Dependencies.Geany.txt 2016-03-12 18:32:40 +01:00
Enrico Tröger
479cf3dc53 Improve Windows GTK runtime bundle creation script
Update the list of dependencies, include sort.exe and grep.exe,
create a information file with all download links of included
binaries and re-structure the script for better readability.
See #560 for details.
2016-03-12 16:54:42 +01:00
Enrico Tröger
8254271b33 Merge pull request #937 from eht16/win32_open_uri_error_handling
Add error reporting for opening URIs on Windows
2016-03-12 16:22:28 +01:00
Frank Lanitz
fc811ecdc7 Small update of German translation 2016-03-11 23:15:18 +01:00
Jiří Techet
65f84df5ca Improve Goto Symbol popup contents
* always filter-out symbol from the current line from the list
* when clicked on a symbol on the current line always swap
  definition/declaration search even if there are more symbols from the
  current search direction

Fixes #950
2016-03-11 11:29:50 +01:00
Colomban Wendling
7798a041b7 Update NEWS preparing for next release 2016-03-10 01:06:54 +01:00
Thomas Martitz
c3c67c96d4 doc: Generate geany-sciwrappers-gtkdoc.h along geany-gtkdoc.h
geany-sciwrappers-gtkdoc.h contains all scintilla_object_* methods. It is
intended that they are going to be exposed through a separate .gir file,
therefore a separate header makes things easier.

This is useful when you want scintlla-related stuff in a separate .gir file or
oarse it specially otherwise.

gen-api-gtkdoc.py: Add switch to write out scintilla_object methods
2016-03-09 23:42:09 +01:00
Colomban Wendling
1e911051ab Merge pull request #956 from kugel-/tm-gir-fix
Fix and cleanup GtkDoc header generation regarding TagManager's types.
2016-03-09 23:32:22 +01:00
Thomas Martitz
d868130d78 tagmanager: make doxygen comments and typedefs gtkdoc generation friendly
Because of the missing "typedef struct TMFoo" it was missing from the gtkdoc
header (the struct listings are always without typedef). This is also
consistent with the rest of geany.

@gironly for TMParserType so it's picked up as well.
2016-03-09 22:49:51 +01:00
Thomas Martitz
4a54ee86f3 Include more headers into geany-gtkdoc.h
gtkcompat.h is more convinient, and includes gtk.h and glib.h. Due to
including ScintillaWidget.h, the manual ScintillaObject typedef isn't required
anymore.
2016-03-09 22:49:51 +01:00