When clicking a symbol in the Symbols sidebar and holding the Control modifier key, don't
set the focus to the editor widget so further navigation in the Symbols sidebar with keys
is possible.
When collapsing a fold range whose starting line is offscreen,
scroll the starting line to display at the top of the view.
Otherwise it can be confusing when the document scrolls down to hide
the folded lines.
Since reading locale and reading encodings from within files by regex
can find encodings not on the Geany list, saving as text ensures that
any encoding found can be saved in the session, otherwise a file can
be opened but will not re-open because the encoding cannot be saved
in the session. Since numeric encoding names exist prefix the text
name by 'E' so they can be distinguished from saved numeric indexes.
This ungetc() call don't look legitimate and actually leads to lots
of warnings about ungetc() being called when another character was
already backed up.
This removes tags like 'pass_', 'pass_stmt' or 'return_stmt' which are quite annoying
when typing the actual keywords and pressing Enter afterwards.
Also add some more modules and packages to the ignore list to avoid weird side effects
when importing them (even though antigravity is funny).
When reading a C macro, make sure to only use as much byes we actually
got and not as much as we requested. This should not be a problem
anymore now 61c5216 fixed a too long read, but it's safer anyway.
For all languages, this change allows comments at the end of the
checked line, e.g.:
if 42: # magic number
print("I'm indented!")
For languages with braces, it also properly indent if there is code
on the same line as the opening brace, e.g.:
if (42) { printf("some code here...");
printf("...but I'm properly indented");
} else { /* comment! */
printf("normal block is fine too, of course");
}
Although this is uncommon (and quite ugly) it's valid and should be
handled properly.