9399 Commits

Author SHA1 Message Date
Enrico Tröger
c159d1ae6f Windows installer: Migrate to NSIS 3.x
Closes #1302.
2019-06-10 14:39:50 +02:00
Nick Treleaven
770cda4064
Merge pull request #2166 from ntrel/user-ft-ext
Always allow user filetype extensions to override system config file
2019-06-10 12:15:43 +01:00
Nick Treleaven
56fa037df9
[doc] Add tip to put commonly used filetypes in the None group (#2175) 2019-06-10 11:32:02 +01:00
Simon Krauter
3afdba5716 Add Nim filetype (#2085)
* Add Nim filetype

Add support for the Nim programming language using the Python lexer.
Nim website: https://nim-lang.org/

* Correct file name

* Add filetypes.Nim.conf to Makefile.am

As requested by b4n

* Remove unneeded lexer_properties and indentation width

As requested by b4n

* Fix run_cmd

* Improved keywords
2019-06-08 18:44:18 +01:00
Nick Treleaven
55382df297 Comment out copied contents opening Tools->Configuration Files
Discourage the user from overriding system settings unnecessarily.
2019-06-04 16:25:10 +01:00
Frank Lanitz
b9ef191c2a Update of Swedish translation 2019-06-03 21:03:23 +02:00
ankitpati
95c0c06cba Add support for Apple Swift language 2019-05-27 13:48:38 +01:00
Nick Treleaven
41122c07bc Always allow user filetype extensions to override system config file
Before the user would sometimes have to override 'UnwantedFiletype=' in
the user config file to remove an extension written in the system file.
Geany would ignore an overridden filetype in the user config file that
also matches the extension. This happened when the wanted filetype had a
higher index than the unwanted one in filetypes_array.
2019-05-18 13:51:55 +01:00
Nick Treleaven
0082fb2a99 Kill filetypes_find(), rename static function
It's not worth abstracting finding through filetypes_array, it's not bug prone,
and it may even cause bugs with non-type-safe predicate signature. It was only
used once anyway.
2019-05-16 15:58:57 +01:00
Colomban Wendling
868da11715 Merge pull request #2138 from b4n/scintilla/update-3-10-4
Update Scintilla to version 3.10.4
2019-05-03 19:52:02 +02:00
Colomban Wendling
a4027f9f8f scintilla: Fix GCC 4.8 support wrt noexcept move constructors
X-Scintilla-Commit-ID: ee3fe56c6fe815781d02fbc7d55d9f15f9c439aa
2019-05-03 17:49:55 +02:00
Colomban Wendling
4bceddb449 Update Scintilla to version 3.10.4 2019-04-28 19:02:15 +02:00
Colomban Wendling
9d4aa7f807 Update making-a-release a little 2019-04-28 18:38:32 +02:00
Colomban Wendling
11436f58de Post release version bump
Say hello to Geany 1.36 "Poliff"!
2019-04-28 17:36:02 +02:00
Colomban Wendling
2d4f369937 Set release date 2019-04-28 16:16:15 +02:00
Colomban Wendling
58ae095267 Update NEWS for upcoming 1.35 release 2019-04-28 16:16:15 +02:00
Colomban Wendling
349b8c40e2 Merge pull request #2134 from b4n/ctags/new-flex-parser
Add new upstream candidate Flex parser
2019-04-28 11:14:33 +02:00
Enrico Tröger
12f03f6773
Merge pull request #2116 from eht16/issue352_vte_full_restart
Restart the shell if VTE restart is requested
2019-04-28 08:59:12 +00:00
Frank Lanitz
e696a680f4 Add notes about updated transaltions to NEWS 2019-04-28 10:56:02 +02:00
Frank Lanitz
f94a1c54d5 Update of German translation 2019-04-28 10:46:51 +02:00
Colomban Wendling
f6b04480c8 Don't perform line breaking in rectangular selection mode (#2135)
Doing so drops the rectangular selection, and there is no obvious
correct behavior for line breaking with a rectangular selection.
So, just don't do line breaking in this case.

Fixes #2051.
2019-04-28 09:37:18 +10:00
Colomban Wendling
d551765d59 scintilla: Fix invalid memory access in MoveSelectedLines
Fixes #2066.

X-Scintilla-Commit-ID: df5c32512d3d6b71ee6138c709b392258c3a1991,
                       25a0367e9349c8475c619a054af7bf1daf15b04c
X-Scintilla-Bug-ID: https://sourceforge.net/p/scintilla/bugs/2078/
2019-04-27 16:12:50 +02:00
Colomban Wendling
44c26adbc3 Merge pull request #2128 from b4n/ctags/new-cobol-parser
COBOL: Import new upstream candidate parser
2019-04-27 15:21:36 +02:00
Colomban Wendling
ec6e2320dd Add new upstream candidate Flex parser
See: https://github.com/universal-ctags/ctags/pull/2084

This import has 3 difference with upstream, not to use newer API than
current Geany has, and to workaround current limitations of Geany ctags
calls: imports are enabled by default and don't have a specific role.
2019-04-27 14:59:30 +02:00
Enrico Tröger
1223743b70 Windows installer: Install GTK translations only if selected
Closes #2090.
2019-04-22 22:37:51 +02:00
Frank Lanitz
0504d16316 Update of Japanese translation 2019-04-22 17:44:22 +02:00
柳东原 LIU Dongyuan
b9c8e7b094 Update zh_CN.po (#2130)
* Update zh_CN.po

* Update zh_CN.po
2019-04-22 16:56:18 +02:00
Ingmārs Dīriņš
1c567038fc Update of the Latvian translation (#2127) 2019-04-20 20:51:15 +02:00
Colomban Wendling
2ae6cd9c1a Fix incomplete prototype
Use `void` for empty argument lists.
2019-04-20 11:50:36 +02:00
Colomban Wendling
585b16b0da COBOL: Import new upstream candidate parser
This fixes support for COBOL symbols after the recent breakage of regex
parsers, as well as introducing additional features and bug fixes.

Also import some of the tests.

https://github.com/universal-ctags/ctags/pull/2076

Part of #2119.
2019-04-20 11:36:03 +02:00
Colomban Wendling
acebc2d6db scintilla: Accessible: emit the text deletion signal before deletion
This allows the accessibility layer to request detail, such as which
characters have been deleted.  ATK will query the deleted range to
report the data that was removed, so it must still be available for
the query to give a correct answer.
So, emit the signal in BEFOREDELETE instead of DELETETEXT.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/2095/
X-Scintilla-Commit-ID: 0a937b4c0b2be02042473baed62543ff73d90807
2019-04-17 23:15:19 +02:00
Colomban Wendling
a587385de0 scintilla: Accessible: use the built-in character position cache
It's quite a lot faster even after trying and optimizing the custom
version, and it makes the code simpler.

Also improve ByteOffsetFromCharacterOffset() to make use of the cache,
making it drastically faster.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/2094/
X-Scintilla-Commit-ID: 01aab5f24e50ed14551c8c9c8ecce7ece0594c09
X-Scintilla-Commit-ID: 2c8b52af4ae5de2abe7c00fd18e78be60340cbf9

Fixes #2092.
2019-04-17 23:12:35 +02:00
Colomban Wendling
b6a132bc12 Small update of the French translation 2019-04-17 19:22:48 +02:00
Frank Lanitz
75a736bf71 Merge branch 'master' of github.com:geany/geany 2019-04-17 18:41:09 +02:00
Frank Lanitz
f744f34d4a Update of Russian translation 2019-04-17 18:39:40 +02:00
Andrej Herceg
b6fc42f5f7 Update of Slovak translation (#2126) 2019-04-17 09:01:44 +02:00
Frank Lanitz
46797da804 Update off Spanish translation 2019-04-16 17:46:14 +02:00
Frank Lanitz
ada85ab331 Update of Portugese translation 2019-04-16 17:18:39 +02:00
scootergrisen
b1d10d55bf Update danish translation to 1.35 (#2125)
Add 2 new strings
2019-04-15 23:44:36 +02:00
Frank Lanitz
2e366f8b8e Update po files for upcoming 1.35 release 2019-04-15 17:14:30 +02:00
Colomban Wendling
938da95c9d Merge pull request #1326 from b4n/default-open-enc
Fix loading the default open encoding option
2019-04-14 15:53:13 +02:00
Frank Lanitz
9ce8a44996 Small update of German translation 2019-04-13 18:03:45 +02:00
Colomban Wendling
ccbf0df24a Avoid passing plain strings as format
Introduced in #2111, this gets caught by GCC's -Wformat-security which
is enabled as an error in our nightly builds.
2019-04-09 14:50:54 +02:00
Enrico Tröger
e2d2a569f2
Merge pull request #2106 from eht16/update_copyright_years
Update all copyright notices to mention only the first publish year
2019-04-07 09:52:27 +00:00
Enrico Tröger
1526af4068 Update all copyright notices to mention only the first publish year
And so remove the current year to ease maintenance and since it is not
strictly necessary.
Also remove individual copyright holders (where appropriate) and replace
the name with "The Geany contributors". The detailed authorship
information is still available in the GIT history.

Also remove copyright notice and author names from READMEs.
2019-04-07 11:43:58 +02:00
Enrico Tröger
00a5688249
Merge pull request #2111 from eht16/win32_socket_handling
Improve IPC socket handling
2019-04-07 09:41:24 +00:00
Enrico Tröger
690df746bf Windows: Use SO_EXCLUSIVEADDRUSE flag for IPC socket
SO_REUSEADDR on Windows allows to bind to an already used port
without an error. This way we never notice if the port is already used.
So use the Windows special flag SO_EXCLUSIVEADDRUSE to ensure we receive
an error if the port is already used.

Part of #641.
2019-04-07 11:33:05 +02:00
Enrico Tröger
d951db1e8a On Windows, raise the main window only when needed for IPC calls
We need to explicitly raise the main window on IPC commands
only when opening files and similar.
For query commands like "doclist" the focus should stay on the
remote instance.
2019-04-07 11:33:05 +02:00
Enrico Tröger
bd938af032 Use GLib logging for socket error messages
The "perror" logs were not very visible on non-Windows systems
(i.e. the user could see and notice them only when Geany was started
from the command line).
On Windows, those messages were never visible at all.

Add a new debug log message if Geany received an IPC command
from a remote instance.

Also, add a status bar and status window message if the initial socket
creation failed.
2019-04-07 11:33:05 +02:00
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