8290 Commits

Author SHA1 Message Date
Colomban Wendling
8bce6031b5 Avoid use of deprecated API from core plugins 2016-02-24 23:08:48 +01:00
Colomban Wendling
7af832da80 Avoid confusing Doxygen with function attributes 2016-02-24 23:03:35 +01:00
Colomban Wendling
409fe1a323 Try and avoid meaningless deprecation warnings from GLib and GTK
Avoid deprecation warnings from GLib and GTK versions newer than what
we currently require by default.

To undo this and get all deprecation warnings back, undefine
`GLIB_VERSION_MIN_REQUIRED` and `GDK_DISABLE_DEPRECATION_WARNINGS` on
the command line (e.g. using `-U...` in `CFLAGS`).
2016-02-24 22:06:14 +01:00
Colomban Wendling
3973892e29 Move deprecated setptr() macro inside GEANY_DISABLE_DEPRECATED guards 2016-02-24 19:29:44 +01:00
Colomban Wendling
b22fbe734c Mark deprecated API so GCC can warn about it
Also suggest replacement when appropriate.
2016-02-21 02:09:45 +01:00
Colomban Wendling
b4c3d6a737 Move deprecated declarations inside GEANY_DISABLE_DEPRECATED guards
Not all deprecated declarations were guarded this way, making it harder
to catch them.
2016-02-21 01:57:35 +01:00
Colomban Wendling
2f55540f75 Merge pull request #582 from techee/tags_are_symbols
Use the word "symbol" instead of "tag" in the UI and documentation
2016-02-17 22:54:55 +01:00
Jiří Techet
9b686871de Use the word "symbol" instead of "tag" in the UI and documentation
For users a tag is <this> so the naming can be confusing.

The only exception where we probably shouldn't use the word symbol is the
"tags file" (*.tags) containing global tags - this has already the "tags"
extension and is more related to ctags and using "symbols file" is a bit
strange in this case.

As a result, the only places where this patch leaves the word "tag" are:

* phrase "tags file(s)"
* phrase "tags parser(s)"
* documentation mentioning the "tags" directory
* documentation mentioning the *.tags extension

and of course where it means the HTML/XML markup <thing>. The rest of the
uses of the word "tag" is replaced with "symbol".

Documentation is updated accordingly.

Fixes #579.
2016-02-17 22:38:00 +01:00
Colomban Wendling
4afe6a584a manual: Improve the error_regex description 2016-02-17 20:33:28 +01:00
Colomban Wendling
444a18b5e1 calltips: Allow for C++-style explicit specialization after the name
Closes #496.

Based on PR#496 by @DThought, thanks.
2016-02-17 18:49:32 +01:00
Colomban Wendling
989e0df412 calltips: Allow for more than one space between the brace and the word 2016-02-17 18:46:16 +01:00
Colomban Wendling
d0cd111883 Merge pull request #575 from techee/colourise
Colourise only the visible area when highlighting typenames
2016-02-17 17:37:21 +01:00
ZoomRmc
4316872503 Rust: Updated suggested indentation defaults
Indentation per official style guide:
https://github.com/rust-lang/rust/blob/master/src/doc/style/style/whitespace.md

Closes #595.
2016-02-17 16:34:00 +01:00
Colomban Wendling
372d7632e8 Merge branch 'tsahlin/more-cc-kb'
Closes #858.
2016-02-16 22:24:24 +01:00
Colomban Wendling
54613a26cf Update documentation for additional custom commands keybindings 2016-02-16 22:23:03 +01:00
Thomas Sahlin
74e3dd6d1c Added keybindings for custom commands 4-9 2016-02-16 22:21:34 +01:00
Colomban Wendling
8dd7759048 spawn: Don't truncate a NULL GString 2016-02-13 18:23:10 +01:00
Frank Lanitz
a5a9762498 Update of Portuguese translation 2016-02-13 11:42:38 +01:00
Frank Lanitz
64fbf3cbfe Merge pull request #883 from blogcin/trans
Update Korean Translations
2016-02-12 23:44:01 +01:00
Colomban Wendling
2c99c8827f c++: Fix a test result
748137bd1dfa648948d9d127aa3e27b6857db764 improved return types, but as
this test case was added in parallel it wasn't updated as needed for
the new, more correct, results.
2016-02-11 15:48:50 +01:00
Colomban Wendling
a775da0714 Merge pull request #862 from techee/tm_workspace_find_cleanup3
Rewrite scope completion v3.

