about summary refs log tree commit diff
path: root/IrcStates/ISupportPrefix.cs
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2020-05-14 02:10:04 -0400
committerBen Harris <ben@tilde.team>2020-05-14 02:10:04 -0400
commita0fbcf83c57d15bf4bbdd2f18a8b8d539e3e4a1a (patch)
tree2399e5b4f920a10917451069d808cfc4d2eb259b /IrcStates/ISupportPrefix.cs
parent023e29ab75f1f413f918346edaddafdf8b1df5ee (diff)
Implement lots of things
Diffstat (limited to 'IrcStates/ISupportPrefix.cs')
-rw-r--r--IrcStates/ISupportPrefix.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/IrcStates/ISupportPrefix.cs b/IrcStates/ISupportPrefix.cs
index b535212..fb5114b 100644
--- a/IrcStates/ISupportPrefix.cs
+++ b/IrcStates/ISupportPrefix.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Globalization;
+using System.Linq;
 
 namespace IrcStates
 {
@@ -11,8 +12,10 @@ namespace IrcStates
             if (splitVal == null) throw new ArgumentNullException(nameof(splitVal));
 
             var split = splitVal.Substring(1).Split(')', 2);
-            Modes    = new List<string> {split[0]};
-            Prefixes = new List<string> {split[1]};
+            Modes = new List<string>();
+            Modes.AddRange(split[0].Select(c => c.ToString(CultureInfo.InvariantCulture)));
+            Prefixes = new List<string>();
+            Prefixes.AddRange(split[1].Select(c => c.ToString(CultureInfo.InvariantCulture)));
         }
 
         public List<string> Modes { get; set; }
@@ -22,9 +25,10 @@ namespace IrcStates
         {
             return FromMode(mode.ToString(CultureInfo.InvariantCulture));
         }
+
         public string FromMode(string mode)
         {
-            return Modes.Contains(mode) ? Modes[Modes.IndexOf(mode)] : null;
+            return Modes.Contains(mode) ? Prefixes[Modes.IndexOf(mode)] : null;
         }
 
         public string FromPrefix(char prefix)
@@ -34,7 +38,7 @@ namespace IrcStates
 
         public string FromPrefix(string prefix)
         {
-            return Prefixes.Contains(prefix) ? Prefixes[Prefixes.IndexOf(prefix)] : null;
+            return Prefixes.Contains(prefix) ? Modes[Prefixes.IndexOf(prefix)] : null;
         }
     }
 }