38 Commits

Author SHA1 Message Date
Colomban Wendling
5412a244ba Fix crash with bulk pattern replacements (introduced with c83a93e)
"regex_match_text" and "regex_matches" being globals, performing
several searches and then the replacements separately lead to them
having unexpected values, resulting in incorrect behavior and crash.

Fix this by removing the globals and instead make the search functions
return match details.  Not only this fixes the issue, but also make the
code a lot more maintainable by not having globals introducing side
effects (proof of them being an issue is that c83a93e inadvertently
broke things bad).
2013-04-13 17:06:47 +02:00
Nick Treleaven
4fcce9cc00 Add symbol list Find in Files popup menu item 2013-03-25 15:57:56 +00: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
Dimitar Zhekov
4ffbd8f9ad split "always wrap search and hide find dialog" pref into "always wrap search" and "hide find dialog" 2011-12-05 21:54:38 +01:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Colomban Wendling
6f9d845181 In messages show the actual text user entered in Find and Replace dialogs
Previously we could put into a message a string where escape sequences
were already translated.

In the code, now we pass the original text together with the one
that is actually searched for.  New `original_text' field was added to
GeanySearchData.  A bug was fixed in document.c:show_replace_summary(): it
did not escape the "No matches found for ..." string.

Patch by Eugene Arshinov, thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5832 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-03 13:40:42 +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
df6d46d345 Add hidden pref 'find_selection_type' with option to repeat last
search when there's no selection.
Change default Find Selection behaviour to not let the X selection
override the current word (can be confusing).
Add docs for Find Selection commands.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5253 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-23 12:22:44 +00:00
Nick Treleaven
ab673d22fd Move find_again() to search.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5246 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-21 16:16:15 +00:00
Nick Treleaven
bf09ed5c48 Fix replacing {filename} template wildcard for custom file
templates with non-default file extension.
Add search_find_text() for POSIX regex searches.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4873 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-05-05 12:50:59 +00:00
Nick Treleaven
17ad8ba1b8 Move search_replace_range() to search.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/gnu-regex@4740 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-08 13:28:04 +00:00
Nick Treleaven
f96c3d1a00 Move new regex code to search.c: search_find_next(),
search_replace_target().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/gnu-regex@4720 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-02 13:21:41 +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
Nick Treleaven
aa18efe5be Add missing dox for types/files in the API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4365 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-26 12:58:52 +00:00
Nick Treleaven
8c7f40f3f9 Add 'Mark All' keybinding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3949 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-10 15:17:27 +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
Nick Treleaven
640053e598 Add ui_hookup_widget() macro to the API.
Make saving Stash string settings NULL-safe.
Move fif_extra_options search setting code to search.c.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3428 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-28 17:25:09 +00:00
Nick Treleaven
a2cd1c4916 Move 2 search prefs to new Search tab of Preferences dialog.
Add new search pref: 'Use the current file's directory for Find in
Files' (#1930435).
Add PrefEntry struct which is used for an array containing widget
names to lookup; currently only used for 3 search-related
GtkToggleButton prefs.
Add SettingEntry struct which is used for an array containing keyfile
key and group information; currently only used for 3 search-related
gboolean settings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2724 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-25 11:56:58 +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
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
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
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
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
c27e9b54c6 Add search_show_find_in_files_dialog() to the plugin API.
Make path entry of filebrowser plugin editable.
Add "Open with" and "Find in Files" popup menu items to filebrowser  plugin and add configuration dialog.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2085 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-02 10:52:19 +00:00
Enrico Tröger
9ff36c9a18 Also change background colour of search bar when using find next/previous after using the search bar.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1692 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-11 17:44:43 +00:00
Nick Treleaven
1545968ce3 Save FIF extra options string in the keyfile.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1451 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-04-15 15:59:57 +00:00
Nick Treleaven
e8a22dee62 Applied patch from Jeff Pohlmeyer to add 'Find Selected' and
'Find Prev Selected' Search commands and keybindings (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1222 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-23 17:51:30 +00:00
Enrico Tröger
7b61ad934d Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Nick Treleaven
bf7dae9c6a Add Find Previous, Find All in File/Session buttons to the Find
dialog.
Move Find Usage code from on_find_usage1_activate to search.c.
Add ui_button_new_with_image(), ui_hbutton_box_copy_layout().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@951 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-01 15:26:41 +00:00
Nick Treleaven
a2c0d34c58 Add whole word only matching option for Find in Files.
Add fixed string matching option for Find in Files.
Make fixed string, case sensitive matching default for efficiency.
Sort filenames passed to Grep alphabetically.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@825 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-09-20 11:03:33 +00:00
Nick Treleaven
a9873e040c Add info to file header text
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@748 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-20 11:54:33 +00:00
Nick Treleaven
7ebb187b26 Store build information instead of using app->cur_idx; Assume C-like warning messages when running make when the current file is a Makefile; Moved some msgwin setup and cleanup code to msgwindow.c; Moved utils_parse_compiler_error_line to msgwindow.c
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@714 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-14 15:02:52 +00:00
Nick Treleaven
5d82a9b942 Group search related code
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@699 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-11 21:41:05 +00:00
Nick Treleaven
f75fd1402a Group search related code
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@698 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-11 21:12:49 +00:00
Enrico Tröger
85af83f6ae Added some options to the Find in files dialog, made search directory editable.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@647 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-28 18:37:32 +00:00
Nick Treleaven
1c8d62ed5d Added basic Find in files search functionality.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@551 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-13 14:30:44 +00:00