ifNotIn function

CompletionSource ifNotIn(
  1. List<String> nodes,
  2. CompletionSource source
)

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);
  };
}