crontab/mirc — File Browser

crontabmircv0.8 / crontabmircv0.8 / clp.mrc

clp.mrc — 1.39 KB — Download this file

alias -l _me return clp
alias -l _ver return 1.1.10
alias __clp return $_ver
on *:signal:deps:if ($2 iswm $_me) .signal re-deps $1 $_me $_dep
on *:signal:rollcall:if ($2 iswm $_me) .signal re-rollcall $1 $_me $_ver

alias clp {
  if (2 // $0) return 0
  var %i 0, %j, %n = $numtok($1,32), %q 0, %t, %u, %v
  $iif($window(@clp1),clear,window -nh) @clp1
  if (!$window(@clp2)) window -nh @clp2
  while (%i < %n) {
    %t = 
    :q
    inc %i
    %u = $gettok($1,%i,32)
    %t = %t %u
    if (" isin %u) {
      if (%q) {
        if (*" iswm %u) %q = 0
      }
      elseif ($regex(%u,="[^"]*$)) %q = 1
    }
    if ((%q) && (%i < %n)) goto q
    aline @clp1 %t
  }
  %i = 1
  %n = $calc($0 -1)
  while (%i < %n) {
    inc %i 2
    unset [ $+(%, [ [ $+($,%i) ] ] ) ]
  }
  %i = 1
  while (%i < %n) {
    inc %i
    %q = [ [ $+($,%i) ] ]
    inc %i
    %v = [ [ $+($,%i) ] ]
    %u = $numtok(%q,32)
    %j = 0
    while (%j < %u) {
      inc %j
      filter -cwwg @clp1 @clp2 $+(^,$gettok(%q,%j,32),(=.*)?$)
      %t = $line(@clp2,1)
      if ($len(%t)) {
        if (= isin %t) {
          %t = $gettok(%t,2-,61)
          if ($regex(%t,"(.*)")) set $+(%,%v) $regml(1)
          else set $+(%,%v) %t
        }
        else set $+(%,%v) $true
      }
    }
  }
  .timerclp.free -o 1 3 clp.free
  return 1
}
alias -l clp.free {
  window -c @clp1
  window -c @clp2
}