protected internal override void VisitDirectiveName(DirectiveName node) { base.VisitDirectiveName(node); if (node.Span.Start <= this.position && this.position <= node.Span.End) { this.Completions = DirectiveDescriptor.GetBuiltInDirectives() .Where(descriptor => !string.IsNullOrEmpty(descriptor.DisplayName)) // Skip custom directives .Select(CreateDirectiveCompletion) .ToList(); this.Node = node; } }