[WIP] Replace in project (#2984)
Targeting Preview of 09.27. This is still pending several touchups/clearups: - We should watch multibuffer for changes and rescan the excerpts. This should also update match count. - Closing editor while multibuffer with 100's of changed files is open leads to us prompting for save once per each file in the multibuffer. One could in theory save in multibuffer before closing it (thus avoiding unnecessary prompts), but it'd be cool to be able to "Save all"/"Discard All". Release Notes: - Added "Replace in project" functionality
This commit is contained in:
parent
d090fd25e4
commit
dbfa1d7263
4 changed files with 205 additions and 20 deletions
|
@ -231,7 +231,16 @@ impl SearchQuery {
|
|||
}
|
||||
}
|
||||
}
|
||||
pub fn replacement<'a>(&self, text: &'a str) -> Option<Cow<'a, str>> {
|
||||
/// Returns the replacement text for this `SearchQuery`.
|
||||
pub fn replacement(&self) -> Option<&str> {
|
||||
match self {
|
||||
SearchQuery::Text { replacement, .. } | SearchQuery::Regex { replacement, .. } => {
|
||||
replacement.as_deref()
|
||||
}
|
||||
}
|
||||
}
|
||||
/// Replaces search hits if replacement is set. `text` is assumed to be a string that matches this `SearchQuery` exactly, without any leftovers on either side.
|
||||
pub fn replacement_for<'a>(&self, text: &'a str) -> Option<Cow<'a, str>> {
|
||||
match self {
|
||||
SearchQuery::Text { replacement, .. } => replacement.clone().map(Cow::from),
|
||||
SearchQuery::Regex {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue