Add support for defining known externals with their own custom completions (#4425)

* WIP for known externals

* Now completions can work from scripts

* Add support for definiing externs

* finish cleaning up old proof-of-concept
This commit is contained in:
JT
2022-02-11 13:38:10 -05:00
committed by GitHub
parent a767fa369c
commit a16e485cce
16 changed files with 331 additions and 225 deletions

View File

@ -53,4 +53,28 @@ impl Call {
pub fn nth(&self, pos: usize) -> Option<Expression> {
self.positional.get(pos).cloned()
}
pub fn span(&self) -> Span {
let mut span = self.head;
for positional in &self.positional {
if positional.span.end > span.end {
span.end = positional.span.end;
}
}
for (named, val) in &self.named {
if named.span.end > span.end {
span.end = named.span.end;
}
if let Some(val) = &val {
if val.span.end > span.end {
span.end = val.span.end;
}
}
}
span
}
}