8657 Commits

Author SHA1 Message Date
Colomban Wendling
0833974e1e Convert parser map size check to a static assertion 2016-05-06 16:52:54 +02:00
Colomban Wendling
4036d7d18a Remove not useless tm_source_file_ctags_init() indirection 2016-05-06 16:51:38 +02:00
Colomban Wendling
fdc4510864 Don't use char array subscript as it may be signed 2016-05-06 16:48:04 +02:00
Alexander
6b608974c0 Fix Haskell single line comments by adding space
Haskell single line comments consist of at least two dashes "--",
not followed by special symbol.
So in practice everywhere in code you will see a space following "--".
Reference: Haskell 2010 Language Report -> Chapter 2 -> Lexical Structure
2016-05-06 02:15:51 +04:00
Colomban Wendling
056e53c2c5 Make our convenience libraries more self-contained
Make each convenience library depend on the ones it requires, which is
pretty straightforward for us as they each only depend on a single
other one, avoiding any worry about double linking of static objects.
2016-05-04 19:11:13 +02:00
Colomban Wendling
7411f9b5cf Remove an unused variable 2016-05-04 19:11:13 +02:00
Colomban Wendling
2bdc96776c Use proper C prototypes 2016-05-04 19:11:13 +02:00
Yan Pashkovsky
175d987305 Reviewed java 2016-05-04 16:21:13 +03:00
Colomban Wendling
a291a4239a Merge branch 'gtk-3-20-fixes' 2016-05-03 00:32:51 +02:00
Colomban Wendling
f948916ad0 Don't get properties of a non-current style state to please GTK 3.20
GTK 3.20 doesn't like getting a style property for a non-current state,
unless the call is wrapped in a save()/restore() pair.

So, fix the code to either use the current state or temporarily save
the context.

gb.c now uses different states, but it shouldn't really matter given
how they are used, and even gives a native behavior when the window
loses focus, as it now properly reacts to BACKDROP state.
2016-05-03 00:31:38 +02:00
Colomban Wendling
75063e9159 Merge branch 'scintilla/gtk-3-20' into gtk-3-20-fixes 2016-05-02 15:26:39 +02:00
Colomban Wendling
c4f56bfcd6 Fix some custom CSS selectors to work on GTK 3.20 2016-05-02 15:26:29 +02:00
Colomban Wendling
5851f5616e Merge branch 'gtk-version-specific-css' into gtk-3-20-fixes
Merges pull request #994.
2016-05-02 15:25:47 +02:00
Neil Hodgson
bf3140004d Do not call deprecated functions on newer GTK+.
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 5e4f2e6c167ee30e2c2bfadd1b1579c3d8716c60
2016-05-02 15:19:26 +02:00
Neil Hodgson
0a0c9bb7ce Move function braces for consistency.
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: cdded8beb41e4a494e68b76a6bafeeae14b0d103
2016-05-02 15:19:26 +02:00
Colomban Wendling
ba58a391c7 GTK: Get border for the exact current style's state on GTK 3
GTK 3.20 doesn't seem to like it so much when looking up details of a
non-exact current style context state, so use the current one.

This is GTK being really picky as in this case we are just missing the
`DIR_LTR` flag, which we definitely don't care about, but let's make it
happy.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 9fc624da4a3d935633c45fb56d0e9a77ef9b5af1
2016-05-02 15:19:26 +02:00
Colomban Wendling
abf0365e43 GTK: Fix auto-completion popup sizing code for GTK 3.20
GTK 3.20's GtkScrolledWinodw doesn't like having a too small allocation
and spews scary assertion failures.  Fix that by requesting the real
size we'd like instead of hard-coding 1 as small-enough value in our
overriding height requisition method.

The actual value doesn't really matter so long as it's small enough
anyway, as we resize the popup to fit later on.

