summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util')
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs36
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs66
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs12
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs25
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs.meta11
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs20
-rw-r--r--Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs.meta11
10 files changed, 214 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs
new file mode 100644
index 0000000..4d4d3c9
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs
@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+
+namespace Packages.Rider.Editor.Util
+{
+ public class CommandLineParser
+ {
+ public Dictionary<string, string> Options = new Dictionary<string, string>();
+
+ public CommandLineParser(string[] args)
+ {
+ var i = 0;
+ while (i < args.Length)
+ {
+ var arg = args[i];
+ if (!arg.StartsWith("-"))
+ {
+ i++;
+ continue;
+ }
+
+ string value = null;
+ if (i + 1 < args.Length && !args[i + 1].StartsWith("-"))
+ {
+ value = args[i + 1];
+ i++;
+ }
+
+ if (!(Options.ContainsKey(arg)))
+ {
+ Options.Add(arg, value);
+ }
+ i++;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs.meta b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs.meta
new file mode 100644
index 0000000..409ea02
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/CommandLineParser.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 154ace4bd16de9f4e84052ac257786d6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs
new file mode 100644
index 0000000..1ee32cc
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs
@@ -0,0 +1,66 @@
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Text;
+using JetBrains.Annotations;
+using UnityEngine;
+
+namespace Packages.Rider.Editor.Util
+{
+ public static class FileSystemUtil
+ {
+ [NotNull]
+ public static string GetFinalPathName([NotNull] string path)
+ {
+ if (path == null) throw new ArgumentNullException("path");
+
+ // up to MAX_PATH. MAX_PATH on Linux currently 4096, on Mac OS X 1024
+ // doc: http://man7.org/linux/man-pages/man3/realpath.3.html
+ var sb = new StringBuilder(8192);
+ var result = LibcNativeInterop.realpath(path, sb);
+ if (result == IntPtr.Zero)
+ {
+ throw new Win32Exception($"{path} was not resolved.");
+ }
+
+ return new FileInfo(sb.ToString()).FullName;
+ }
+
+ public static string FileNameWithoutExtension(string path)
+ {
+ if (string.IsNullOrEmpty(path))
+ {
+ return "";
+ }
+
+ var indexOfDot = -1;
+ var indexOfSlash = 0;
+ for (var i = path.Length - 1; i >= 0; i--)
+ {
+ if (indexOfDot == -1 && path[i] == '.')
+ {
+ indexOfDot = i;
+ }
+
+ if (indexOfSlash == 0 && path[i] == '/' || path[i] == '\\')
+ {
+ indexOfSlash = i + 1;
+ break;
+ }
+ }
+
+ if (indexOfDot == -1)
+ {
+ indexOfDot = path.Length;
+ }
+
+ return path.Substring(indexOfSlash, indexOfDot - indexOfSlash);
+ }
+
+ public static bool EditorPathExists(string editorPath)
+ {
+ return SystemInfo.operatingSystemFamily == OperatingSystemFamily.MacOSX && new DirectoryInfo(editorPath).Exists
+ || SystemInfo.operatingSystemFamily != OperatingSystemFamily.MacOSX && new FileInfo(editorPath).Exists;
+ }
+ }
+} \ No newline at end of file
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs.meta b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs.meta
new file mode 100644
index 0000000..caac41a
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/FileSystemUtil.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bdbd564a9fdad0b738e76d030cad1204
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs
new file mode 100644
index 0000000..5f023f9
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace Packages.Rider.Editor.Util
+{
+ internal static class LibcNativeInterop
+ {
+ [DllImport("libc", SetLastError = true)]
+ public static extern IntPtr realpath(string path, StringBuilder resolved_path);
+ }
+} \ No newline at end of file
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs.meta b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs.meta
new file mode 100644
index 0000000..21b229d
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/LibcNativeInterop.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 071c17858dc6c47ada7b2a1f1ded5402
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs
new file mode 100644
index 0000000..1909342
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs
@@ -0,0 +1,25 @@
+using JetBrains.Annotations;
+using Packages.Rider.Editor;
+using Unity.CodeEditor;
+
+// Is called via commandline from Rider Notification after checking out from source control.
+
+// ReSharper disable once CheckNamespace
+namespace JetBrains.Rider.Unity.Editor
+{
+ public static class RiderMenu
+ {
+ [UsedImplicitly]
+ public static void MenuOpenProject()
+ {
+ if (RiderScriptEditor.IsRiderInstallation(RiderScriptEditor.CurrentEditor))
+ {
+ // Force the project files to be sync
+ CodeEditor.CurrentEditor.SyncAll();
+
+ // Load Project
+ CodeEditor.CurrentEditor.OpenProject();
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs.meta b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs.meta
new file mode 100644
index 0000000..ab43887
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/RiderMenu.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a8860c53ca4073d4f92c403e709c12ba
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs
new file mode 100644
index 0000000..de03492
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Linq;
+using UnityEngine;
+
+namespace Packages.Rider.Editor.Util
+{
+ public static class UnityUtils
+ {
+ internal static readonly string UnityApplicationVersion = Application.unityVersion;
+
+ public static Version UnityVersion
+ {
+ get
+ {
+ var ver = UnityApplicationVersion.Split(".".ToCharArray()).Take(2).Aggregate((a, b) => a + "." + b);
+ return new Version(ver);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs.meta b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs.meta
new file mode 100644
index 0000000..fe2ac7b
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.rider@1.1.4/Rider/Editor/Util/UnityUtils.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3ec9edad2de6c4df3a146b543a0fbc4c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: