mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 16:31:18 +00:00
Tagging: Always search for full word under cursor that starts with an '@'
This commit is contained in:
parent
bb30c41573
commit
28786598a6
@ -398,18 +398,21 @@ fn real_posting_area(app: &mut GossipUi, ctx: &Context, frame: &mut eframe::Fram
|
||||
// debugging:
|
||||
// ui.label(format!("{}-{}", ccursor_range.primary.index,
|
||||
// ccursor_range.secondary.index));
|
||||
if ccursor_range.primary.index <= app.draft_data.draft.len() {
|
||||
let precursor = &app.draft_data.draft[0..ccursor_range.primary.index];
|
||||
if let Some(captures) = GLOBALS.tagging_regex.captures(precursor) {
|
||||
let cpos = ccursor_range.primary.index;
|
||||
if cpos <= app.draft_data.draft.len() {
|
||||
if let Some(captures) = GLOBALS.tagging_regex.captures(&app.draft_data.draft) {
|
||||
if let Some(mat) = captures.get(1) {
|
||||
// only search if this is not already a replacement
|
||||
if !app
|
||||
.draft_data
|
||||
.replacements
|
||||
.contains_key(&precursor[mat.start() - 1..mat.end()])
|
||||
{
|
||||
app.draft_data.tagging_search_substring =
|
||||
Some(mat.as_str().to_owned());
|
||||
// cursor must be within match
|
||||
if cpos >= mat.start() && cpos <= mat.end() {
|
||||
// only search if this is not already a replacement
|
||||
if !app
|
||||
.draft_data
|
||||
.replacements
|
||||
.contains_key(&app.draft_data.draft[mat.start() - 1..mat.end()])
|
||||
{
|
||||
app.draft_data.tagging_search_substring =
|
||||
Some(mat.as_str().to_owned());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ lazy_static! {
|
||||
ui_invalidate_all: AtomicBool::new(false),
|
||||
current_zap: PRwLock::new(ZapState::None),
|
||||
hashtag_regex: Regex::new(r"(?:^|\W)(#[\w\p{Extended_Pictographic}]+)(?:$|\W)").unwrap(),
|
||||
tagging_regex: Regex::new(r"(?:^|\s+)@([\w\p{Extended_Pictographic}]+)$").unwrap(),
|
||||
tagging_regex: Regex::new(r"(?:^|\s+)@([\w\p{Extended_Pictographic}]+)(?:$|\W)").unwrap(),
|
||||
storage,
|
||||
events_processed: AtomicU32::new(0),
|
||||
filter_engine,
|
||||
|
Loading…
Reference in New Issue
Block a user