137 Commits

Author SHA1 Message Date
Dimitar Zhekov
a5b99dc96d Add virtual column and selected chars to the statusbar
Closes https://sourceforge.net/p/geany/patches/10/
2015-03-03 20:07:11 +01:00
Colomban Wendling
3ce25db632 Remove line number zoom hack as it is no longer necessary
Since cbf9813632d7ee921ffa1fda0d1f69128b2bc755 we have a proper
solution for maintaining line number consistent with the editor zoom,
so drop the old hack.

This also allows to remove the now useless third argument of
sci_set_line_numbers().
2014-06-27 22:23:48 +02:00
Matthew Brush
4efcbab332 Include what you use
This is a mega-commit - because most of it had to be done in one go
otherwise some commits would fail to compile - that attempts to fix a
few problems with Geany's includes as well as various other related
cleanups. After this change it's easier to use includes and there's
little worry about which order things are included in or who includes
what.

Overview of changes:

* Include config.h at the start of each source file if HAVE_CONFIG_H
  is defined (and never in headers).
* Go through each source file and make the includes section generally
  like this:
  - Always config.h first as above
  - Then if the file has a header with the same name, include that
  - Then include in alphabetical order each other internal/geany header.
  - Then include standard headers
  - Then include non-standard system headers
  - Then include GLib/GTK+ related stuff
* Doing as above makes it easier to find implicit header include
  dependencies and it exposed quite a few weird problems with includes
  or forward declarations, fix those.
* Make geany.h contain not much besides some defines.
  - Add a little header file "app.h" for GeanyApp and move it there
  - Move "app" global to new "app.h" file
  - Move "ignore_callback" global to "callbacks.h"
  - Move "geany_object" global to "geanyobject.h"
* Add an include in "geany.h" for "app.h" since GeanyApp used to be
  defined there and some plugins included this header to access
  GeanyApp.
