-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
Consider the following screenshot:
What I want to do here is to jump to any of eprintln!s. So, I start typing ep. However, after I type e, there's a "jump char" p to jump to ident, so I end up in the wrong place.
It seems to me that, in the situation as above, after typing e, p shouldn't be considered as jump char.
Here's the above snippet as text:
fn go(
symbols: &Symbols,
curr: id::Mod,
path: ast::PathRef<'_>,
) -> Result<ModSymbol, Diagnostic> {
let curr = match path.qualifier() {
Some(qual) => go(symbols, curr, qual)?,
None => ModSymbol::Mod(curr),
};
eprintln!("path = {}", path);
eprintln!("curr = {:?}", curr);
let ident = match path.ident() {
Some(it) => it,
None => return Err(Diagnostic::InvalidSyntax),
};
let mod_ = match curr {
ModSymbol::Fun(_) => return Err(Diagnostic::BadPath { path: path.id() }),
ModSymbol::Mod(it) => it,
};
let name = symbols.source().add_name(ident.text());
symbols[mod_]
.scope
.get(&name)
.copied()
.ok_or_else(|| Diagnostic::UnresolvedReceiver { receiver: ident.id() })
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
