+ case 'list':
+ case 'tag':
+ if (!$arg) {
+ $result = null;
+ break;
+ }
+ list($other, $tags) = self::split_arg($arg);
+ if (!$tags) {
+ $result = null;
+ } else {
+ $result = new TagCommand($user, $other, $tags);
+ }
+ break;
+ case 'unlist':
+ case 'untag':
+ if (!$arg) {
+ $result = null;
+ break;
+ }
+ list($other, $tags) = self::split_arg($arg);
+ if (!$tags) {
+ $result = null;
+ } else {
+ $result = new UntagCommand($user, $other, $tags);
+ }
+ break;