This follows filetypes: Groovy, Kotlin (except NaN?), Haxe, Java, Julia (I think), Rust. Some other filetypes use secondary keywords for other things besides types (builtin functions?).
![image](https://user-images.githubusercontent.com/1107820/230777763-7a642f29-ff8a-4760-82b1-9a349d9e988e.png)
Doesn't include `signed` and `unsigned` as they can be type modifiers too (can include if wanted).
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3448
-- Commit Summary --
* [C, C++] Move built-in type keywords to secondary list
-- File Changes --
M data/filedefs/filetypes.c (6)
M data/filedefs/filetypes.cpp (6)
-- Patch Links --
https://github.com/geany/geany/pull/3448.patchhttps://github.com/geany/geany/pull/3448.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3448
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3448(a)github.com>
This makes it harder to read the signatures. Not sure when it was introduced.
Weirdly C# and D don't have this problem, even though they use the same `ctags/parsers/geany_c.c` tag parser file as C and C++.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3474
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3474(a)github.com>
I think that pull request #1682 should be reverted.
It seems to be common practice across programming languages to use `# ` (hash-space, or the language's corresponding comment mark) for "real" comments (English sentences describing what's going on in a script or file) and `#` (hash with no space) for commenting out code (temporarily disabling a line of code, mostly for debugging purposes).
This practice is commonly seen in config files:
```ini
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
```
but I have seen it used in Python as well. Specifically, [the CPython repository](https://github.com/python/cpython) seems to prefer `#` (without space) to `# ` for commented-out code (which is rare, but still present in the repo), while using `# ` (with space) for actual comments with readable sentences, as recommended by [PEP 8](https://peps.python.org/pep-0008/#block-comments).
Example (as seen in [setup.py from the Cpython repository as of v3.6.3](https://github.com/python/cpython/blob/v3.6.3/setup.py#L2168-L2169)):
```py
# Uncomment for extra functionality:
#define_macros.append(('EXTRA_FUNCTIONALITY', 1))
```
The aforementioned repo seems to actually mix both styles of comment (which isn't surprising for something with multiple authors), but I think the style of commented-out code using no space helps distinguish it from textual comments.
As an example, notice how these code snippets are ambiguous (it's hard to tell whether the last line is part of the comment, or a commented-out line of code, at least at a first glance):
```py
# B.2 is case folding for NFKC. This is the same as B.3,
# except where NormalizeWithKC(Fold(a)) !=
# NormalizeWithKC(Fold(NormalizeWithKC(Fold(a))))
```
```py
# Workaround CPython bug #23353: using yield/yield-from in an
# except block of a generator doesn't clear properly
# sys.exc_info()
err = exc
```
```py
# Above depended on config-extensions.def having Alt keys,
# which is no longer true.
# sys.platform = 'darwin'
# self.assertNotEqual(conf.GetCurrentKeySet(), conf.GetKeySet(conf.CurrentKeys()))
```
```py
# this may not work if the forward lookup choses the IPv6 address, as that doesn't
# have a reverse entry yet
# socket.gethostbyaddr('испытание.python.org')
```
```py
# Uncomment the next line for debugging.
# sys.stderr.write(format % args)
pass
```
whereas these are quite unambiguous:
```py
# The following no longer raises a TypeError - it is now
# possible, as in C, to call cdecl functions with more parameters.
#self.assertRaises(TypeError, c, 1, 2, 3)
self.assertEqual(c(1, 2, 3, 4, 5, 6), 3)
```
```py
# RFC 1808 and RFC 1630 disagree on these (according to RFC 1808),
# so we'll not actually run these tests (which expect 1808 behavior).
#self.checkJoin(RFC1808_BASE, 'http:g', 'http:g')
#self.checkJoin(RFC1808_BASE, 'http:', 'http:')
```
Bottom line:
#1682 was introduced to make commented-out code agree with [PEP 8](https://peps.python.org/pep-0008/#block-comments), but PEP 8 does not apply to commented-out lines of code, which are not "proper comments" that explain what the code does. In fact, commented-out code should aim to NOT look like normal comments.
Also, making the default comment string be `# ` makes the Ctrl-E comment toggle mark be `# ~ `, which looks quite weird, instead of `#~ `.
The old behavior can be configured in the user config files, but I think it should be the default.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3462
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3462(a)github.com>
Hi,
I have experienced troubles with popups in last version of Geany on Wayland. The context menu never shows and this message is printed to stdout:
```
Gdk-Message: 07:03:47.840: Window 0x55a9f5030360 is a temporary window without parent, application will not be able to position it on screen.
(geany:1327711): Gdk-CRITICAL **: 07:03:47.846: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
```
Also, the code-completion popups never show. Interestingly, when trying to invoke code-completion, no error is logged. So it might or might not be a different issue.
**Steps to reproduce:**
1. Open Geany on wayland (I'm using sway on Arch Linux, not sure if it works in other WMs/distros)
2. Right click in the editor
3. Nothing happens. No context menu is shown, only message appears on the stdout...
**Versions**
```
$ geany --version
geany 1.38 (built on 2021-10-09 with GTK 3.24.30, GLib 2.70.0)
```
```
$ pacman -Q geany gtk3 wayland wayland-protocols
geany 1.38-1
gtk3 1:3.24.30+90+g20be04f7ac-1
wayland 1.19.0-2
wayland-protocols 1.23-1
```
**Additional info**
I have tested the same with SciTE (Version 5.1.5 Scintilla:5.1.4 Lexilla:5.1.3 compiled for GTK:3.24.30) and it shows context menu just fine, so it is probably not Scintilla bug.
I have also tried with current master (5d4e7cfd5b12647b4cab9bda7278abd7f63e9c2f) in hope that #2930 might have fixed it. Unfortunately, it behaves just the same, no popups, just shows error.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3009
I use shift+tab to unindent, and would prefer that backspace always deletes exactly one character in all contexts, but currently, when the cursor is in what the editor considers indentation, it always unindents rather than deleting a character (except when the indentation is tabs, apparently):
https://github.com/geany/geany/blob/bb45e3b7485e27f29bf652968b9094da322d0bc…
Can you add a preference to control this "smart" backspace behavior (basically, it would just skip that line of code)?
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3354
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3354(a)github.com>
`cxx` changes backported from ctags.
I'm not sure if this actually fixes anything but it's an obvious mistake.
Also add warning that `geany_c.c` is not used for C & C++.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3478
-- Commit Summary --
* Fix copying comma in cxxTokenCopy
-- File Changes --
M ctags/parsers/cxx/cxx_parser_function.c (2)
M ctags/parsers/cxx/cxx_token.c (2)
M ctags/parsers/geany_c.c (2)
-- Patch Links --
https://github.com/geany/geany/pull/3478.patchhttps://github.com/geany/geany/pull/3478.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3478
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3478(a)github.com>
I'd like Geany to highlight keywords like "TODO" and "XXX". This is not the default (as in gedit, for example), and there's no configuration list for it, AFAIK.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3476
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3476(a)github.com>
```c++
auto get_token(T my_arg) const -> const some_long_namespace::some_long_type<another_namespace::some_id, a_different_namespace::another_id>;
auto x = get_token(
```
The calltip shows the very long return type first, which gets in the way of reading the rest of the function signature. It should be shown in the same way the source function was written.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3459
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3459(a)github.com>