59 Commits

Author SHA1 Message Date
Nick Treleaven
ee26ac9254 Change keybindings code to use keybinding groups, each with a
separate enum set, which will make the plugin ABI more stable,
and lay the groundwork for plugin keybindings support.
Note: this breaks the plugin API.
Disable setting menu accelerators (temporary).
Disable Keyboard Shortcuts dialog (temporary).
Disable snippets completion (temporary).
Disable focus commands in the VTE (temporary).
Make Tags group use separate cb_func_tags callback.
Rename keybindings_cmd() to keybindings_send_command().
Add keybindings_lookup_item().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2297 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-29 19:30:28 +00:00
Enrico Tröger
b7bfb2743a Replace all C++-style comments with usual C-like multi-line comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2287 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 13:17:29 +00:00
Enrico Tröger
ce12940621 Apply patch by Pierre Joye to add new process spawning implementation for Windows.
Make utils_spawn_* available to plugin API.
This makes the VCdiff plugin to work on Windows (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2279 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-24 10:27:32 +00:00
Enrico Tröger
22d96653da Rename hidden pref auto_complete_whilst_editing to complete_snippets_whilst_editing.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2269 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-21 15:51:50 +00:00
Enrico Tröger
85f73129c0 Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Enrico Tröger
0e65cff820 Add support for generating API reference documentation using doxygen.
This is the first step, it is far away from being complete.
Add make target "api-doc" to generate the reference documentation.
Add documentation comments to a few functions.
Move basic plugin documentation from plugindata.h to doc/plugins.dox.	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2263 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-17 18:00:42 +00:00
Enrico Tröger
6413fdb2bf Add hidden preference to disable scrolling past end of document.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2260 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-15 16:34:30 +00:00
Nick Treleaven
43704d8ebe Add ui_button_new_with_image() to plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2223 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-04 13:40:14 +00:00
Nick Treleaven
4c747131c1 Add sci_get_current_line() to plugin API.
Add ui_table_add_row(), ui_path_box_new() to plugin API (thanks to
Yura Siamashka).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2221 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-04 12:49:14 +00:00
Nick Treleaven
cdf447647f Add new macros for plugin API functions that use a 'p_' prefix to
prevent conflicts with other tags whilst keeping the same first word
as core function names, and update plugins to use them.
The old plugin macros are still available, but will be removed
after the next release.
Compiling with -DGEANY_DISABLE_DEPRECATED in CFLAGS will disable
the old macros.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2195 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-28 17:27:39 +00:00
Enrico Tröger
7b85b02f93 Add encodings_get_charset_from_index() and make it available through plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2177 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-16 16:50:10 +00:00
Nick Treleaven
ff9c673ed2 Apply patch from Yura Siamashka to speed up removing several
workspace object's tags without updating the workspace until
necessary (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2164 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-11 17:09:23 +00:00
Enrico Tröger
e3201062c6 Update copyright information and change format of email addresses in source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Enrico Tröger
697195c4fe Patch by Yura Siamashka:
Add project type field.
Go to tag definition/declaration will open the file with the tag if it isn't already open.
Add some utils and tagmanager functions to the plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2145 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-02 21:20:33 +00:00
Nick Treleaven
bd6c2c611f Add configurable keybindings for Cut, Copy and Paste.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2130 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-25 14:00:18 +00:00
Enrico Tröger
47c7c69214 Add Move document first/last keybindings (patch by Catalin Marinas, thank you).
Add toolbar items to increase/decrease indentation (closes #1850697).	     


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2104 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-16 16:54:47 +00:00
Enrico Tröger
639e23effa Use pluginmacros.h (for classbuilder and htmlchars plugins).
Add highlighting_get_style().
Add highlighting_get_style() to the plugin API.
Rename DocumentFuncs field in GeanyData struct to avoid name clashes.	      


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2103 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-16 11:27:59 +00:00
Enrico Tröger
c27e9b54c6 Add search_show_find_in_files_dialog() to the plugin API.
Make path entry of filebrowser plugin editable.
Add "Open with" and "Find in Files" popup menu items to filebrowser  plugin and add configuration dialog.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2085 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-02 10:52:19 +00:00
Enrico Tröger
de8caa6055 Remove obsolete SVNdiff plugin, use the VC Diff plugin.
Add option for amount of characters to trigger symbol completion.
Add document_find_by_filename to the plugin API.		


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2084 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-01 17:53:36 +00:00
Enrico Tröger
5e6b3d5165 Remove ununsed function project_save().
Fix typo in plugin API at utils_mkdir().
Add document_get_n_idx() to the plugin API.
Fix display of plugin separator in the Tools menu when only plugins without menu item are loaded.
Add three new signals: project_open, project_save, project_close.
On Shutdown close the project before plugins are unloaded to let plugins work on the last project closed event.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-21 18:54:12 +00:00
Enrico Tröger
5f6958cba4 Add utils_mkdir() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2061 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-20 18:37:20 +00:00
Enrico Tröger
2b07283739 Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog.
Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally.
Add author field to plugin info struct.
Add sample configure dialog to the demo plugin.
Fix cleanup code in filebrowser plugin to remove it completely when unloaded.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2060 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-20 18:15:46 +00:00
Enrico Tröger
6dc14025ea Add hidden pref to hide symbol list treeview expander (GTK >= 2.12).
Double click on symbol list sections now expands/collapses them.      


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2054 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-18 15:09:28 +00:00
Enrico Tröger
4b43e762d0 Rename "Contruct autocompletion" to "Snippets".
Allow changing height of the symbol completion list even if automatic symbol is disabled, it still can be forced by keybinding.	 


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2044 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-12 09:27:43 +00:00
Nick Treleaven
f1e323f158 Make VTE interpret all keyboard shortcuts except for focus group
keybindings.
Add enum values for keybinding groups.
Make Notebook tabs keybindings group.
Move Go to tags items into Tags keybindings group.
Move navigation items into a new Other keybindings group.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2027 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-06 16:59:01 +00:00
Enrico Tröger
9610c0f63d Add document_set_text_changed() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2014 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-04 10:12:15 +00:00
Nick Treleaven
a54ddf4795 Added File Browser sidebar plugin.
Rename 'Open Files' sidebar tab 'Documents'.
Add keybindings->send_command() and tm->get_real_path() to the plugin
API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1966 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-22 12:42:19 +00:00
Enrico Tröger
62d31d6c92 Add encoding related functions to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1958 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-18 18:03:28 +00:00
Nick Treleaven
5f688c6294 Apply patch from Catalin Marinas to add a 'newline strips trailing
spaces' pref (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1956 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-18 11:52:47 +00:00
Nick Treleaven
f0e2b35c0d Update plugin api_version for new indentation fields.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1954 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-17 12:55:47 +00:00
Enrico Tröger
7c78e6a4a0 Fix wrong callback signatures in Export plugin and make menu item document sensitive.
Add dialogs_show_save_as() to the plugin API.   


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1950 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-16 09:01:13 +00:00
Enrico Tröger
1d9c244ad1 Add menu accelerators to the symbol and open files list popup menus.
Add option to display full path name in the open files list.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1941 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-13 09:28:26 +00:00
Nick Treleaven
db980f3f83 Add ui->set_statusbar() to the plugin API.
Make plugin function msgwin->status_add() not set the statusbar - but
ui->set_statusbar() can now be used to do both with the log argument.
After Geany 0.12 this is how the core versions of those functions
will work, so the status window can be set independently.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1903 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-25 16:21:35 +00:00
Nick Treleaven
0f36471020 Apply patch from blackdog to add build_info and
msgwindow->compiler_add() to the plugin API (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1884 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-17 11:16:48 +00:00
Nick Treleaven
ca970f61e4 Fix return type for document->open_files().
(Tidy up field name indentation).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1873 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-12 11:17:53 +00:00
Nick Treleaven
b7113bfa7a Add reload_file() document function to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-11 16:05:03 +00:00
Nick Treleaven
274058eb7a Neaten up the plugin API:
Make document_open_file() now wrap document_open_file_full(),
without the idx for reloading or pos arguments.
Replace str_replace() with string_replace_all() in the plugin API.
Add utils_string_replace_all(), taking a GString argument.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1868 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-11 15:21:11 +00:00
Enrico Tröger
73557807a8 Remove get_zoom from plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1867 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-10 18:25:03 +00:00
Nick Treleaven
1887a20df4 Add text argument for document_new_file(), so that it's independent
from filetype templates.
Make File->New create a blank document, rather than using the None
filetype template.
Add None option for the 'New with Template' menu commands.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1848 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-03 16:09:53 +00:00
Nick Treleaven
8e12775cb6 Clear PluginInfo fields in PLUGIN_INFO macro for future extensions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1828 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-27 16:29:28 +00:00
Enrico Tröger
edc0ceaad6 Add version to plugin info fields and two other fields for future use.
Add option to show/hide the small crosses on each file tab (closes #1757680).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1826 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-25 14:16:52 +00:00
Nick Treleaven
b401b698ea Move file-related fields from EditorPrefs -> GeanyPrefs.
Rename line_breaking -> line_wrapping for EditorPrefs and document.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1823 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-24 16:20:33 +00:00
Nick Treleaven
52e8b9f27d Apply patch from blackdog to add "document-activate" plugin signal,
which is sent when switching notebook pages (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1816 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-23 15:22:13 +00:00
Nick Treleaven
ef1399e000 Rename MyApp -> GeanyApp.
Move most GeanyApp fields into:
GeanyPrefs for (most) Preferences dialog fields;
UIPrefs for non-Prefs dialog visual settings;
UIWidgets for less commonly used widgets such as menuitems and
dialogs;
GeanyStatus for various states the application can be in.
Move some GeanyApp fields into EditorPrefs (and one into each of
CommandLineOptions and SidebarTreeviews).
Add plugin API prefs field.
Move disabling build widgets on Windows to build_init().
Make build callbacks static.
Add treeviews_init() to prepare popup menus and open files treeview.
Replace treeviews_find_node() with treeviews_select_openfiles_item().
Make utils_isbrace() and utils_is_opening_brace() take an
'include_angles' argument (to separate from editor_prefs).
Make 'Goto matching brace' keybinding include <> angle brackets.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1815 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-23 11:34:06 +00:00
Enrico Tröger
704940dcdf New plugin: Export as HTML and LaTeX.
Add some functions to the plugin API needed by the Export plugin.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1811 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-19 17:40:19 +00:00
Nick Treleaven
2fa7ce5794 Apply patch from Jeff Pohlmeyer to add document_remove() to the
plugin API (thanks).
Add document_open_files() to plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1798 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 11:52:06 +00:00
Nick Treleaven
d8d971ea9f Apply patch from blackdog to add document_save_file() to the plugin
API (thanks).
Add document_open_file() to plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1796 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-14 16:29:03 +00:00
Nick Treleaven
15cec02d07 Add plugin symbol geany_callbacks (see plugindata.h for details).
Add GeanyObject type with "document-new", "document-open",
"document-save" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1785 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 16:11:17 +00:00
Nick Treleaven
a19e05fa81 Tidy up struct typedefs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1784 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 11:45:20 +00:00
Nick Treleaven
70cd941345 Add filetypes, editor_prefs fields to plugin API.
Wrap scintilla_send_message(), sci_cmd(), lookup_widget().
Apply patch from Jeff Pohlmeyer to add more common scintilla wrappers
to the plugin API (thanks).
Increment plugin ABI version.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1768 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-03 15:05:53 +00:00