54 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Nick Treleaven
d131023fe7 Add basic Line Breaking option in the Document menu. Line breaking
only works when typing characters past the line breaking column
number.
Add 'Line breaking column' editor pref.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2562 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-09 12:13:29 +00:00
Nick Treleaven
a832015fff Move non-general compile-time constants into their relevant source
files.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2519 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-23 16:47:42 +00:00
Enrico Tröger
99a3d8e3c3 Add preference for not using the current word under the cursor when opening Find dialogs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2389 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-23 16:29:43 +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
Nick Treleaven
3714cf498f Don't scroll the editor view if it is unnecessary when using Find
Next/Previous, Find Selected and when searching from the search bar.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2274 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-22 13:30:16 +00:00
Enrico Tröger
22d96653da Rename hidden pref auto_complete_whilst_editing to complete_snippets_whilst_editing.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2269 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-21 15:51:50 +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
6413fdb2bf Add hidden preference to disable scrolling past end of document.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2260 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-15 16:34:30 +00:00
Nick Treleaven
6eceb83d41 Make 'Open Selected File' first try the current file's directory,
falling back to the project base path if no file was found.
Add editor_get_default_selection() from get_default_text() in
search.c, to get the current selection or current word.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2172 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-14 17:30:59 +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
Enrico Tröger
de8caa6055 Remove obsolete SVNdiff plugin, use the VC Diff plugin.
Add option for amount of characters to trigger symbol completion.
Add document_find_by_filename to the plugin API.		


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2084 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-01 17:53:36 +00:00
Enrico Tröger
97aa254f9d Forgot to commit, sorry.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2045 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-12 09:36:25 +00:00
Nick Treleaven
5f688c6294 Apply patch from Catalin Marinas to add a 'newline strips trailing
spaces' pref (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1956 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-18 11:52:47 +00:00
Nick Treleaven
a2589f87fa Add Indent Type option in the Document menu.
Add 'Detect from file' Editor indentation pref.
Show TAB or SP for current document's indent type.
Minor editing of Document menu and editor Indentation prefs group.
Use GString for statusbar statistics.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1953 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-17 12:27:07 +00:00
Nick Treleaven
5282ddbeb2 Fix bug with 'Delete lines' when cursor is at the start of a
multi-line selection.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1898 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-24 11:25:41 +00:00
Nick Treleaven
001cc916b4 Allow autocompletion on a line with trailing whitespace.
Add auto_complete_whilst_editing hidden preference.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1875 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-12 12:08:07 +00:00
Nick Treleaven
5bb7a8ecd2 Add 'Current chars' indentation mode, rename 'Advanced' indentation
to 'Match braces' (closes #1726880).
For 'Match braces' indentation, if a brace could not be matched,
fall back to 'Current chars' indentation.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1836 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-29 15:14:07 +00:00
Nick Treleaven
fd161f582d Add hidden editor preference 'use_gtk_word_boundaries'.
Add docs appendix 'Hidden preferences'.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1834 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-28 15:45:54 +00:00
Nick Treleaven
b401b698ea Move file-related fields from EditorPrefs -> GeanyPrefs.
Rename line_breaking -> line_wrapping for EditorPrefs and document.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1823 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-24 16:20:33 +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
Enrico Tröger
f6f44f8917 Remove unused struct.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1813 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-21 17:43:42 +00:00
Nick Treleaven
9f46d083c5 Move #define PLAT_GTK to geany.h.
Move filetype typedef to geany.h.
Don't #include any src/*.h files from headers.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 15:37:21 +00:00
Nick Treleaven
47935f3b6d Make 'Delete current line' and 'Select current line' work for all
lines that have a selection.
Implement 'Copy current line'.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1782 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 11:29:37 +00:00
Nick Treleaven
70cd941345 Add filetypes, editor_prefs fields to plugin API.
Wrap scintilla_send_message(), sci_cmd(), lookup_widget().
Apply patch from Jeff Pohlmeyer to add more common scintilla wrappers
to the plugin API (thanks).
Increment plugin ABI version.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1768 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-03 15:05:53 +00:00
Enrico Tröger
628331a85b Rename editor_auto_forif() in editor_auto_complete().
Allow using auto completion in PHP files outside of the PHP tags, generally in comments, for news files without filetype and on non-empty lines.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1754 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-28 10:27:42 +00:00
Enrico Tröger
34a760d549 Add keybinding for scroll to current line.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1719 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-17 16:27:49 +00:00
Enrico Tröger
3bcd10b0d8 Add keybindings for smart indent and indent/deindent by one space.
Fix possible selection errors on commenting multiple lines when using CR/LF line endings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1705 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-16 15:42:12 +00:00
Nick Treleaven
8743d2f994 Apply patch from Jeff Pohlmeyer to add a preference for whether to
use 'smart' home key behaviour (thanks).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1695 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-12 15:44:13 +00:00
Enrico Tröger
7b99a9f325 Add keybinding for Select, Transpose, Cut, Copy and Delete line.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1674 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-07 15:12:13 +00:00
Enrico Tröger
a707774d52 Add keybinding for select current paragraph.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1669 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-06 10:16:51 +00:00
Enrico Tröger
1db1865319 Change comment toggle shortcut to Ctrl-E, undefine shortcuts for comment/uncomment.
Improve some selection issues when using comment/uncomment.
Improve comment toggling by adding an additional character to mark.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1668 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-05 18:19:56 +00:00
Enrico Tröger
80918e9f03 Add option to set a default encoding when opening files and disable auto detection of the file encoding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1641 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-26 15:41:27 +00:00