Closes #488 and #505.
2016-02-11 15:30:09 +01:00
Colomban Wendling
e38c7e3b67 Merge pull request #879 from b4n/c/cxx11-raw-strings
c++: Fix parsing of C++11 raw string literals.
2016-02-11 15:26:32 +01:00
Colomban Wendling
1438a99e17 Merge pull request #889 from b4n/c/return-type
C, C++, C#, D: Improve return type and var type recognition.
2016-02-11 15:25:49 +01:00
Frank Lanitz
1d58c7faf8 Update i18n on NEWS 2016-02-10 23:02:47 +01:00
Frank Lanitz
7344907df8 Update of German translation 2016-02-10 23:00:18 +01:00
Frank Lanitz
f413f02395 Merge pull request #898 from zygimantus/master
lt translation updated
2016-02-08 20:52:23 +01:00
zygimantus
88ca58e2d6 lt translation updated 2016-02-08 08:31:49 +02:00
Enrico Tröger
1ca2554b3a Merge pull request #878 from eht16/drop_obsolete_plugin_test_script
Remove obsolete scripts/plugin_test.c
2016-02-07 14:27:03 +00:00
Frank Lanitz
1be0a255f7 Update of Japanese translation 2016-01-28 19:47:00 +01:00
Jiří Techet
6b2e99d067 Remove scope prefix of variable types
We only perform search based on variable name so if a variable is e.g. of
the type std::Foo, we can drop the std:: prefix and search only for the
Foo type.
2016-01-27 01:06:56 +01:00
Colomban Wendling
748137bd1d C, C++, C#, D: Improve return type and var type recognition
This is far from perfect and contains a lot of guessing.  It showed
good results based on our tests cases, fixing several issues and not
introducing any more issues (admittedly, after working around a subtle
one regarding D static ifs).

Closes #845.
2016-01-26 16:18:11 +01:00
Colomban Wendling
496d51210c Merge pull request #839 from kugel-/gboxed-types
GBoxed types
2016-01-25 23:10:37 +01:00
Colomban Wendling
85f16ebf78 Merge pull request #874 from kugel-/sci-api-export
scintilla: add scintilla_object_* to the plugin api
2016-01-25 23:09:17 +01:00
Colomban Wendling
b40d1f255b Use explicit character literal instead of numerical value 2016-01-25 22:22:51 +01:00
blogcin
dff861cc36 Update Korean Translations 2016-01-26 03:11:28 +09:00
Giuseppe Penone
a32a0d5be3 updated language Italian 2016-01-24 23:20:44 +01:00
Colomban Wendling
5a279f0bf6 c++: Fix parsing of prefixed C++11 raw string literals
See http://en.cppreference.com/w/cpp/language/string_literal
2016-01-24 17:33:32 +01:00
Colomban Wendling
cdabbecd37 read: Avoid possible NULL dereference in getNthPrevCFromInputFile()
Also, don't perform subtractions to check pointer bounds, to avoid
unsigned value wraparound.  This is very unlikely as it would either
mean a very large `nth` value or a very small value for the current
line pointer, but better safe than sorry.
2016-01-24 17:29:38 +01:00
Colomban Wendling
67f3add7c7 read: Move logic for getting a previous character into a read function
This ties related logic together, making it less of a hack and easier
to maintain, as well as accessible by all parsers if needed.
2016-01-24 17:25:12 +01:00
Colomban Wendling
a14aa908c5 c++: Fix parsing of C++11 raw string literals
See http://en.cppreference.com/w/cpp/language/string_literal