Note: this moves the actual implementation of ListBoxX::GetRowHeight()
to the new convenience function treeViewGetRowHeight(), with no changes
in implementation.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 5a0afdd87d56d837dd8068e234aed8e2b6bdbe93
2016-05-02 15:19:26 +02:00
Colomban Wendling
2723727ecd GTK: Plug a memory leak
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 4f96ed32ebb94809ca419c0f77d37de41984cf76
2016-05-02 15:19:26 +02:00
Colomban Wendling
ead0e9ee5f GTK: Fix fetching the frame border width on GTK 3.20
GTK 3.20 introduced a sub-node named "border" to the frame, requiring
to lookup the border on that sub-node rather than on the frame itself.

Unfortunately supporting this requires to be built against GTK 3.20, as
it requires API this version introduced.  This means that a build
against an older version won't be able to get the popup sizing right if
running on 3.20.  To mitigate this, add reasonable fallback defaults
when running 3.20 but built on an earlier version, to try and avoid

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 83d56b1fc63a206e4c1b776f5991b3b17ccb3473
2px-scrolling on GTK 3.20's default theme.
2016-05-02 15:19:26 +02:00
Colomban Wendling
28a99f8188 GTK: Properly ask wText what size it wants to please GTK 3.20
It's not really of any use as we do know any size would do as wText is
ours anyway, but GTK 3.20 doesn't like allocating without querying the
preferred size beforehand, so do it.

As wText has a size_request() of 100x100, this might change how we
allocate in case we used to underallocate it, but AFAIK we don't, and
it is the real minimum size expected.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: d06e3db3e26842cd136328df17eb6f864b3adc02
2016-05-02 15:19:26 +02:00
Colomban Wendling
915e8b781c GTK: Fix popup font on GTK >= 3.20
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: a28863773874af35d3cc8912ae3c028fb0462ea9
2016-05-02 15:19:26 +02:00
Colomban Wendling
62be0b9b96 Fix our tab close buttons appearance on GTK 3.20 2016-05-02 15:07:50 +02:00
Colomban Wendling
05870d9ebc Merge pull request #973 from techee/osx_keybindings
osx: force resync menus when changing keybindings
2016-04-30 00:22:58 +02:00
Yan Pashkovsky
a5a47da9f2 classbuilder: Use .hpp instead of .h for C++ header file extension
.hpp is a C++-specific extension avoiding any confusion, and better
supported as C++ out of the box by Geany.

Closes #999.
2016-04-30 00:06:51 +02:00
Colomban Wendling
854a5d5af8 Don't special-case tags files distributed with Geany
Load those tags files just as any user tags files, removing
unnecessary code redundancy.
2016-04-29 01:39:11 +02:00
Colomban Wendling
6b262bb4ec Make html_entities.tags a real tags file
This removes a fair amount of specific code that is just as well
handled by the generic symbols completion code.
2016-04-29 01:35:21 +02:00
Colomban Wendling
1403d352b2 Update Scintilla to version 3.6.5 2016-04-29 01:12:20 +02:00
Quentin Glidic
4374769b7c ui-utils: Fix ui_path_box_new with GTK+ >= 3.20
They introduced[1] a GtkBox between the GtkEntry and the GtkComboBox to
add some magic in the layout computation.

[1] <https://git.gnome.org/browse/gtk+/commit/?id=222c43fc60362eeb97ce2d5e3a5583a69a2e30ef>

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-17 11:57:38 +02:00
Quentin Glidic
1f392b75bf ui-utils: Load per-version GTK+ CSS file
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-14 13:17:12 +02:00
elextr
f74fdd8d1c Merge pull request #991 from philippwiesemann/fix-plugin-doc-typos
Fix typos in plugin documentation
2016-04-11 09:21:17 +10:00
Philipp Wiesemann
ad81720d98 Fix typos in plugin documentation 2016-04-10 21:05:50 +02:00
Chris Mayo
3dda6180ce javascript: Add support for ECMAScript 6 classes keywords
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
http://www.ecma-international.org/ecma-262/6.0/#sec-keywords
http://www.ecma-international.org/ecma-262/6.0/#sec-constructor
2016-03-28 19:40:37 +01:00
Frank Lanitz
3967ce582f Update of Greek translation 2016-03-26 09:38:13 +01:00
Jiří Techet
1c83b18e22 osx: force resync menus when changing keybindings
Normally menu items are updated only when adding or removing
them on osx. They are however not redrawn when just changing
keybindings so the old keybinding is displayed after the change.

