211 Commits

Author SHA1 Message Date
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
Enrico Tröger
5a9f1500b9 Fix wrong checks when determining whether a style is a PHP style (style SCE_HPHP_COMPLEX_VARIABLE was ignored, closes #2027235).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2816 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 09:51:08 +00:00
Enrico Tröger
5c2e1a1a4d Fix space-only indentation when auto-generating HTML tables (patch by Colomban Wendling, thanks, closes #2023160).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-22 13:42:23 +00:00
Enrico Tröger
8d67117d47 Rename "delete_event" to "delete-event".
Remove some unnecessary GObject casts in g_signal_connect() calls.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2788 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-18 13:40:48 +00:00
Nick Treleaven
000e8fcc9b Merge the editor-struct branch:
Note: this breaks the plugin API for editor-related document fields
and functions.
Split new GeanyEditor struct type from GeanyDocument fields sci,
line_wrapping, auto_indent, scroll_percent, use_tabs, line_breaking.
GeanyEditor::document allows access back to document fields.
Add GeanyDocument::editor field; this is only valid when the
document is valid, and NULL otherwise. This means any checks for
doc->editor->scintilla != NULL will segfault for invalid
documents - check against doc->is_valid or doc->editor != NULL
instead.
Change plugin API EditorFuncs to use GeanyEditor pointers.
Make editor_set_font() take a pango-style font string, and use a
GeanyEditor pointer.
Use GeanyEditor* instead of GeanyDocument* in editor.c (most global
editor functions still need conversion though, but this may be done
gradually or as required).
Move utils_get_current_function() to symbols.c.
Move utils_replace_filename() to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2779 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-15 14:29:41 +00:00
Enrico Tröger
ed016dc093 Split filetype Fortran into Fortran 77 and Fortran 90.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2777 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-14 18:27:20 +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
Enrico Tröger
ccd2186f6a Add preferences for year, date and datetime format of the corresponding template wildcards to make them more flexible.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2775 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-13 11:51:00 +00:00
Enrico Tröger
bb95dfdece Use templates_replace_all() also for snippet completion.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2774 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-13 10:56:21 +00:00
Enrico Tröger
d3adc32c19 Add support to use template wildcards in snippets.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2773 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-13 10:52:38 +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
4837030ca1 Fix compilation.
Move utils_get_current_function() to symbols.c.
Move utils_replace_filename() to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2766 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 16:30:37 +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
8dcfb7e336 Update for doc->editor->scintilla.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2764 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 11:26:09 +00:00
Nick Treleaven
32cbcd33e3 Make line breaking work with multi-line comment completion and
'Newline strips trailing spaces' pref.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2759 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-07 11:38:15 +00:00
Enrico Tröger
b14568d1f8 Rename signal "populate-edit-menu" into "update-editor-menu".
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2755 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-05 09:37:37 +00:00
Nick Treleaven
8f4106b066 Fix possible segfault for XML tag completion when no '<' brace could
be found.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2750 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 17:13:34 +00:00
Enrico Tröger
fdbc255f79 Move the checks for HTML entity completion into an own function to increase readability.
Remove workaround for a wrong styling on last character and replace it with proper style reading (patch by Jason Oster, thanks).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2748 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 15:20:44 +00:00
Nick Treleaven
1525e93a7d Fix memory leak in utils_find_open_xml_tag() when size < 3, and only
allocate string when '<' found.
Factor insert_closing_tag() from handle_xml(), fixing a memory leak
when ignoring tags like <br>.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2747 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 14:39:49 +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
Enrico Tröger
2d5d52a08d Add plugin signal "populate-edit-menu" to notify plugins when the editing menu is shown.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2733 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-28 15:46:07 +00:00
Enrico Tröger
b2c8cd062c Attempt to make editor_find_current_word() Unicode-safe. Note: this can be done better.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2732 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-28 15:42:10 +00:00
Nick Treleaven
e49c35299a Add Go to Start/End of Line keybindings (#1996175).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2730 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-27 17:54:36 +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
Enrico Tröger
a296a2c388 Scroll by page only when Alt key is held to avoid possible conflicts.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2716 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 17:42:40 +00:00
Enrico Tröger
e46a97a0e0 Allow scrolling page by page by holding down the Shift or Alt key (closes #1995405).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2713 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 17:09:46 +00:00
Enrico Tröger
b7802e2693 Allow symbol auto completion in embedded JavaScript in HTML files (closes #1997409).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2712 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 16:19:26 +00:00
Enrico Tröger
7fc218271a Improve scrolling on wrapped lines to avoid having search results on wrapped lines but outside of visible lines.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2711 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 16:13:19 +00:00
Enrico Tröger
9e98928ed1 Add "Replace spaces by tabs".
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2709 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 14:34:53 +00:00
Enrico Tröger
d03f72122a Get rid of GeanyDocument::is_valid, use the index value instead.
Remove DOC_IDX_* macros.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2693 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 15:24:44 +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
89c0342ac1 Reshow a previously shown calltip if an auto completion list was cancelled.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-08 14:49:22 +00:00
Nick Treleaven
6cb19c0ae1 Revert use of SCN_PAINTED - this is called much more often than
SCN_UPDATEUI and slows down Geany.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2656 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-06 16:53:48 +00:00
Nick Treleaven
b449de93d3 Cancel any autocompletion list when completing a snippet.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2634 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 16:05:03 +00:00
Nick Treleaven
37e0d1f3f1 Move GeanyDocument GUI elements and saved_encoding to private
Document struct which inherits from GeanyDocument. This is to hide
implementation fields from the plugin API, so that we can change
them if necessary.
Add DOCUMENT() macro to convert a GeanyDocument* to a Document*.
Also move UNDO_*, FileEncoding to documentprivate.h.
Move undo_action struct to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2631 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 15:31:59 +00:00
Nick Treleaven
e6b428a9a4 Handle non-Scintilla GUI updates after SCN_PAINTED instead of
SCN_UPDATEUI to hopefully appear more responsive to typing.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2630 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-30 14:45:17 +00:00
Nick Treleaven
6acddad7cb Allow line breaking after typing any character, not just wordchars.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2629 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-30 14:25:22 +00:00
Nick Treleaven
be0d9e8ea7 Note: this breaks the plugin API.
Replace doc_array with documents_array, a pointer array. This is
necessary to avoid breaking the ABI every time a field is added to
GeanyDocument.
Remove deprecated pluginmacros.h documents macro, to avoid a
conflict.
Replace doc_list[] macro with documents[] macro, which returns a
GeanyDocument pointer.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2624 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 17:00:54 +00:00
Nick Treleaven
398efbd373 Note: this commit breaks the plugin API.
Split widget fields out of GeanyApp into GeanyMainWidgets, so other
data items can be added without breaking the plugin ABI.
Add GeanyData::main_widgets, and macro.
Rename treeview_notebook sidebar_notebook in GeanyMainWidgets.
Move tools_menu from GeanyData to GeanyMainWidgets.
Move statusbar out of GeanyApp (shouldn't be used directly).
Move ignore_callback out of GeanyApp.
Rename sci_goto_line() argument unfold, like sci_goto_pos().
Make utils_goto_file_pos(), utils_goto_line(),
utils_switch_document() into static functions (they are UI-related,
so shouldn't be in utils.c).
Move utils_goto_pos() to editor.c, add mark argument.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2609 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-22 14:41:28 +00:00
Nick Treleaven
192f4e13b5 Rename editor_auto_line_indentation() to
editor_smart_line_indentation().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2606 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-21 14:08:35 +00:00
Nick Treleaven
320e4b9d76 Refactor editor_auto_line_indentation().
Make auto-line indentation set the cursor to the beginning of
indentation for single line selections, so the user can fine-tune
indentation if necessary. For multiple line selections, select all
the lines after indenting.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2605 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-21 14:00:27 +00:00
Nick Treleaven
45dfa2e9fe Fix doxygen-1.4.6 warnings about undocumented function parameters
when using documentation comments e.g. for TODO.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2600 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-19 12:40:35 +00:00
Enrico Tröger
311b82ebb2 Rename document struct to GeanyDocument.
Rename filetype struct to GeanyFiletype.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2594 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 14:17:54 +00:00
Nick Treleaven
3a12da9daf Note: this commit breaks the plugin API (but is necessary so that in
future the ABI can stay stable when adding preferences).
Split up prefs into interface_prefs, toolbar_prefs, file_prefs,
search_prefs, tool_prefs, template_prefs, and add these to the
plugin API.
Move suppress_search_dialogs and search_use_current_word to
search_prefs, and rename accordingly.
Rename switch_msgwin_pages pref to switch_to_status.
Remove toolbar_ prefix for toolbar_prefs items.
Remove tool_ prefix for tool_prefs items.
Remove template_ prefix for template_prefs items.
Add Geany prefix for EditorPrefs.
Add Geany prefix for SearchPrefs.
Initialize search_prefs to zero in main.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2591 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 12:08:39 +00:00
Enrico Tröger
beb68832b3 Move several editing related functions from document.c to editor.c.
Fix two compiler warnings about non-literal format strings.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2588 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-15 13:43:29 +00:00
Enrico Tröger
b2cddc87a0 Move indicator functions from document.c into editor.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2587 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 17:58:56 +00:00
Enrico Tröger
392d1f863f Add preferences for default end of line characters for new files (closes #1895362) and to disable the automatic continuation of multi-line comments in C-like languages.
Enable multi-line continuation also for CSS files.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2580 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 15:36:27 +00:00