166 Commits

Author SHA1 Message Date
Enrico Tröger
fbce364182 Improve build date conversion code
Don't use strptime() as it is not very portable, instead use a GDate and use the
code also for the date output in --version.
2013-03-17 17:17:09 +01:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
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
Nick Treleaven
9426104f0b Remove utils_build_path() - use g_build_filename instead 2012-02-06 16:41:18 +00:00
Nick Treleaven
e7befb410c Remove utils_make_filename() - use g_strconcat instead 2012-02-06 16:36:51 +00:00
Nick Treleaven
172825390a Deprecate setptr in favour of SETPTR
SETPTR makes it clear that a macro is being used in code.
Restore setptr without do/while in case of use without semi-colon.
2011-11-15 16:13:46 +00:00
Nick Treleaven
736c398467 Fix setptr to work in an 'if' clause & improve documentation
Use do {...} while (0) instead of {...}.
Document the order of events and purpose of setptr properly.
2011-11-15 13:50:28 +00:00
Nick Treleaven
b69198691a Add utils_filenamecmp(). 2011-10-31 17:08:23 +00:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Nick Treleaven
9ca8db635a Use GRegex for snippet indentation replacement - fixes wrong
behaviour with Mac line endings.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/unstable@5973 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-30 11:10:22 +00:00
Colomban Wendling
57bca3ba25 Fix foreach_ptr_array() not to crash on arrays with 0 elements
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5906 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-02 21:44:44 +00:00
Colomban Wendling
3bd6a01525 Fix a few signed vs. unsigned and differently-sized integer problems
Most notably, utils_get_line_endings() and document_open_file_list()
don't support -1 as the size anymore.  If the size should be computed
from null-terminated data, the caller code must take care of doing so.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5855 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-17 22:52:17 +00:00
Nick Treleaven
2a45938205 Add utils_find_open_xml_tag_pos() API function (patch by Eugene
Arshinov, thanks).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5733 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-23 11:44:31 +00:00
Nick Treleaven
a89ba90b15 Add utils_string_find() to search in a fixed range.
Change utils_string_replace() to just replace a fixed number of
characters.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5730 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-19 16:36:29 +00:00
Nick Treleaven
0b2d16a41a Add function utils_string_replace() to replace in a fixed range.
Remove utils_string_replace_helper() and update cursor marker code.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5726 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-15 16:59:15 +00:00
Nick Treleaven
8a817e694b Make utils_build_path() return a copy for safety.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5721 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-13 12:59:20 +00:00
Nick Treleaven
8523592d11 Make utils_make_filename() return a copy for safety.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5709 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-11 14:26:51 +00:00
Colomban Wendling
7698bf60a7 Improve usage of G_(UN)?LIKELY()
G_(UN)?LIKELY() should be only used on whole conditional expressions,
and only if the branching is very highly predictable, not if it is only
more probable.