Closes #877.

---

This contains a pretty ugly hack to fetch the previous character, in
order not to get fooled by string concatenation hidden behind a macro,
like in `FOUR"five"`, which is not a raw string literal but simply the
identifier `FOUR` followed by the string `"five"`.

While this may sound uncommon, it is not and lead to complaints [2][3]
when Scintilla [1] broke this when they introduced C++11 raw string
literal support themselves.

The implementation here still contains a bug with line continuations: a
raw literal of the form:

```c
const char *str = R\
"xxx(...)xxx";
```

is not properly recognized as such, although it's perfectly valid (yet
probably very uncommon).  For the record, Scintilla has also suffers
from this but nobody complained about it yet.

[1] http://scintilla.org/
[2] https://sourceforge.net/p/scintilla/bugs/1207/
[3] https://sourceforge.net/p/scintilla/bugs/1454/
2016-01-23 21:52:40 +01:00
Enrico Tröger
632b215f77 Remove obsolete scripts/plugin_test.c
This script was used in the nightly builds to verify plugins will load
and have no undefined symbol references. Since the new way plugins
are built and linked, this is no longer necessary.
Additionally, this script won't work with new style geany_load_module()
plugins.
2016-01-23 15:29:03 +01:00
Thomas Martitz
43737733ac plugin api: convert StashGroup to GBoxed internally
Because the stash_group_new() is an exported API, it has to be at least a boxed
type to be usable for gobject introspection. The boxed type uses reference
counting as opposed to memory duplication.

The obligatory stash_group_dup() is not exported (doesn't have to).
2016-01-19 17:08:59 +01:00
Thomas Martitz
9a38b7ac20 plugin api: convert TMSourceFile to GBoxed internally
Because the tm_source_file_new() is an exported API, it has to be at least a
boxed type to be usable for gobject introspection. The boxed type uses
reference counting as opposed to memory duplication.

The obligatory tm_source_file_dup() is not exported (doesn't have to).
2016-01-19 17:08:56 +01:00
Thomas Martitz
a032ed506e scintilla: add scintilla_object_* to the plugin api
Analogous to their legacy counterparts. Also required for gir-bindings
generated via g-ir-scanner.
2016-01-19 17:05:30 +01:00
Jiří Techet
c653741a3c Fix member scope completion with nested members
First, the search for existing type with the given scope should be done
also for namespaces.

Second, with the string operations we get no scope as empty string ""
but the rest of TM functions expect scope to be set to NULL in such
case. Fix that.
2016-01-19 00:40:06 +01:00
Jiří Techet
f10747ae5a Remove duplicate names from scope search popup
There may be duplicate tag names in the list e.g. when performing namespace
search and overloaded methods are found.
2016-01-18 23:00:19 +01:00
Jiří Techet
cd1a58f0a5 Use language-specific context separator instead of hard-coded "::"
This makes it possible to popup scope completion dialog for more languages.
2016-01-18 22:56:10 +01:00
Jiří Techet
f38068f04e Skip typedef resolution in namespace search if not needed
When we already have a struct-like type in namespace search,
we don't need any extra resolution - we already have the
right type. Skip the whole typedef resolution in this case.
2016-01-18 22:56:10 +01:00
Jiří Techet
5801844d7e Improve anonymous type handling
Make sure the anonymous types are from the same file as the
variable of that type (or, when performing typedef resolution, from
the same file as the typedef).

On the way, simplify find_scope_members() a bit and fix some minor
problems.
2016-01-18 22:56:10 +01:00
Jiří Techet
981320c3b8 Skip [] when performing scope autocompletion
In addition to skipping function parameters, we can also skip indexes so
in something like

foo[2].

we get autocompletion for foo's type members.
2016-01-18 22:56:10 +01:00