64 Commits

Author SHA1 Message Date
Matthew Brush
51dc2e9baf Support plugins written in C++
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.
2012-03-30 23:35:10 -07:00
Lex Trotman
fa118fb12a Add build command access to plugin interface
Add ability for plugins to read and edit the fields of the build commands.
2012-02-15 14:18:34 +11:00
Colomban Wendling
0aea05d10d Fix various integer signedness and minor styling issues
Most noteworthy change is that all build commands IDs and groups are
now unsigned everywhere negative values aren't explicitly handled with
a special meaning.  This should not change anything in behavior, only
makes clear the index won't underflow.
2011-12-18 00:32:22 +01:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Nick Treleaven
478f91a129 Move build_menu_prefs to keyfile.c, it's only used there.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5947 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-22 15:55:10 +00:00
Colomban Wendling
44e5687e0b Allow editing of formerly hidden preferences in the preferences dialog
Patch by Dimitar Zhekov, thanks! (closes P#3313315)

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5871 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-07-28 17:59:22 +00:00
Enrico Tröger
6ac2623208 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Nick Treleaven
3637847355 Replace doc-comments with '/* *' comments to show there's no build
API for plugins.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5478 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-08 17:13:10 +00:00
Nick Treleaven
9add067c04 Remove the "Set build working directories" button from the project
properties dialog (patch by Jiří Techet, thanks).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5194 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-24 12:07:28 +00:00
Nick Treleaven
7f572468e5 Replace GeanyBuildCommand::entries array with separate fields.
Similar to r5077 in the bs2 branch, but with less loop unrolling.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5184 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-20 15:55:30 +00:00
Nick Treleaven
ada3336bd8 Limit build error editor indicators to 50, but parse all errors in
the Compiler tab (fixes #3019823).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5081 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-07-01 17:08:00 +00:00
Nick Treleaven
16c632f579 Add Build prefix for TableFields, TableData.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4904 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-05-11 14:55:47 +00:00
Nick Treleaven
92c3140798 Make some ugly build.h global variables static.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4903 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-05-11 14:38:42 +00:00
Enrico Tröger
8c963d2829 Make string arguments const where appropriate (patch by Colomban Wendling, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4862 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-04-25 17:43:39 +00:00
Enrico Tröger
7ba4a81181 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Nick Treleaven
29b8a57133 Move function doc-comments to build.c so they stay in sync. Note:
these functions are still not in the API.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4367 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-26 14:59:47 +00:00
Lex Trotman
a231fa36d8 Include code for project filetype execute commands and fix bug in
saving project filetypes list.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4351 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-22 00:46:54 +00:00
Nick Treleaven
1986d915cc Run ./scripts/fix-alignment.pl -w src/*.[hc] plugins/*.[hc] (skipping generated files).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4199 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-16 14:13:38 +00:00
Enrico Tröger
210fa0018a Adjust coding style (no code changes).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4159 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-06 16:50:20 +00:00
Nick Treleaven
931f14d2ae Use build_ prefix for 3 functions in build.h; add a static modifier.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4130 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-08-26 17:25:28 +00:00
Nick Treleaven
e02b7a3864 Don't generate build.h API docs until everything is approved and
functions are actually in geany_functions.
Move new GeanyFiletype and GeanyProject field(s) to end of struct
as they may be changed or made private later.
Break ABI for fields removed.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4117 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-08-24 12:39:13 +00:00
Lex Trotman
8a4b302d7f Make build API symbols prefixed GEANY_
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4043 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-30 02:04:08 +00:00
Nick Treleaven
9280feabf8 Minor edits to doc comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4037 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-28 12:13:45 +00:00
Lex Trotman
6108436176 Fix warnings, build API and execute toolbutton
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4033 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-28 01:38:41 +00:00
Nick Treleaven
e3b1c92aa8 Fix some gcc warnings with '-Wall -W -ansi' enabled.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4030 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-27 16:37:23 +00:00
Lex Trotman
4af6c2fd62 Added Plugin interface for Build menu functionality
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@4011 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-22 03:04:17 +00:00
Lex Trotman
9d348018c7 Build commands & project dialog improvements
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3992 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-19 09:20:37 +00:00
Lex Trotman
3bc23327f5 Fix many warnings, remove make cmd preference
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3982 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-17 00:23:38 +00:00
Lex Trotman
3456b7cc4a Implement Working directory fields
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3972 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-16 05:52:58 +00:00
Lex Trotman
6ec0ff6723 Implement multiple execute commands & minor fixes
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3970 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-15 06:55:12 +00:00
Lex Trotman
bc8f9f771e added dialog support for error regexes
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3959 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-14 07:15:31 +00:00
Lex Trotman
8837c077b3 Fixed filetype priorities with project menu items
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3952 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-11 12:46:17 +00:00
Lex Trotman
e345d180d2 Fixed load/save filetypes build config, implemented Build Commands Dialog clear button
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3947 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-10 09:00:37 +00:00
Lex Trotman
1726e57092 Configurable Build Menu Alpha
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/build-system@3941 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-09 06:49:42 +00:00
Enrico Tröger
8d6a40a76b Increase the amount of highlighted build error messages to 100.
At least for LaTeX we need higher values as there is a lot of informative output before any errors are reported.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3732 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-24 19:31:00 +00:00
Enrico Tröger
e908e38a89 Limit the amount of highlighted build error messages in the Compiler window to 50 for performance reasons.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3725 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-21 20:54:50 +00:00
Enrico Tröger
204b62d000 Add 'Build' toolbar button with a submenu for Make actions.
Make use of ui_image_menu_item_new() for some menu items.
Remove tooltips from menu items.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3479 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-17 17:59:20 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
71e03b2cb0 Add Previous Error menu item.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2727 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-26 16:17:28 +00:00
Enrico Tröger
d3439f8a17 Use document pointer instead of an index to the documents array everywhere in the core code.
Pass a document pointer to the callbacks of all "document-*" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2692 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 13:35:48 +00:00
Enrico Tröger
41801ae852 Rename BuildInfo struct to GeanyBuildInfo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2595 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 14:35:41 +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
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
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
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
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
Nick Treleaven
6575d4f953 Move dialogs_show_includes_arguments_*() to build.c.
Move on_includes_arguments_*dialog_response() to build.c.
Make several build functions static.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1418 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-24 12:40:20 +00:00
Enrico Tröger
7b61ad934d Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Nick Treleaven
3e31b904dc Make build_parse_make_dir() more efficient.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1156 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-04 11:49:14 +00:00
Nick Treleaven
7170df59b8 Added filetype_id typedef so that GEANY_FILETYPES_* can be shown
when debugging (also renamed some filetype_id variable names).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1155 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-03 16:21:44 +00:00