These macros should be used with care because a wrong prediction may
be a lot worst than what a good prediction can give.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5625 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 22:00:18 +00:00
Nick Treleaven
a46c2fd899 Support copying filetype definition file group keys from a system
keyfile with e.g. [styling=C].
Add function utils_make_filename() for building filenames easily.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5596 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 12:17:04 +00:00
Enrico Tröger
bf4067f910 Rename utils_is_file_writeable() into utils_is_file_writable().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5539 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-02-06 16:47:18 +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
cf6d15239e Make utils_ensure_same_eol_characters() convert all wrong line
endings to the desired one, not just the most common one.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5389 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-11-09 18:17:57 +00:00
Nick Treleaven
3c6212544c Auto-indent after an HTML/XML line with a missing closing tag (patch
by Eugene Arshinov, thanks).
Behaviour only applies if XML tag autoclosing is off.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5322 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-10-25 16:58:13 +00:00
Nick Treleaven
14d751dd87 Don't cache overridden lexer properties.
Add foreach_strv() to plugin API.
Add utils_strv_join().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5280 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-10-05 11:07:10 +00:00
Nick Treleaven
3f04f8961e Move foreach_strv to utils.h.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5277 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-10-04 14:20:40 +00:00
Nick Treleaven
d8dce113a2 Add symbol_list_sort_mode per-filetype setting, set to sort by line
number by default for Markdown, reStructuredText and Txt2Tags.
Add utils_get_setting() macro for reading a key from a home or
system keyfile.
Move GeanyFiletypePrivate to filetypesprivate.h.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5262 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-30 13:50:33 +00:00
Enrico Tröger
befcb63e59 Ensure inserted templates always have proper line ending characters
according to the current document's preference.
This is also fixes problems with templates on Windows which had
always Unix line ending characters but now since they are read
from files, these have Windows line ending characters and had been
converted twice.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5114 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-01 17:20:50 +00:00
Enrico Tröger
a18f00ae62 Add utils_get_eol_char().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5113 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-01 10:23:19 +00:00
Nick Treleaven
4d8c71d5ab Add filetypes.common fold_symbol_highlight color setting.
Add API macro foreach_range().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5078 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-07-01 14:33:41 +00:00
Nick Treleaven
a190e1bfb7 Use 3rd person for more API dox.
Change 'This is a wrapper function for...' to 'Wraps...' in brief
descriptions.
Change 'After all...' to 'Afterwards...'.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4760 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-15 13:01:16 +00:00
Nick Treleaven
138cbaa02f Use 3rd person (gets not get) for API function brief descriptions.
Avoid using 'convenience function' in API brief descriptions.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4757 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-12 18:15:48 +00:00
Nick Treleaven
e669410ad1 Fix regex search for '\\'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/gnu-regex@4717 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-01 18:16:28 +00:00
Enrico Tröger
fa49065678 Add utils_copy_environment() and make use of it.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4538 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-24 14:18:00 +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
Enrico Tröger
c1620cfe92 Add and use utils_get_help_url().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4442 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-23 22:59:36 +00:00
Nick Treleaven
dfd1ea1782 Add utils_get_config_files().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4396 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-04 14:47:07 +00:00
Nick Treleaven
cf35a8a495 Revert r4301 - utils_free_pointers() taking 4 arguments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4321 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-15 16:15:28 +00:00
Nick Treleaven
6befde884b Add word part autocompletion for the current selected item when
pressing Tab - Enter still completes normally.
Add foreach_str() API macro.
Temporarily modify scintilla to say if tab was used for
autocompletion.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4320 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-15 14:57:11 +00:00
Nick Treleaven
f36c9024a3 Make utils_free_pointers() take 4 arguments, add to API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4301 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-12 16:03:10 +00:00
Nick Treleaven
550acb30be Add utils_get_file_list_full() which can optionally sort or include
a full path for each list item.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4264 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-29 12:10:17 +00:00
Nick Treleaven
8c1743cb3e Add foreach_dir() API macro.
Update API docs for utils_get_file_list().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4203 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-17 16:47:45 +00:00
Nick Treleaven
69922305e0 Add plugin_signal_connect() for connecting plugin signals at
runtime and also for connecting to any GObject signal.
Add 'Plugin Utility Functions' on main page.
Add foreach_array() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4041 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-29 17:40:20 +00:00
Nick Treleaven
d563da620c Rename utils_str_replace() utils_str_replace_all(), setting a
'gchar **haystack' argument instead of returning a new string.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4014 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-23 16:01:45 +00:00
Nick Treleaven
86a168fb9f Change utils_str_remove_chars() to work in place; fix allocating on
the stack (the string length could exhaust the stack size).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4012 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-23 11:00:32 +00:00
Enrico Tröger
373678aec3 Move utils_str_remove_chars() from the plugins/splitwindow.c to src/utils.c and add it to the plugin API.
Make utils_str_remove_chars() work on a new copy of the input string instead of modifying it in place.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4003 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 23:10:46 +00:00
Nick Treleaven
3c8a24d0fd Remove relative/untidy path elements when opening documents (closes
#2823998).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3998 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 15:37:02 +00:00
Nick Treleaven
84f8db733d Make foreach_ptr_array() use an integer argument for its
implementation, as this is more useful potentially than a gpointer*
argument, and more straightforward.
Add foreach_c_array(), foreach_ptr_array() to API.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3997 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 12:25:24 +00:00
Nick Treleaven
9d8863f79e Fix removing underscores in translated string using no_underscore()
macro.
Set a tooltip for the Split Window plugin's Show Current tool button.
Add utils_strdupa() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3922 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-07 11:57:50 +00:00
Nick Treleaven
f56cad490e Remove data_ptr argument to foreach_[s]list() macros, as using
node->data is enough sometimes; this makes the macro a bit more
efficient too.
Add foreach_[s]list() macros to the plugin API docs.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3862 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-06-12 15:32:35 +00:00