9400 Commits

Author SHA1 Message Date
Jiří Techet
a1cf475fcf Sync ctags with upstream so that most parsers can be copied from uctags (#2018)
* Use latest version of htable

* Use latest version of mio

* Use latest version of objpool

* Use latest version of ptrarray

* Use latest version of vstring

This also requires adding trashbox.c/h which is now used by vstring and
inline macros from inline.h.

* Rename fieldSpec to fieldDefinition

See b56bd065123d69087acd6f202499d71a86a7ea7a upstream.

* Rename kindOption to kindDefinition

See e112e8ab6e0933b5bd7922e0dfb969b1f28c60fa upstream

* Rename kinds field in parserDefinition to kindTable

See 09ae690face8b5cde940e2d7cf40f8860381067b upstream.

* Rename structure fields about field in parserDefinition

See a739fa5fb790bc349a66b2bee0bf42cf289994e8 upstream.

* Use kindIndex instead of kindDefinition

This patch replaces kindDefinition related entries from sTagEntryInfo
with kindIndex so kinds are referenced indirectly using the index. For
more info please refer to commits:

16a2541c0698bd8ee03c1be8172ef3191f6e695a
f92e6bf2aeb21fd6b04756487f98d0eefa16d9ce

Some other changes had to be made to make the sources compile (without
bringing all the diffs from upstream). At some places, which aren't used
by Geany, only stub implementations have been created.

In particular, the regex parser has been disabled (for now?) because its
current implementation doesn't allow accessing kindDefinitions using
index and allowing this would require big changes in its implementation.
The affected parsers are Cobol, ActionScript and HTML. For HTML we can
use the token-based parser from upstream, and we should consider
whether Cobol and ActionScript are worth the effort to maintain a separate
regex implementation using GRegex (IMO these languages are dead enough
not to justify the extra effort).

The patch also disables tests for languages using regex parsers.

* Rename roleDesc to roleDefinition

See 1345725842c196cc0523ff60231192bcd588961b upstream. Since we don't care
about roles in Geany, we don't have to do the additional stuff the upstream
patch does.

* Add XTAG_ANONYMOUS used by jscript

See 0e4c5d4a0461bc8d9616fe3b97d75b91d014246e upstream.

* Include stdint.h in entry.h

* Don't use hash value as an Anonymous field identifier

Instead of something like "Anonymous0ab283cd9402" use sequential integer
values like "Anonymous1".

* Call anonReset in main part

See 3c91b1ea509df238feb86c9cbd552b621e462653 upstream.

* Use upstream javascript parser

* Use upstream css parser

* Create correctly sized MIO for 0 size

See https://github.com/universal-ctags/ctags/pull/1951

* Always enable promise API and subparsers for Geany

* Support subparsers in Geany and add HTML parser demonstrating this feature

This feature requires several changes:

1. Propagating language of the tag from ctags to Geany so we know whether
the tag comes from a master parser or a subparser.

2. We need to address the problem that tag types from a subparsers can
clash with tag types from master parsers or other subparsers used by the
master parser. For instance, HTML and both its css and javascript
subparsers use tm_tag_class_t but HTML uses it for <h2> headings, and
css and javascript for classes. Representing all of them using
tm_tag_class_t would lead to complete mess where all of these types would
for instance be listed in the same branch of the tree in the sidebar.

To avoid this problem, this patch adds another mapping for subparsers where
each tag type can be mapped to another tag type (which isn't used neither
by master parser or other subparsers). To avoid unwanted clashes with other
parsers, only tags explicitly mentioned in such mappings are added to tag
manager; other subparser tags are discarded.

For HTML this patch introduces mapping only for tm_tag_function_t (which
in this case maps to the same type) to mimick the previous HTML parser
behavior but other javascript and css tag types can be added this way
in the future too.

3. Since in most of the code Geany and tag manager assume that tags from
one file use the same language, subparser's tags are modified to have the
same language like the master parser.

4. HTML parser itself was copied from upstream without any modifications.
Tests were fixed as the parser now correctly ignores comments.

* Rename truncateLine field of tagEntryInfo

See 0e70b22791877322598f03ecbe3eb26a6b661001 upstream. Needed for Fortran
parser.

* Add dummy mbcs.h and trace.h

Included by javascript parser.

* Introduce an accessor to `locate' field of `Option'

See fb5ef68859f71ff2949f1d9a7cab7515f523532f upstream. Needed for Fortran.

* Add numarray.c/h

Needed by various parsers.

* Add getLanguageForFilename() and getLanguageForCommand()

See

416c5e6b8807feaec318d7f8addbb4107370c187
334e072f9d6d9954ebd3eb89bbceb252c20ae9dd

upstream. Needed for Sh parser.

* txt2tags: Fix scope separator definition and re-enable tests

* Rename rest.c to rst.c to match upstream filename

* Use upstream asciidoc and rst parsers

* Add asciidoc and rst unit tests

* Rename conf.c to iniconf.c to match upstream filename

* Add tests of conf, diff, md parsers from universal ctags

* Add more ctags unit tests

This patch adds unit tests for: nsis, docbook, haskell, haxe, abaqus, vala,
abc.

The only missing unit tests are for GLSL and Ferite parsers which
however share the implementation with the C parser and should be
reasonably well covered by other C-like language tests.

The tests were put together from various tutorials and help of the
languages in order to cover the tags these parsers generate. No guarantee
they'd compile with real parsers.

* Rename latex.c to tex.c to match upstream filename

* Rename entry points of parsers to match upstream names

* Initialize trashbox

* Add newline to the end of file
2019-04-06 12:14:30 +10:00
Enrico Tröger
de097ddf69 Restart the shell if VTE restart is requested
This happened in the past until d35e66493c7f80768dc5b8761d62ec74434bfdae
because of https://sourceforge.net/p/geany/bugs/163/ and
https://bugzilla.gnome.org/show_bug.cgi?id=540161.
But since the VTE bug has been fixed for long, we can remove the
workaround.

Closes #352.
2019-03-31 15:26:34 +02:00
Enrico Tröger
70ebfbd529 Fix regex to resolve confusion on the removed double space
Also fix a typo in the variable name for the output.
2019-03-19 11:05:16 +01:00
Andy Alt
b8cdfddf98 remove unneeded #include (tm_tag.h) (#2034)
Fixes the FIXME comment in the code.
2019-03-06 17:59:20 +10:00
Enrico Tröger
806e762a0a
Merge pull request #2064 from eht16/remove_spec_file
Remove unused spec (RPM) file
2019-03-03 12:25:29 +01:00
woodmix
ef8119089e Update ja.po (#2089)
revise translation of "_Mark All"
2019-02-26 11:20:57 +01:00
Enrico Tröger
4bad8ef5d4 Remove unused spec (RPM) file
The original intention was to easily build RPM packages by
users and developers. Nowadays, there are professional
Fedora, Suse and whatever RPM spec files available
for the according distributions.
So we can remove this unmaintained file to reduce confusions.

Fixes #2044.
2019-01-20 22:47:24 +01:00
Colomban Wendling
bf5c9eddd8 Merge pull request #2028 from andy5995/issue_453
geany-vte.m4:explicitly display "VTE" in STATUS
2019-01-18 17:08:45 +01:00
Andy Alt
c825b581bf README.rst grammar fix#2047
* README.rst change to not refer to "few" when there are 20+ options.  Also fixes missing "are" as a side effect.
2019-01-15 17:45:54 +10:00
Colomban Wendling
cd267de29c Merge pull request #2036 from techee/symbol_tree_vartype
Show variable type in a tooltip in symbol tree
2019-01-13 15:43:12 +01:00
Colomban Wendling
ecf98b1efb Update Scintilla to version 3.10.2
Closes #971, closes #1947.
2019-01-12 23:52:53 +01:00
Colomban Wendling
fb11f90ec8 Merge pull request #2043 from cristicc/feature/diff-lexer-fix
Fix stripping trailing spaces for custom file types using the DIFF lexer.

Fixes #2041.
2019-01-10 21:46:25 +01:00
Vangelis Skarmoutsos
6330a76bfb Update el.po (#2042) 2019-01-09 18:16:04 +01:00
Cristian Ciocaltea
6a0c2ef91c Fix stripping trailing spaces for custom file types using the DIFF lexer (#2041) 2019-01-09 18:39:54 +02:00
Jiří Techet
a2c9c22f2c Show variable type in a tooltip in symbol tree
Similarly to function prototypes, it shows the tooltip in a language
specific way.
2019-01-07 23:58:28 +01:00
Colomban Wendling
c113d47e20 Merge branch '1.34' 2019-01-04 17:15:47 +01:00
Colomban Wendling
41ca473909 Set release date 2019-01-04 16:25:20 +01:00
Colomban Wendling
adda5013c8 Bump version for 1.34.1 2019-01-04 16:24:47 +01:00
Colomban Wendling
b54f4fac89 Update NEWS for upcoming 1.34.1 release 2019-01-04 16:13:42 +01:00
Frank Lanitz
234df96eaa Minor update of Ukrainian translation 2019-01-04 16:12:27 +01:00
Colomban Wendling
a3d723f0cf Fix modifier for creating rectangular selections on Windows
33dafac8f0713de79f04e2ebce2399fb914d6792 restored the pre-Scintilla
3.10 default on non-Windows, but also changed the Windows one.  Fix
this so the modifier keeps its historical value on Windows as well.
2019-01-04 12:54:35 +01:00
Colomban Wendling
83d36f00ba Merge pull request #2032 from b4n/scintilla-rectangular-modifier-windows
Fix modifier for creating rectangular selections on Windows
2019-01-04 12:53:26 +01:00
elextr
f47bae101f Fix broken line breaking on existing lines
sci_get_position_from_col() takes line number, not position of start of line.
2019-01-02 23:17:59 +01:00
Colomban Wendling
c6356444b1 Fix escaping of infobar text against entity injection from filename
Fixes #2033.
2019-01-02 23:17:51 +01:00
Colomban Wendling
9838a8e9a0 Remove non-existing language from 1.34 translation NEWS
It most likely was a typo for `da`, and all actually updated
translations are properly listed.
2019-01-02 23:17:35 +01:00
Colomban Wendling
969e00a03f Merge pull request #2027 from geany/elextr-patch-4
Fix broken line breaking on existing lines
2019-01-02 22:42:16 +01:00
Colomban Wendling
f3a85525ae Fix escaping of infobar text against entity injection from filename
Fixes #2033.
2019-01-02 22:24:36 +01:00
Colomban Wendling
9fc709e1dc Fix modifier for creating rectangular selections on Windows
33dafac8f0713de79f04e2ebce2399fb914d6792 restored the pre-Scintilla
3.10 default on non-Windows, but also changed the Windows one.  Fix
this so the modifier keeps its historical value on Windows as well.
2019-01-02 14:10:07 +01:00
andy5995
096fcbd0c2
geany-vte.m4:explicity display "VTE" in STATUS
closes #453

Signed-off-by: andy5995 <andy400-dev@yahoo.com>
2018-12-31 15:56:54 -06:00
elextr
baa88de707
Fix broken line breaking on existing lines
sci_get_position_from_col() takes line number, not position of start of line.
2018-12-28 16:02:49 +10:00
Colomban Wendling
4452b365bf Merge pull request #1263 from techee/ctags_sync_main
First part of syncing with Universal-CTags.
2018-12-17 21:37:43 +01:00
Jiří Techet
457658dcfb Avoid warnings about unused variables in rest and asciidoc parsers
We don't use the return value of getNestingLevel(), only its
nestingLevelsPop() semantics. Get rid of the return value and rename the
function to avoid confusion.
2018-12-17 21:19:52 +01:00
Colomban Wendling
b6fe9f17ae Merge pull request #1878 from b4n/issue-1876
Various fixes reported in #1876
2018-12-16 18:55:06 +01:00
Colomban Wendling
529ba51e85 Remove non-existing language from 1.34 translation NEWS
It most likely was a typo for `da`, and all actually updated
translations are properly listed.
2018-12-16 17:48:16 +01:00
Frank Lanitz
41a3c3c92e Minor update of Ukrainian translation 2018-12-16 15:10:05 +01:00
Enrico Tröger
72bb3fc27f
Merge pull request #2017 from eht16/use_own_mirror_for_gtk_bundle
Update link to GTK+2 bundle for test builds to self-hosted version
2018-12-16 14:55:44 +01:00
Enrico Tröger
f40859332b Update link to GTK+2 bundle for test builds to self-hosted version
Make us more independent from ftp.gnome.org and
host the, probably never ever changing, bundle ourselves.
2018-12-16 14:54:55 +01:00
Colomban Wendling
560e559a2a Post release version bump
Say hello to Geany 1.35 "Siralt"!
2018-12-16 13:47:25 +01:00
Colomban Wendling
54946bddd1 Set release date 2018-12-16 12:29:51 +01:00
Colomban Wendling
a1e95fcb61 Avoid user Git setting when generating the ChangeLog for distribution 2018-12-16 12:29:51 +01:00
Colomban Wendling
7593e77fe6 Fix fuzzy strings due to last minute capitalization of a sentence 2018-12-16 11:52:01 +01:00
Colomban Wendling
053b2b666a Fix NEWS for Danish translation that is new, no simply updated 2018-12-16 11:22:19 +01:00
Frank Lanitz
ad5af37774 Update a few translations files for fuzzy string 2018-12-16 11:15:22 +01:00
Enrico Tröger
ffc47cbcbd Windows: Add new Pango dependencies to bundle creation script 2018-12-16 10:35:18 +01:00
Colomban Wendling
9843d10028 Update NEWS with the latest changes 2018-12-14 10:35:21 +01:00
Jason Cumbie
5f38675114 Do not report incorrect value for GeanyDocument:changed when quitting
Fix document_account_for_unsaved() so it does not alter the `changed`
flag on documents, in order for plugins to have a reliable value there
at all times.

Patch by @chrontec with small additional tidying up.

Closes #1857.
2018-12-12 20:15:53 +01:00
Frank Lanitz
5c428b912b Update of Japanese translation 2018-12-10 20:17:14 +01:00
Frank Lanitz
8f7f98cb5c Update of Swedish translation 2018-12-10 15:51:20 +01:00
Colomban Wendling
3458045af4 Merge pull request #1182 from b4n/gtk3-auto-detect_v2
Autotools: Detect GTK version to use automatically.  GTK2 is still the
default if both GTK2 and GTK3 are present.
2018-12-09 11:49:41 +01:00
Colomban Wendling
13559896fe autotools: Detect GTK version to use automatically 2018-12-09 11:48:52 +01:00