Files
godot-csharp-visualstudio/GodotCompletionProviders/SignalNameCompletionProvider.cs
Ignacio Etcheverry 9c0de9611b Initial commit
2020-06-13 13:40:06 +02:00

24 lines
1.3 KiB
C#

using System.Collections.Generic;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Completion;
namespace GodotCompletionProviders
{
[ExportCompletionProvider(nameof(SignalNameCompletionProvider), LanguageNames.CSharp)]
public class SignalNameCompletionProvider : SpecificInvocationCompletionProvider
{
private static readonly IEnumerable<ExpectedInvocation> ExpectedInvocations = new[]
{
new ExpectedInvocation {MethodContainingType = GodotObjectType, MethodName = "Connect", ArgumentIndex = 0, ArgumentTypes = StringTypes},
new ExpectedInvocation {MethodContainingType = GodotObjectType, MethodName = "Disconnect", ArgumentIndex = 0, ArgumentTypes = StringTypes},
new ExpectedInvocation {MethodContainingType = GodotObjectType, MethodName = "IsConnected", ArgumentIndex = 0, ArgumentTypes = StringTypes},
new ExpectedInvocation {MethodContainingType = GodotObjectType, MethodName = "EmitSignal", ArgumentIndex = 0, ArgumentTypes = StringTypes},
new ExpectedInvocation {MethodContainingType = GodotObjectType, MethodName = "ToSignal", ArgumentIndex = 1, ArgumentTypes = StringTypes},
};
public SignalNameCompletionProvider() : base(ExpectedInvocations, CompletionKind.Signals, "Signal")
{
}
}
}