This makes the "wordchars" setting from filetypes.common and each
specific filetype override filetype.common's "whitespace_chars"
setting, rather than it overriding filetype-specific "wordchars".
This makes the it easy to chose filetype-specific "wordchars", where
before user had not only to update this setting, but also the
filetype.common "whitespace_chars" setting if it listed one or more of
the new characters for the change to actually have an effect -- and
changing "whitespace_chars" for every filetype.
Closes#3429368.
Use the current document's directory unless the directory field has
already been edited and the current document has not changed.
Otherwise, prepend the current document's directory to the drop-down
history in case it is wanted.
This is useful to avoid losing the edited directory when it is less
likely the user wants to use the current document's directory.
With newer GTK+ releases, leaving this field blank causes the "Recent
Files" "feature" to be used rather the the expected current working
directory. No replacement text added to explain the new behaviour since
it would be incorrect with older GTK+ versions, would likely be incorrect
on Windows with native dialogs and it will possibly be reverted in GTK+
in the future.
Recenerate HTML manual, including previous changes from other commits.
This removes 'Replacing the default C/C++ tags file' - we should
not encourage users to do this as it's unnecessary and error-prone
when updating Geany.
Rename use of C++ `template` keyword in plugin API function argument
and add `G_BEGIN_DECLS` and `G_END_DECLS` to public header files to
make them easier to include in C++ code. TagManager and Scintilla
headers already have these `extern "C"` blocks so they shouldn't
require any modifications.
The Autotools build system already adds in a `dummy.cxx` to hint
Automake into C++ linking to support Scintilla, which is quite
convenient for dynamically loading of C++ plugins at run-time into
the otherwise C-only program. The other build systems seem to also
use the correct linking.
Rename project-dialog-create signal to project-dialog-open because now
the dialog exists all the time and the signal name is misleading. Add
project-dialog-close signal to indicate that project dialog has been closed
and plugins can remove their tabs when needed.
In addition, bump plugin API and ABI version.
Replacing spaces used for alignment with tabs would often break the
alignment as tab stop positions were not checked. It's also not
possible to distinguish between a true space and a single aligning
space, so we should ignore all spaces outside of indentation.
This does not affect existing users.
Ctrl-T Go to tag definition
Ctrl-Shift-T Go to tag declaration
A default keybinding for 'Transpose current line' is no longer
necessary as it does the same as 'Move line(s) up', which we now have
a default for.
This does not affect existing users.
Ctrl-Shift-PageUp Move document left
Ctrl-Shift-PageDown Move document right
The above shortcuts were aliases for selecting left/rightmost
documents, but those are not necessary as Alt-1/Alt-0 does the same.
Alt-PageUp Move line(s) up
Alt-PageDown Move line(s) down
Alt is easier to press than Ctrl-Shift, so is better for moving lines
as this needs more accuracy.
This adds a new commandline option --read-only (or -r). It's implemented
according to the behavior agreed on on the mailing list:
--read-only applies to all files on the command line
irrespective of positioning and has no effect on any other files
opened by session or menu (...)
Current behaviour on attempting to re-open a file with different
read-only status is that nothing happens, the already open
file is raised but not changed. (...)
This adds an hidden VTE preference, send_cmd_prefix, that allows to
define a prefix for the commands Geany sends to the shell in the VTE
like "cd" when following current path.
This can be used for example to prevent some shells (Bash, ZSH, maybe
others) from putting these commands in the history by setting this to
a space.