This is the complete counterpart of #3849, including the sidebar symbol patches and also https://github.com/geany/geany/pull/3707 and https://github.com/geany/geany/pull/3572.
These are all the diffs against Geany itself from https://github.com/techee/geany-lsp. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3850
-- Commit Summary --
* Add interface used by plugins to replace some Geany functionality with their own implementation * Add Geany code delegating autocompletion to plugins * Add Geany code delegating calltips to plugins * Add Geany code delegating symbol goto to plugins * Add Geany code delegating keyword highlighting to plugins * Export some types/functions so plugins have access to Geany symbol icons * Add symbols_reload_tag_list() which plugins can call to reload sidebar symbols * Replace filetype_has_tags() with document_has_tags() * Add some extra fields to TMTag * Export tm_tag_new(), tm_tag_ref() and tm_tag_unref() to plugins * Add Geany code delegating symbol tree generation to plugins * Add "session-opening" signal emitted when session opening starts/stops * Add "document-before-save-as" signal
-- File Changes --
M doc/pluginsignals.c (23) M meson.build (3) M plugins/geanyplugin.h (1) M src/Makefile.am (2) M src/document.c (21) M src/document.h (2) M src/editor.c (34) M src/filetypes.c (10) M src/filetypes.h (2) M src/geanyobject.c (14) M src/geanyobject.h (2) M src/keybindings.c (13) M src/keyfile.c (4) M src/libmain.c (16) M src/main.h (2) A src/pluginextension.c (141) A src/pluginextension.h (81) M src/sidebar.c (2) M src/symbols.c (131) M src/symbols.h (5) M src/tagmanager/tm_parser.h (34) M src/tagmanager/tm_tag.c (23) M src/tagmanager/tm_tag.h (17)
-- Patch Links --
https://github.com/geany/geany/pull/3850.patch https://github.com/geany/geany/pull/3850.diff