Flow.Launcher/Flow.Launcher.Plugin/AllowedLanguage.cs

120 lines
3.6 KiB
C#
Raw Normal View History

2022-09-01 02:34:47 +00:00
using System;
namespace Flow.Launcher.Plugin
2013-12-20 11:38:10 +00:00
{
2022-08-09 23:38:43 +00:00
/// <summary>
/// Allowed plugin languages
/// </summary>
2013-12-20 11:38:10 +00:00
public static class AllowedLanguage
{
2022-08-09 23:38:43 +00:00
/// <summary>
/// Python
/// </summary>
2022-10-23 09:05:12 +00:00
public const string Python = "Python";
2023-11-04 02:16:51 +00:00
2022-09-01 02:34:47 +00:00
/// <summary>
/// Python V2
/// </summary>
public const string PythonV2 = "Python_v2";
2013-12-20 11:38:10 +00:00
2022-08-09 23:38:43 +00:00
/// <summary>
/// C#
/// </summary>
2022-10-23 09:05:12 +00:00
public const string CSharp = "CSharp";
2013-12-20 11:38:10 +00:00
2022-08-09 23:38:43 +00:00
/// <summary>
/// F#
/// </summary>
2022-10-23 09:05:12 +00:00
public const string FSharp = "FSharp";
2022-08-09 23:38:43 +00:00
/// <summary>
/// Standard .exe
/// </summary>
2022-10-23 09:05:12 +00:00
public const string Executable = "Executable";
2023-11-04 02:16:51 +00:00
/// <summary>
/// Standard .exe
/// </summary>
public const string ExecutableV2 = "Executable_V2";
2022-10-23 09:05:12 +00:00
/// <summary>
/// TypeScript
/// </summary>
public const string TypeScript = "TypeScript";
2023-11-04 02:16:51 +00:00
/// <summary>
/// TypeScript
/// </summary>
public const string TypeScriptV2 = "TypeScript_V2";
2022-10-23 09:05:12 +00:00
/// <summary>
/// JavaScript
/// </summary>
public const string JavaScript = "JavaScript";
2014-07-05 15:10:34 +00:00
2023-11-04 02:16:51 +00:00
/// <summary>
/// JavaScript
/// </summary>
public const string JavaScriptV2 = "JavaScript_V2";
2022-08-09 23:38:43 +00:00
/// <summary>
/// Determines if this language is a .NET language
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
public static bool IsDotNet(string language)
{
2022-10-23 09:05:12 +00:00
return language.Equals(CSharp, StringComparison.OrdinalIgnoreCase)
|| language.Equals(FSharp, StringComparison.OrdinalIgnoreCase);
}
/// <summary>
/// Determines if this language is a Python language
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
public static bool IsPython(string language)
{
return language.Equals(Python, StringComparison.OrdinalIgnoreCase)
|| language.Equals(PythonV2, StringComparison.OrdinalIgnoreCase);
}
/// <summary>
/// Determines if this language is a Node.js language
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
public static bool IsNodeJs(string language)
{
return language.Equals(TypeScript, StringComparison.OrdinalIgnoreCase)
|| language.Equals(TypeScriptV2, StringComparison.OrdinalIgnoreCase)
|| language.Equals(JavaScript, StringComparison.OrdinalIgnoreCase)
|| language.Equals(JavaScriptV2, StringComparison.OrdinalIgnoreCase);
}
/// <summary>
/// Determines if this language is a executable language
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
public static bool IsExecutable(string language)
{
return language.Equals(Executable, StringComparison.OrdinalIgnoreCase)
|| language.Equals(ExecutableV2, StringComparison.OrdinalIgnoreCase);
}
2022-08-09 23:38:43 +00:00
/// <summary>
/// Determines if this language is supported
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
2013-12-20 11:38:10 +00:00
public static bool IsAllowed(string language)
{
return IsDotNet(language)
|| IsPython(language)
|| IsNodeJs(language)
|| IsExecutable(language);
2013-12-20 11:38:10 +00:00
}
}
}