8305 Commits

Author SHA1 Message Date
Jiří Techet
86cb9aeac0 Make the use of TMParserType private
Or semi-private by removing the docstring.
2016-02-26 01:40:37 +01:00
Jiří Techet
833921e6ee Install tm_parser.h
Included now in other headers and needed for successful plugin compilation.
2016-02-26 01:29:50 +01:00
Jiří Techet
292383c197 Some more uses of TMParserType instead of int 2016-02-26 01:11:53 +01:00
Jiří Techet
00cb498ebc Don't use ctags types inside Geany
We should isolate ctags from Geany completely and use separate types. At
the moment langType is shared by both Geany and ctags. For Geany redefine
it as TMParserType (which was currently used as the name of the enum and
was unused) and use everywhere in Geany. At the same time convert some
ints to TMParserType where they denote the parser.

This is strictly speaking an API change but no plugin uses langType at the
moment so its renaming doesn't cause any problems.

The only remaining visible ctags type is tagEntryInfo - it is however
used only inside tagmanager (and can be later removed quite easily too
by slightly reorganizing TM source files).
2016-02-26 01:10:00 +01:00
Jiří Techet
d1a5ceac42 Don't pass multiple copies of identical type name to scintilla for colorization
For instance for the boost library this makes the resulting string passed
to scintilla 6x shorter. Because scintilla goes through this list more
or less linearly for every single word in the document, this can bring
significant reductions of time spent when recolorizing.
2016-02-26 01:10:00 +01:00
Jiří Techet
cb307e5b92 Use the langs_compatible() function when passing typenames to scintilla
This requires making the function public and tm_tag.c seems to be a better
place for the function than tm_workspace so move there and add the prefix.
2016-02-26 01:09:59 +01:00
Jiří Techet
5030f7f3da Cleanup NONE/AUTO filetype definitions
At the moment the Geany code uses arbitrary combination of the following
synonyms

TM_PARSER_NONE / LANG_IGNORE / -2
TM_PARSER_AUTO / LANG_AUTO / -1

Especially using just the numbers makes things very confusing.

In the Geany code this patch replaces all occurrences of -2 and LANG_IGNORE
with TM_PARSER_NONE. It also removes LANG_IGNORE from the header which
isn't needed any more.

In addition, TM_PARSER_AUTO/LANG_AUTO shouldn't be used at all. We want
filetype detection based on Geany's definitions and not based on the
hard-coded ctags definitions. Remove it completely.

Finally, as it's clearer now what the constants mean, the patch fixes the
implementation of langs_compatible() (tag or file can never be of type
AUTO but we should rather check for NONE filetypes which we should
consider incompatible between each other).
2016-02-26 01:09:59 +01:00
Jiří Techet
77f6e98de8 Add scope completion for namespaces
Pop up scope completion dialog for namespaces too; e.g. for

boost::

show all symbols defined in the namespace. Determine whether the namespace
scope completion should be used based on whether user typed a scope
separator. If so, perform completion for namespaces before normal scope
completion - this seems to work better e.g. for Scintilla where

Scintilla::

would otherwise pop up the varible sci instead of showing everything
in the namespace (might be more questionable for languages where
the scope separator is identical to the dereference operator like
Java's "." but we have to make some choice anyway).

The performance seems to be reasonable - for the completion all tags
have to be walked but after testing with big C++ projects like
boost and Mozilla, the completion takes only something like 0.2s
which is acceptable as the delay happens only on typing the scope
completion separator and feels kind of expected.

Also tested with linux kernel sources which normally lack any scope
information by hacking TM a bit and injecting 10-character scope for
each tag - then the completion takes something over 0.5s.
2016-02-26 01:09:59 +01:00
Colomban Wendling
725083ffe7 Small update of the French translation 2016-02-25 02:07:46 +01:00
Thomas Martitz
17e4a604c5 plugin api: export editor_set_indent_width()
Plugins can now change the indentation width of an editor.

Closes #903.
2016-02-25 00:45:47 +01:00
Colomban Wendling
269980ca45 Merge pull request #914 from eht16/update_doc_images
Update images/screenshots in the manual for 1.27
2016-02-25 00:40:13 +01:00
Frank Lanitz
77324b5e7d Update of German translation 2016-02-24 22:14:49 +01:00
Frank Lanitz
3654b8f6f1 Small update of NEWS to reflect latest translation updates 2016-02-24 21:27:04 +01:00
Frank Lanitz
417a096356 Update of Spanish translation 2016-02-24 21:26:30 +01:00
Frank Lanitz
3b2174b3f7 Merge pull request #915 from crayxt/master
Update of Kazakh translation
2016-02-24 21:22:15 +01:00
Frank Lanitz
231814ad1f Merge pull request #909 from giuspen/master
Updated language Italian
2016-02-24 21:20:14 +01:00
Baurzhan Muftakhidinov
95f0c6a752 Update of Kazakh translation 2016-02-24 15:03:38 +05:00
Enrico Tröger
9b627f4e3a Update images/screenshots in the manual for 1.27 2016-02-23 01:03:57 +01:00
Giuseppe Penone
04c58ffe19 Updated language Italian 2016-02-20 21:54:15 +00:00
Giuseppe Penone
21dfbd0edf Merge branch 'master' of https://github.com/geany/geany 2016-02-20 21:34:39 +00: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