- setRegexE :: SearchExp -> EditorM ()
- resetRegexE :: EditorM ()
- getRegexE :: EditorM (Maybe SearchExp)
- type SearchMatch = Region
- data SearchResult
- data SearchOption
- doSearch :: Maybe String -> [SearchOption] -> Direction -> EditorM SearchResult
- searchInit :: String -> Direction -> [SearchOption] -> EditorM (SearchExp, Direction)
- continueSearch :: (SearchExp, Direction) -> BufferM SearchResult
- searchReplaceRegionB :: String -> String -> Region -> BufferM Int
- searchReplaceSelectionB :: String -> String -> BufferM Int
- replaceString :: String -> String -> BufferM Int
- searchAndRepRegion :: String -> String -> Bool -> Region -> EditorM Bool
- searchAndRepUnit :: String -> String -> Bool -> TextUnit -> EditorM Bool
- isearchInitE :: Direction -> EditorM ()
- isearchIsEmpty :: EditorM Bool
- isearchAddE :: String -> EditorM ()
- isearchPrevE :: EditorM ()
- isearchNextE :: EditorM ()
- isearchWordE :: EditorM ()
- isearchHistory :: Int -> EditorM ()
- isearchDelE :: EditorM ()
- isearchCancelE :: EditorM ()
- isearchFinishE :: EditorM ()
- qrNext :: Window -> BufferRef -> SearchExp -> EditorM ()
- qrReplaceAll :: Window -> BufferRef -> SearchExp -> String -> EditorM ()
- qrReplaceOne :: Window -> BufferRef -> SearchExp -> String -> EditorM ()
- qrFinish :: EditorM ()
Global searching. Search for regex and move point to that position.
Nothing means reuse the last regular expression.
Just s means use
s as the new regular expression. Direction of search can be
specified as either
Forward (forwards in the buffer).
Arguments to modify the compiled regular expression can be supplied
Compile for matching that ignores char case
Compile for newline-insensitive matching
Treat the input not as a regex but as a literal string to search for.
Set up a search.
Do a search, placing cursor at first char of pattern, if found. Keymaps may implement their own regex language. How do we provide for this? Also, what's happening with ^ not matching sol?
The String to search for
The String to replace it with
The region to perform this over
|-> BufferM Int|
Search and Replace all within the current region. Note the region is the final argument since we might perform the same search and replace over multiple regions however we are unlikely to perform several search and replaces over the same region since the first such may change the bounds of the region.
Peform a search and replace on the selection
Replace a string by another everywhere in the document
Search and replace in the region defined by the given unit.
The rest is as in
Find the next match and select it. Point is end, mark is beginning.
Replace all the remaining occurrences.