org.gjt.sp.jedit.search
Class SearchAndReplace

java.lang.Object
  extended byorg.gjt.sp.jedit.search.SearchAndReplace

public class SearchAndReplace
extends java.lang.Object

Class that implements regular expression and literal search within jEdit buffers.

There are two main groups of methods in this class:

The "HyperSearch" and "Keep dialog" features, as reflected in checkbox options in the search dialog, are not handled from within this class. If you wish to have these options set before the search dialog appears, make a prior call to either or both of the following:
 jEdit.setBooleanProperty("search.hypersearch.toggle",true);
 jEdit.setBooleanProperty("search.keepDialog.toggle",true);
If you are not using the dialog to undertake a search or replace, you may call any of the search and replace methods (including hyperSearch(View)) without concern for the value of these properties.

Version:
$Id: SearchAndReplace.java,v 1.64 2004/08/08 03:41:34 spestov Exp $
Author:
Slava Pestov, John Gellene (API documentation)

Constructor Summary
SearchAndReplace()
           
 
Method Summary
static boolean find(View view)
          Finds the next occurance of the search string.
static boolean find(View view, Buffer buffer, int start)
          Finds the next instance of the search string in the specified buffer.
static boolean find(View view, Buffer buffer, int start, boolean firstTime, boolean reverse)
          Finds the next instance of the search string in the specified buffer.
static boolean getAutoWrapAround()
          Returns the state of the auto wrap around flag.
static boolean getBeanShellReplace()
          Returns the state of the BeanShell replace flag.
static boolean getIgnoreCase()
          Returns the state of the ignore case flag.
static boolean getRegexp()
          Returns the state of the regular expression flag.
static java.lang.String getReplaceString()
          Returns the current replacement string.
static boolean getReverseSearch()
          Returns the state of the reverse search flag.
static SearchFileSet getSearchFileSet()
          Returns the current search file set.
static SearchMatcher getSearchMatcher()
          Returns the current search string matcher.
static java.lang.String getSearchString()
          Returns the current search string.
static boolean getSmartCaseReplace()
          Returns if the replacement string will assume the same case as each specific occurrence of the search string.
static boolean hyperSearch(View view)
          Performs a HyperSearch.
static boolean hyperSearch(View view, boolean selection)
          Performs a HyperSearch.
static void load()
          Loads search and replace state from the properties.
static boolean replace(View view)
          Replaces the current selection with the replacement string.
static boolean replace(View view, Buffer buffer, int start, int end)
          Replaces text in the specified range with the replacement string.
static boolean replaceAll(View view)
          Replaces all occurances of the search string with the replacement string.
static void save()
          Saves search and replace state to the properties.
static void setAutoWrapAround(boolean wrap)
          Sets the state of the auto wrap around flag.
static void setBeanShellReplace(boolean beanshell)
          Sets the state of the BeanShell replace flag.
static void setIgnoreCase(boolean ignoreCase)
          Sets the ignore case flag.
static void setRegexp(boolean regexp)
          Sets the state of the regular expression flag.
static void setReplaceString(java.lang.String replace)
          Sets the current replacement string.
static void setReverseSearch(boolean reverse)
          Determines whether a reverse search will conducted from the current position to the beginning of a buffer.
static void setSearchFileSet(SearchFileSet fileset)
          Sets the current search file set.
static void setSearchMatcher(SearchMatcher matcher)
          Sets a custom search string matcher.
static void setSearchString(java.lang.String search)
          Sets the current search string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearchAndReplace

public SearchAndReplace()
Method Detail

setSearchString

public static void setSearchString(java.lang.String search)
Sets the current search string.

Parameters:
search - The new search string

getSearchString

public static java.lang.String getSearchString()
Returns the current search string.


setReplaceString

public static void setReplaceString(java.lang.String replace)
Sets the current replacement string.

Parameters:
replace - The new replacement string

getReplaceString

public static java.lang.String getReplaceString()
Returns the current replacement string.


setIgnoreCase

public static void setIgnoreCase(boolean ignoreCase)
Sets the ignore case flag.

Parameters:
ignoreCase - True if searches should be case insensitive, false otherwise

getIgnoreCase

public static boolean getIgnoreCase()
Returns the state of the ignore case flag.

Returns:
True if searches should be case insensitive, false otherwise

setRegexp

public static void setRegexp(boolean regexp)
Sets the state of the regular expression flag.

Parameters:
regexp - True if regular expression searches should be performed

