{-# OPTIONS_HADDOCK show-extensions #-}
module Yi.Search.Internal where
import Lens.Micro.Platform ((.=), use)
import Yi.Editor (EditorM, currentRegexA)
import Yi.Regex (SearchExp)
setRegexE :: SearchExp -> EditorM ()
setRegexE :: SearchExp -> EditorM ()
setRegexE SearchExp
re = (Maybe SearchExp -> Identity (Maybe SearchExp))
-> Editor -> Identity Editor
Lens' Editor (Maybe SearchExp)
currentRegexA ((Maybe SearchExp -> Identity (Maybe SearchExp))
-> Editor -> Identity Editor)
-> Maybe SearchExp -> EditorM ()
forall s (m :: * -> *) a b.
MonadState s m =>
ASetter s s a b -> b -> m ()
.= (SearchExp -> Maybe SearchExp
forall a. a -> Maybe a
Just SearchExp
re)
resetRegexE :: EditorM ()
resetRegexE :: EditorM ()
resetRegexE = (Maybe SearchExp -> Identity (Maybe SearchExp))
-> Editor -> Identity Editor
Lens' Editor (Maybe SearchExp)
currentRegexA ((Maybe SearchExp -> Identity (Maybe SearchExp))
-> Editor -> Identity Editor)
-> Maybe SearchExp -> EditorM ()
forall s (m :: * -> *) a b.
MonadState s m =>
ASetter s s a b -> b -> m ()
.= Maybe SearchExp
forall a. Maybe a
Nothing
getRegexE :: EditorM (Maybe SearchExp)
getRegexE :: EditorM (Maybe SearchExp)
getRegexE = Getting (Maybe SearchExp) Editor (Maybe SearchExp)
-> EditorM (Maybe SearchExp)
forall s (m :: * -> *) a. MonadState s m => Getting a s a -> m a
use Getting (Maybe SearchExp) Editor (Maybe SearchExp)
Lens' Editor (Maybe SearchExp)
currentRegexA