ifNotIn function
Implementation
CompletionSource ifNotIn(List<String> nodes, CompletionSource source) {
return (CompletionContext context) {
for (var pos = syntaxTree(context.state).resolveInner(context.pos, -1); ; ) {
if (nodes.contains(pos.type.name)) return null;
if (pos.type.isTop) break;
final parent = pos.parent;
if (parent == null) break;
pos = parent;
}
return source(context);
};
}