- if ($params[0] eq 'save') {
- cmd_save();
- } elsif ($params[0] eq 'set') {
- shift(@params);
- cmd_set(@params);
- } elsif ($params[0] eq 'show') {
- shift(@params);
- cmd_show(@params);
- } elsif ($params[0] eq 'help') {
- shift(@params);
- cmd_help(@params);
- } elsif ($params[0] eq 'getter') {
- shift(@params);
- cmd_getter(@params);
- } elsif ($params[0] eq 'enable') {
- shift(@params);
- cmd_enable(@params);
- } elsif ($params[0] eq 'disable') {
- shift(@params);
- cmd_disable(@params);
- } elsif ($params[0] eq 'reload') {
- init_videosite(0);
- } elsif ($params[0] eq 'mode') {
- shift(@params);
- cmd_mode(@params);
- } elsif ($params[0] eq 'debug') {
- $debug = 1;
+ if ($linestart !~ m|^/videosite\b|) {
+ return;
+ }
+
+ if ('/videosite' eq $linestart) {
+ # No command enterd so far. Produce a list of possible follow-ups
+ @matches = grep {/^$word/} keys (%{$videosite_commands});
+ } elsif ('/videosite set' eq $linestart) {
+ # 'set' command entered. Produce a list of modules