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>
|
2023-03-26 06:00:30 +00:00
|
|
|
|
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";
|
2020-04-30 07:22:28 +00:00
|
|
|
|
|
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>
|
2020-04-30 07:22:28 +00:00
|
|
|
|
public static bool IsDotNet(string language)
|
|
|
|
|
|
{
|
2022-10-23 09:05:12 +00:00
|
|
|
|
return language.Equals(CSharp, StringComparison.OrdinalIgnoreCase)
|
2025-04-29 02:16:42 +00:00
|
|
|
|
|| 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);
|
2020-04-30 07:22:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
{
|
2020-04-30 07:22:28 +00:00
|
|
|
|
return IsDotNet(language)
|
2025-04-29 02:16:42 +00:00
|
|
|
|
|| IsPython(language)
|
|
|
|
|
|
|| IsNodeJs(language)
|
|
|
|
|
|
|| IsExecutable(language);
|
2013-12-20 11:38:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2022-08-09 00:35:38 +00:00
|
|
|
|
}
|