Force the menu update to show the updated keybindings.
2016-03-23 20:45:47 +01:00
Jiří Techet
5d9376ea80 Add explicit mapping of ctags tag types to Geany tag types
At the moment tag types are changed in ctags to match the types Geany
uses internally. This introduces differences between the parsers used
in ctags and the ones used in Geany.

Instead, perform the "ctags tag type"->"geany tag type" mapping explicitly
in TM and leave the tag types in individual parsers identical to ctags.
For parsers which are present in ctags (and which don't seem to be
completely different from the parsers used in Geany) revert the tag type
change in the parsers so the parser tag definitions match universal-ctags.
This patch doesn't do anything with the tag types of parsers not present
in universal-ctags and leaves them as they are.

Parsers which previously had a mapping to an non-existent Geany type have
now the mapping explicitly set to tm_tag_undef_t. Since the mapping is now
made through the one-letter type, some of the parsers had to be adjusted
because they used single letter for multiple tag types (probably by
mistake).

Because the whole mapping process might be a bit fragile and error-prone
to changes in ctags parsers, the patch also performs some consistency
checks:

* whether the parser number in ctags/TM matches
* whether for the given language the tag type number is identical in TM
  mapping and ctags definition
* whether all tag types defined in ctags parser are mapped in TM and in
  reverse, whether all mapped tags in TM are defined in ctags parser
* whether there aren't duplicate tag types

Unfortunately the checks are possible only for parsers not using regex
because regex definitions are not exposed by ctags (TODO).

A bonus side effect of the changes is we can now use real tag types defined
for each languages in ctags when parsing ctags tag files instead of
using the hard-coded static values which mostly work just for C/C++.
2016-03-22 17:03:16 +01:00
Enrico Tröger
d75873f9bc Windows installer: fix broken installation tags files 2016-03-22 08:44:11 +01:00
Enrico Tröger
bd8caf2a85 GTK bundle creation: don't delete necessary GLib schema files
The files in share/glib-2.0/schemas are necessary for GTK3,
so don't delete them but everything else on the same directory level.
2016-03-21 23:16:12 +01:00
Enrico Tröger
e1a9929e9c Windows installer: install data files into new locations
This adapts the paths in the installer for the tags and filedefs files
as changed in #485.
Also simply include everything in share/ when including a GTK3
runtime environment instead of a fixed list of subdirectories,
share/glib-2.0 doesn't exist anymore when using MSYS2 packages.
2016-03-21 23:01:05 +01:00
Jiří Techet
aea7d78459 Remove some unused return values and unnecessary checks 2016-03-21 18:28:36 +01:00
Jiří Techet
b72b859634 Clean up messy tm_workspace_create_global_tags()
At the same time ignore tags of the type tm_tag_undef_t when parsing -
we cannot query them anyway and this eliminates the need to call

tm_tags_extract(source_file->tags_array, tm_tag_max_t);

when creating tags file.
2016-03-21 18:28:36 +01:00
Jiří Techet
1c4aaa0eb7 Add an API-like ctags layer
At the moment it is a bit hard to distinguish which of the functions
we are using belong to ctags. To make more explicit what we need
from ctags, wrap all ctags-related code and access ctags only using
this layer.

The interface from tm_ctags_wrappers.h can serve as a base for
proper ctags interface if ctags becomes a library.
2016-03-21 18:28:36 +01:00
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