private static IEnumerable <Completion> GetColumnCompletions([NotNull] IDataSourceDescriptor source) { return (source.Columns.SelectMany(c => new[] { new Completion($"{c.Name}", $"[{c.Name}]", c.Description, CompletionSource.Column, "column") })); }
/// <summary> /// Sets the source descriptor for this statement. /// </summary> /// <param name="sourceAlias"> /// The source alias. /// </param> /// <param name="descriptor"> /// The descriptor. /// </param> public void SetSource(string sourceAlias, IDataSourceDescriptor descriptor) { if (this.context.NodeData.TryGet(this.statements.Last(), "Context", out IParserContext nodeContext)) { this.sources.Add( new SerializableDataSourceDescriptorRange { Start = this.tokens[nodeContext.Start.TokenIndex].Start, End = this.tokens[nodeContext.End.TokenIndex].End, DataSource = new SerializableDataSourceDescriptor(descriptor), }); } }
/// <summary> /// Initializes a new instance of the <see cref="SerializableDataSourceDescriptor"/> class. /// </summary> /// <param name="source"> /// The source. /// </param> public SerializableDataSourceDescriptor([NotNull] IDataSourceDescriptor source) { this.Alias = source.Alias; this.AllowsAnyColumnName = source.AllowsAnyColumnName; this.Columns = source.Columns.Select(c => new SerializableColumnDescriptor(c)).ToArray(); }