in Backend/Core/ForTea.Core/Psi/Directives/T4DirectiveInfoManager.cs [45:70]
public static DirectiveInfo GetDirectiveByName([CanBeNull] string directiveName) =>
string.IsNullOrEmpty(directiveName)
? null
: AllDirectives.FirstOrDefault(di => di.Name.Equals(directiveName, StringComparison.OrdinalIgnoreCase));
public static PsiLanguageType GetLanguageType([CanBeNull] IT4File file)
{
string name = file
?.Blocks
.OfType<IT4TemplateDirective>()
.FirstOrDefault()
?.GetFirstAttribute(Template.LanguageAttribute)
?.Value
?.GetText();
switch (name)
{
case null:
case LanguageAttributeInfo.CSharpLanguageAttributeValue:
case LanguageAttributeInfo.NewCSharpLanguageAttributeValue:
return CSharpLanguage.Instance;
case LanguageAttributeInfo.VBLanguageAttributeValue:
return VBLanguage.Instance;
default:
return UnknownLanguage.Instance;
}
}