Author: dylan
Date: 2004-06-28 00:40:07 -0400 (Mon, 28 Jun 2004)
New Revision: 270

Added:
   trunk/clients/
   trunk/clients/wxhaver/
Removed:
   trunk/wxhaver/
Modified:
   trunk/main/client/lib/Haver/Client/Command.pm
Log:
puting wxhaver in /trunk/clients/.



Copied: trunk/clients/wxhaver (from rev 269, trunk/wxhaver)

Modified: trunk/main/client/lib/Haver/Client/Command.pm
===================================================================
--- trunk/main/client/lib/Haver/Client/Command.pm       2004-06-28 04:38:48 UTC 
(rev 269)
+++ trunk/main/client/lib/Haver/Client/Command.pm       2004-06-28 04:40:07 UTC 
(rev 270)
@@ -45,80 +45,8 @@
 }
 
 
-sub invoke {
-       my ($me, $cmd, @args) = @_;
-       
-       if (exists $me->{command}{$cmd} and exists 
$me->{command}{$cmd}{handler}) {
-               $me->{command}{$cmd}{handler}->(@args);
-       }
-}
-
-sub parse_args {
-       my ($me, $cmd, $arg) = @_;
-       
-       if (exists $me->{command}{$cmd} and exists 
$me->{command}{$cmd}{parser}) {
-               return $me->{command}{$cmd}{parser}->($cmd, $arg);
-       } else {
-               return $arg;
-       }
-}
-
-sub run_callback {
-       my ($me, $cb, $args) = @_;
-       
-       if (not ref $args) {
-               $args = [];
-       }
-       ASSERT: ref $cb;
-       my $ref = ref $cb;
-       if ($ref eq 'CODE') {
-               return $cb->(@$args);
-       } elsif (Scalar::Util::blessed($cb)) {
-               return $cb->invoke(@$args);
-       } elsif ($ref eq 'ARRAY') {
-               my $c = shift @$cb;
-               if (Scalar::Util::blessed($c)) {
-                       my $method = shift @$cb;
-                       return $c->$method(@$cb, @$args);
-               } elsif (ref $c eq 'CODE') {
-                       return $c->(@$cb, @$args);
-               } else {
-                       confess "I don't know how I got here!";
-               }
-       } else {
-               confess "I don't know how I got here!";
-       }
-}
-
-
-sub input {
+sub parse {
        my ($me, $s) = @_;
-       my ($cmd, $arg) = $me->parse_command($s);
-
-       my $result = $me->resolve_command($cmd);
-       die "Unknown command: $cmd" unless defined $result;
-       die "Ambigous command: $cmd\nPossible matches:\n" . join("\n", map { "- 
" } @$result) if ref $result;
-       $cmd = $result;
-
-       if ($me->is_alias($cmd) and $cmd ne $me->{builtin_cmd}) {
-               my @lines = $me->eval_text($me->{alias}{$cmd}, $arg);
-               
-               foreach my $line (@lines) {
-                       $me->input($line);
-               }
-       } else {
-               my @args;       
-               if ($cmd eq $me->{builtin_cmd}) {
-                       $arg =~ s/^\s*(\w+)\s+//;
-                       $cmd = $1;
-               }
-               @args = $me->parse_args($cmd, $arg);
-               $me->invoke($cmd, @args);
-       }
-}
-
-sub parse_command {
-       my ($me, $s) = @_;
        my $c = quotemeta $me->{chars};
        my ($cmd, $arg);
        
@@ -133,6 +61,11 @@
        return ($cmd, $arg);
 }
 
+sub invoke {
+       my ($me, $cmd, $arg) = @_;
+       
+}
+
 sub resolve_command {
        my ($me, $prefix) = @_;
        my $len = length $prefix;


Reply via email to