getRegexp

public static boolean getRegexp()
Returns the state of the regular expression flag.

Returns:
True if regular expression searches should be performed

setReverseSearch

public static void setReverseSearch(boolean reverse)
Determines whether a reverse search will conducted from the current position to the beginning of a buffer. Note that reverse search and regular expression search is mutually exclusive; enabling one will disable the other.

Parameters:
reverse - True if searches should go backwards, false otherwise

getReverseSearch

public static boolean getReverseSearch()
Returns the state of the reverse search flag.

Returns:
True if searches should go backwards, false otherwise

setBeanShellReplace

public static void setBeanShellReplace(boolean beanshell)
Sets the state of the BeanShell replace flag.

Parameters:
beanshell - True if the replace string is a BeanShell expression
Since:
jEdit 3.2pre2

getBeanShellReplace

public static boolean getBeanShellReplace()
Returns the state of the BeanShell replace flag.

Returns:
True if the replace string is a BeanShell expression
Since:
jEdit 3.2pre2

setAutoWrapAround

public static void setAutoWrapAround(boolean wrap)
Sets the state of the auto wrap around flag.

Parameters:
wrap - If true, the 'continue search from start' dialog will not be displayed
Since:
jEdit 3.2pre2

getAutoWrapAround

public static boolean getAutoWrapAround()
Returns the state of the auto wrap around flag.

Since:
jEdit 3.2pre2

setSearchMatcher

public static void setSearchMatcher(SearchMatcher matcher)
Sets a custom search string matcher. Note that calling setSearchString(String), setIgnoreCase(boolean), or setRegexp(boolean) will reset the matcher to the default.


getSearchMatcher

public static SearchMatcher getSearchMatcher()
                                      throws java.lang.Exception
Returns the current search string matcher.

Throws:
java.lang.IllegalArgumentException - if regular expression search is enabled, the search string or replacement string is invalid
java.lang.Exception
Since:
jEdit 4.1pre7

setSearchFileSet

public static void setSearchFileSet(SearchFileSet fileset)
Sets the current search file set.

Parameters:
fileset - The file set to perform searches in
See Also:
AllBufferSet, CurrentBufferSet, DirectoryListSet

getSearchFileSet

public static SearchFileSet getSearchFileSet()
Returns the current search file set.


getSmartCaseReplace

public static boolean getSmartCaseReplace()
Returns if the replacement string will assume the same case as each specific occurrence of the search string.

Since:
jEdit 4.2pre10

hyperSearch

public static boolean hyperSearch(View view)
Performs a HyperSearch.

Parameters:
view - The view
Since:
jEdit 2.7pre3

hyperSearch

public static boolean hyperSearch(View view,
                                  boolean selection)
Performs a HyperSearch.

Parameters:
view - The view
selection - If true, will only search in the current selection. Note that the file set must be the current buffer file set for this to work.
Since:
jEdit 4.0pre1

find

public static boolean find(View view)
Finds the next occurance of the search string.

Parameters:
view - The view
Returns:
True if the operation was successful, false otherwise

find

public static boolean find(View view,
                           Buffer buffer,
                           int start)
                    throws java.lang.Exception
Finds the next instance of the search string in the specified buffer.

Parameters:
view - The view
buffer - The buffer
start - Location where to start the search
Throws:
java.lang.Exception

find

public static boolean find(View view,
                           Buffer buffer,
                           int start,
                           boolean firstTime,
                           boolean reverse)
                    throws java.lang.Exception
Finds the next instance of the search string in the specified buffer.

Parameters:
view - The view
buffer - The buffer
start - Location where to start the search
firstTime - See SearchMatcher.nextMatch(CharIndexed, boolean,boolean,boolean,boolean).
Throws:
java.lang.Exception
Since:
jEdit 4.1pre7

replace

public static boolean replace(View view)
Replaces the current selection with the replacement string.

Parameters:
view - The view
Returns:
True if the operation was successful, false otherwise

replace

public static boolean replace(View view,
                              Buffer buffer,
                              int start,
                              int end)
Replaces text in the specified range with the replacement string.

Parameters:
view - The view
buffer - The buffer
start - The start offset
end - The end offset
Returns:
True if the operation was successful, false otherwise

replaceAll

public static boolean replaceAll(View view)
Replaces all occurances of the search string with the replacement string.

Parameters:
view - The view

load

public static void load()
Loads search and replace state from the properties.


save

public static void save()
Saves search and replace state to the properties.