diff UI.lua @ 87:e80723841888

- /dvn rc resets the current workspace channels and tags - slash command arguments handled by string.find - toggle command argument handling
author Nenue
date Tue, 26 Jul 2016 09:21:37 -0400
parents 80ad43c94033
children 7ff0579e5a6e
line wrap: on
line diff
--- a/UI.lua	Tue Jul 26 01:45:30 2016 -0400
+++ b/UI.lua	Tue Jul 26 09:21:37 2016 -0400
@@ -378,24 +378,33 @@
 --- Console frame toggler
 -- @paramsig [...]
 -- @param ... one or more space-seperated channel keys
-function D:Console_Toggle(input, force)
+function D:Console_Toggle(cmd, force)
+
+
+  local args = {}
+  if cmd then
+    cmd = tostring(cmd)
+    local i, j = 0, 0
+    repeat
+      i, j = cmd:find("%S+", j+1)
+      if i and j then
+        local key = cmd:sub(i, j)
+        if self.sig[key] then
+          --print(key, self.sigID[key])
+          insert(search, self.sigID[key])
+        elseif self.console[tonumber(key)] then
+          --print(key, tonumber(key))
+          insert(search, tonumber(key))
+        end
+      end
+    until not(i or j)
+  end
+
   local profile = D.currentProfile
   local setAll
   local search = {}
-  local key
-  local n = 0
-
   -- resolve key/sig values from args
-  while self:GetArgs(input,1,n) and n < 255 do
-    key, n = self:GetArgs(input,1,n)
-
-    if self.sig[key] then
-      --print(key, self.sigID[key])
-      insert(search, self.sigID[key])
-    elseif self.console[tonumber(key)] then
-      --print(key, tonumber(key))
-      insert(search, tonumber(key))
-    end
+  for i, key in ipairs(args) do
 
   --oldprint(#search, key, n)
   end