* Include "gtkcompat.h" everywhere instead of gtk/gtk.h so that
  everywhere sees the same definitions (not a problem in practice AFAIK
  so this could be changed back if better that way.
* Remove forward declarations from previous commits as some people
  apparently consider this bad style, despite that it reduces inter-
  header dependencies.

TODO:
* As always, to test on win32
* As always, to test with not Autotools
* Test plugins better, both builtin and geany-plugins, likely API/ABI bump
* Test with various defines/flags that may change what is included
* win32.[ch] not really touched since I couldn't test
2014-05-21 15:37:19 -07:00
Colomban Wendling
8980970630 Unify color parsing
Change utils_parse_color() to use gdk_color_parse() and follow its
syntax, additionally supporting our "0x" prefix as a synonym for the
"#" prefix;  and use this everywhere.

Also add utils_color_to_bgr() and utils_parse_color_to_bgr() to provide
conversion to the 24 bits BGR format used by Scintilla.
2013-12-04 15:31:17 +01:00
Colomban Wendling
507005ca54 Rename utils_strtod() to utils_parse_color()
Rename the function to a more sensible name, and remove unnecessary
arguments.  Now, format (# or 0x) is auto-detected.
2013-12-02 22:38:11 +01:00
Nick Treleaven
b428042278 Add sci_word_start_position, sci_word_end_position wrappers 2013-09-19 14:15:17 +01:00
Eugene Arshinov
7e732bddc8 rewrite_reflow: Remove no longer used sci_lines_split function that wrapped SCI_LINESSPLIT 2013-04-21 11:45:09 +10:00
Eugene Arshinov
40fb3aa64d rewrite_reflow: Create sci_get_position_from_col function to wrap Scintilla's SCI_FINDCOLUMN command. 2013-04-21 11:45:09 +10:00
Nick Treleaven
43c49ba46d Make sci_get_contents() accept -1 for buffer_len to get all text 2012-11-21 13:34:39 +00:00
Nick Treleaven
fe1da1891a Fix sci_get_contents() buffer length parameter name & doc
sci_get_contents() takes buffer length as a parameter, not the
number of characters to copy. Buffer length includes a null byte.
2012-11-21 13:34:37 +00:00
Nick Treleaven
00714db69c Improve collapsing fold behaviour when start point is offscreen
When collapsing a fold range whose starting line is offscreen,
scroll the starting line to display at the top of the view.
Otherwise it can be confusing when the document scrolls down to hide
the folded lines.
2012-09-05 17:13:34 +01:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
95d767f873 Document sci_get_lexer()
This function is part of the plugin API but missed its documentation,
leading to it not appearing in the generated API documentation.
2012-07-28 00:32:26 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Nick Treleaven
fa5929ecbe Fix clearing styles in sci_set_lexer() 2012-05-30 13:03:42 +01:00
Nick Treleaven
12a1295dd1 Do not change message order for sci_set_lexer()
Scintilla mentions clearing styles after setting lexer.
2012-05-29 17:55:43 +01:00
Nick Treleaven
edd672c3e5 Don't clear styles when setting lexer id unless it has changed
This fixes styles being cleared when using the Split Window plugin.
2012-05-29 15:16:24 +01:00
Eugene Arshinov
f5262a453e Use Scintilla's MOVESELECTEDLINES{UP,DOWN} commands. 2012-02-20 19:58:13 +01:00
Matthew Brush
589ffff377 Add Scintilla wrapper function sci_set_lexer()
When the lexer is changed it clears all styling information and resets
the folding state.

Closes #3486917 and #3486918
2012-02-12 22:35:08 -08:00
Colomban Wendling
ed1fe7903b Explicit all required casts in sciwrappers
There is still 3 signed values implicitly converted to unsigned not
fixed, but they aren't really legitimate and would require a behavior
change in some corner cases.
2011-12-18 00:32:22 +01:00
Colomban Wendling
3f31453ace Fix various integer sign and size issues 2011-11-06 01:12:42 +01:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Colomban Wendling
417adeb302 Fix a few Doxygen warnings
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5652 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-29 23:52:03 +00:00
Nick Treleaven
acc3e96e5f Fix undocumented parameter.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5648 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-29 17:55:26 +00:00
Colomban Wendling
77e400d1aa Add missing documentation to some plugin API functions
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5553 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-02 21:08:51 +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
148975afa3 Move plugin signals docs to pluginsignals.c, using function
pointer syntax instead of @signaldef as this puts a summary of
the signal names at the top of the page and sorts alphabetically.
(Note: the syntax is similar to Vala signal syntax).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-06-25 16:50:27 +00:00
Nick Treleaven
700e6e96bf Add sci_set_line_indentation(), sci_get_line_indentation() to API
(patch by Colomban Wendling, thanks).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-05-03 14:46:32 +00:00
Nick Treleaven
f1b7fc0fad Mention editor-notify signal in dox.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4846 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-04-21 17:16:27 +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
9021717031 Use full function name for GeanyFunctions function pointers. This
avoids naming conflicts e.g. with C++'s 'new' keyword.
Remove deprecated header pluginmacros.h - use geanyfunctions.h instead.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4552 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-25 15:53:54 +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
4021505786 Add sci_find_text() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4516 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-12-31 15:47:56 +00:00
Nick Treleaven
f133c5e144 Remove duplicate sci_set_keywords(), make argument const.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4472 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-12-07 14:17:40 +00:00
Nick Treleaven
57d2d4181b Add general function sci_get_string() that works with any string
buffer messages that follow the Windows message convention.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4385 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-28 16:32:22 +00:00
Enrico Tröger
d7e8d98649 Add sci_goto_line() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4363 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-25 22:27:13 +00:00
Nick Treleaven
fdb87f98cc Rerun ./scripts/fix-alignment.pl.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4337 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-19 11:50:36 +00:00
Nick Treleaven
3b129fdaea Remove unnecessary line number margin padding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4326 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-16 11:07:49 +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
46ef07f0ab Change many SSM() macros to use sciwrappers.h instead.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4319 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-14 16:00:40 +00:00
Nick Treleaven
bb6526e717 Remove unnecessary case statement braces.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4318 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-14 15:40:12 +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
Nick Treleaven
6d5844ae69 Fix pointer alignment & 4 if statement alignments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4181 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-13 15:33:04 +00:00
Nick Treleaven
c100272031 Add sci_set_marker_at_line(), sci_delete_marker_at_line(),
sci_is_marker_set_at_line() to the plugin API (thanks to Yura
Siamashka).
Add sci_toggle_marker_at_line().
Fix SciFuncs alignment.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4178 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-12 17:39:49 +00:00
Nick Treleaven
6bd343b21d Rename 3 sci functions to sci_set_target_start(),
sci_set_target_end(), sci_replace_target() to match the SCI_
message name.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4042 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-29 17:54:48 +00:00
Nick Treleaven
aa89783b74 Add 'Reflow lines/paragraph' keybinding, defaults to Ctrl-J.
Heavily based on a patch by Eugene Arshinov (thanks).
Add sci_lines_split(), sci_lines_join(), sci_text_width(),
editor_strip_line_trailing_spaces().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4025 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-24 15:44:14 +00:00
Enrico Tröger
259639f3ee Use the new Scintilla struct names prefixed with 'Sci_'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3912 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-04 09:20:28 +00:00
Nick Treleaven
2f31df28f7 Add sci_set_selection().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-05-18 14:51:37 +00:00
Enrico Tröger
a95a59a42f Remove all G_LIKELY macros inside g_return_if_fail() statements as this is redundant.
Remove many other G_LIKELY/G_UNLIKELY macros which doesn't make much sense to keep the code more readable.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3708 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-15 22:47:33 +00:00