95 Commits

Author SHA1 Message Date
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
01b408c09b Add 'View->Editor->Color Schemes' menu, for now only shown if color
scheme files exist in a colorschemes config directory. Color scheme
files must end in ".conf" and currently only the [named_styles]
section is read.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4395 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-04 12:36:56 +00:00
Nick Treleaven
42119d8f3b Add 'Word part completion' keybinding so keys other than Tab can be
used, or to clear/change the combination so Tab does full completion
like before.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4344 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-20 15:35:44 +00:00
Nick Treleaven
5b708760cf Make editor_prefs.snippets hash table private (not a pref).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4200 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-16 17:30:30 +00:00
Nick Treleaven
14e4bc7239 Change snippet_goto_next_cursor() to
editor_goto_next_snippet_cursor() as it's in editor.h.
Avoid using GPOINTER_TO_INT macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4190 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-14 17:28:07 +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
Nick Treleaven
67ae2b4931 Add 'Drop rest of word on completion' pref.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3942 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-09 11:18:45 +00:00
Nick Treleaven
d2595b5e96 Add 'Autocomplete all words in document' pref.
Use 'autocompletion' in dialog and docs, not 'auto completion'.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3927 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-08 12:29:20 +00:00
Enrico Tröger
cf531e4347 Make some locally only used functions static.
Fix wrong sanity check.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3805 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-05-19 20:17:37 +00:00
Nick Treleaven
2edecade6b Make indenting with the Tabs indent type preserve spaces on the line,
so it works for the 'tab indents, space aligns' formatting style.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3802 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-05-18 15:17:48 +00:00
Enrico Tröger
6d50bdf31a Make editor_highlight_braces() static.
Remove unused wrapper functions.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3696 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-07 22:08:38 +00:00
Enrico Tröger
d6c1d1e801 Add editor_get_word_at_pos() as a convenient function to retrieve the word at a given position.
Make document_get_status_color() returning a const GdkColor.
Add editor_get_word_at_pos() and document_get_status_color() to the plugin API.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3567 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-02-08 19:52:21 +00:00
Enrico Tröger
b2eeefc919 Add some missing @since tags to the API documentation of various functions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3531 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-30 18:53:23 +00:00
Enrico Tröger
bd2d677d84 Support multiple %cursor% wildcards in Snippets. To switch between %cursor% wildcards, use the new keybinding 'Move cursor in snippet' (patch by Thomas Martitz, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3461 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-11 21:05:03 +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
Enrico Tröger
44b7d27b50 Add "editor-notify" to the plugin API.
This signal is emitted whenever something in an editor widget changes, e.g. a character was typed.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3391 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-17 16:00:18 +00:00
Enrico Tröger
ac72607ade Add auto-closing of braces, brackets and quotes (patch by Guillaume de Rorthais, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3319 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-04 20:19:20 +00:00
Enrico Tröger
13682cfd10 Add editor_get_calltip_text().
Add tooltips for the symbol list items.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3288 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-29 12:50:52 +00:00
Enrico Tröger
18095fca79 Note: this breaks the plugin API for Editor and Scintilla functions.
Rename all functions in editor.c and sciwrappers.c which are related to indicators for more consistency.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3238 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-16 17:54:28 +00:00
Enrico Tröger
0324ed71f6 Add *_full variants of editor indicator functions to the plugin API for more control over indicators.
Add/Update some API docs.
Make the 'Mark' button for Find highlight the results with rounded boxes instead of marking the whole line.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3155 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-25 18:57:00 +00:00
Enrico Tröger
c946d4ef91 Replace Goto line text entry field in the toolbar with a spin button.
Remove dialogs_show_goto_line(), use the more generic dialogs_show_input_numeric() instead.
Increase limit of the maximum line number from 99999 to 100000000.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3146 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-23 20:55:06 +00:00
Nick Treleaven
a49aa6e01b s/GEANY_SCI_CB_H/GEANY_EDITOR_H.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3007 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-26 14:16:44 +00:00
Enrico Tröger
83d6c2e8e2 Fix using direct Scintilla access in document.c and callbacks.
Add wrapper functions instead.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3000 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-25 18:29:53 +00:00
Enrico Tröger
a032d6a660 Unify the API in editor.c, all public functions now take a GeanyEditor* object.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2998 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-25 18:28:37 +00:00
Enrico Tröger
437fafd46e Move document_apply_update_prefs() in editor.c.
Refactor get_indent_guides_from_lexer() from sciwrappers.c in editor_set_indentation_guides().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2979 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-21 16:43:45 +00:00
Nick Treleaven
5dde790601 Add 'Tab key indents' pref, which replaces hidden pref
'use_tab_to_indent'; it's now on by default.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2971 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-18 12:43:41 +00:00
Nick Treleaven
34f54710dd Merge split-window-plugin branch.
Add Split Window plugin (should work OK for viewing and basic text
editing; most other features are not implemented yet).
Add editor_create_widget() to the API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2954 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 16:06:47 +00:00
Nick Treleaven
186e366348 Add editor_create_widget() to the API; remove editor_create(),
editor_destroy().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/split-window-plugin@2950 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 15:21:46 +00:00
Nick Treleaven
6f60b4bc2c Add 'Max. symbol name suggestions' autocompletion pref.
Edit some autocompletion pref strings.
Remove some trailing commas in array initializers (oops).
Move GEANY_TOGGLE_MARK, GEANY_MAX_AUTOCOMPLETE_WORDS to keyfile.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2914 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-29 17:00:02 +00:00
Nick Treleaven
d43cd0ee2a Add editor_destroy() to dispose of a GeanyEditor struct (in future
we may want to do more than just free it).
Fix editor.h dox description to be more informative for the API
(and move dox from editor.h to editor.c).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2901 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-25 15:44:51 +00:00
Nick Treleaven
530761a6fb Rename GeanyIndentPrefs::tab_width to hard_tab_width, and update
keyfile key name.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2874 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-11 16:53:03 +00:00
Nick Treleaven
b74eb47577 Add sci_get_tab_width() to the API, and use it to get the correct
display tab width in the Export plugin.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2866 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-08 14:46:31 +00:00
Nick Treleaven
309b853b57 Merge changes from the custom-tab-width branch (closes #1662173).
Thanks to Joerg Desch for explaining how it needs to work.
Note: this breaks the plugin API for indentation editor_prefs.
Add separate Width indent pref (as well as the Tab Width pref).
Add 'Tabs & Spaces' Indent Type radio option pref.
Add 'Tabs and Spaces' Document menu indent option.
Note: Tabs & Spaces cannot be detected (yet) when opening files;
default file templates still only use tabs.
Set 'Detect from file' indent type setting insensitive when Tabs &
Spaces is set.
Don't change per-document auto-indent setting after changing default
auto-indentation type.
- API changes:
Add GeanyIndentPrefs struct from some GeanyEditorPrefs fields.
Replace GeanyIndentPrefs::use_tabs with GeanyIndentType field 'type'.
Add editor_get_indent_prefs() to the API, which should be used to
get the right settings for a document/editor instead of reading
any struct fields. This could also support project/filetype
indentation prefs quite easily.
- Core code changes:
Move toggle_prefs to a function toggle_items_foreach(), which takes
a PREF_DISPLAY or PREF_UPDATE argument. This means the PrefEntry
array can contain runtime fields, so can read pointer contents.
Add pref_item_callbacks array of functions to call;
toggle_items_foreach(), spin_items_foreach(), radio_items_foreach(),
combo_items_foreach().
Update keyfile.c to use foreach-style functions for SettingEntry
arrays, like the new PrefEntry code in prefs.c.
Add get_indent_size_after_line() to replace get_indent() for
clarity, and to fix Tabs & Spaces auto-indentation > basic.
Remove opening-brace indent code from get_indent() as it's now in
get_brace_indent().
Change editor_close_block() to use sci_get_line_indentation() for
clarity.
Make editor_close_block() static.
Add editor_init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2863 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 16:36:06 +00:00
Nick Treleaven
6140e5089d Add get_indent_size_after_line() to replace get_indent() for
clarity, and to fix Tabs & Spaces auto-indentation > basic.
Change editor_close_block() to use sci_get_line_indentation() for
clarity.
Make editor_close_block() static.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2857 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-05 14:46:27 +00:00
Nick Treleaven
d3fbdf278b Fix build; currently auto-indentation doesn't support inserting tabs
and spaces, only spaces. Also Tabs & Spaces cannot be detected yet
when opening files. Default file templates still only use tabs.
Add editor_get_indent_prefs() which should be used to get the right
settings for a document/editor instead of reading any default prefs.
This could also support project/filetype indentation prefs quite
easily.
Don't change per-document auto-indent setting after changing default
auto-indentation type.
Remove ui_radio_menu_item_*(), not good to use as they depended on
the order of widget creation, so don't work well with Glade. Use
RadioPrefEntry array instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2853 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-04 14:07:49 +00:00
Nick Treleaven
1d55dae69f Add 'Tabs and Spaces' Document menu indent option.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2844 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-31 14:47:03 +00:00
Nick Treleaven
4b8035844d Move use_tab_to_indent pref back to editor_prefs (should be unique).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2838 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-30 15:26:49 +00:00
Nick Treleaven
4bb4f83374 Move detect_tab_mode editor pref to indentation pref 'detect_type'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2833 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-29 14:43:34 +00:00
Nick Treleaven
cadbe70a57 Add missing commas (oops).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2828 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 13:38:12 +00:00
Nick Treleaven
677b91f140 Replace 'Custom tab width' option with a 'Tabs & Spaces' Indent Type
radio option, and a Tab Width spin entry.
Replace GeanyIndentPrefs::use_tabs with GeanyIndentType field 'type'.
(Still won't compile ;-)).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2827 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 11:52:19 +00:00
Enrico Tröger
866f8fbefe Add a preference for the comment toggle mark string("~ " by default).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2825 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-27 18:41:07 +00:00
Nick Treleaven
501d543492 Note: this breaks the plugin API for indentation editor_prefs.
Add GeanyIndentPrefs struct from some GeanyEditorPrefs fields (maybe
this struct will get used elsewhere too).
Add editor_init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2821 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 15:05:27 +00:00
Nick Treleaven
7db4bfe493 Rename GeanyEditor::scintilla to GeanyEditor::sci.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2776 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-14 11:13:54 +00:00
Nick Treleaven
82d63e09b0 Make editor_set_font() take a pango-style font string, and use a
GeanyEditor pointer.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2771 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-11 17:09:01 +00:00
Nick Treleaven
3bdd42ba4b Change plugin API EditorFuncs to use GeanyEditor pointers.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2770 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-11 14:49:09 +00:00
Nick Treleaven
0ae04ea2f9 Create the doc->editor field in editor_create(). This means any
checks for doc->editor->scintilla != NULL will segfault for invalid
documents - check against doc->is_valid or doc->editor != NULL
instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2768 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-11 14:11:53 +00:00
Nick Treleaven
7c71457fb1 Fix building editor.c, using GeanyEditor* instead of GeanyDocument*
(most global editor functions still need conversion though).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2765 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 13:53:08 +00:00
Nick Treleaven
bceab8d3e2 Note: this breaks the plugin API for editor-related document fields.
Split new GeanyEditor struct type from GeanyDocument fields.
Add GeanyDocument::editor field.
GeanyEditor::document allows access back to document fields.
GeanyEditor::scintilla replaces GeanyDocument::sci.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2763 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 10:50:13 +00:00
Enrico Tröger
1a1f244cc6 Move code to read snippets configuration to editor.c.
Split editor_snippets_free() from editor_finalize().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2738 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-30 16:14:55 +00:00
Nick Treleaven
6e2ce22ec1 Move on_editor_expose_event(), create_new_sci() to editor.c.
Make on_editor_button_press_event() and on_editor_scroll_event()
static.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2720 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-20 17:10:51 +00:00