#-------------------------------------#
#                                     #
#                             #
#                                     #
#-------------------------------------#

#
#    ! : Alt-.
#   -    .
bindkey { if($U::flaghide==1) { $U::flaghide =0; $U::infoHide='    '; }
          else                { $U::flaghide =1; $U::infoHide=''; }
        } "M-";

#
# .
sub move { 
  if( $U::flaghide==1 ) { 
    sendl("sneak $_[0]");
  } else { 
    sendl("$_[0]"); 
  }
  if( $U::flagpath==1 ) {
    if (length($U::speedpath)>0) { 
      $last_move=substr($U::speedpath,length($U::speedpath)-1,1);
      if ($last_move eq "w") {$last_move="e";}
      if ($last_move eq "e") {$last_move="w";}
      if ($last_move eq "n") {$last_move="s";}
      if ($last_move eq "s") {$last_move="n";}
      if ($last_move eq "d") {$last_move="u";}
      if ($last_move eq "u") {$last_move="d";}

      if ($last_move eq "$_[0]") {
        $U::speedpath=substr($U::speedpath,0,length($U::speedpath)-1);
      } else {
        $U::speedpath.="$_[0]";
      }
    } else {
      $U::speedpath.="$_[0]";
    }
  } 
}

alias { sendl(" ") } "";
alias { sendl(" ") } "";
alias { sendl(" ") } "";
alias { sendl(" ") } "";
alias { sendl(" ") } "";
alias { sendl(" ") } "";

bindkey { move("d") }    "k1";
bindkey { move("s") }    "k2";
bindkey { sendl("") } "k3";
bindkey { move("e") }    "k4";
bindkey { sendl("") } "C-I";
bindkey { move("w") }    "k6";
bindkey { move("u") }    "k7";
bindkey { move("n") }    "k8";
bindkey { sendl("")}   "k+";
bindkey { sendl("") } "kins";
bindkey { sendl("") } "kdel";

bindkey { sendl(" ") }     "M-C-k1";
bindkey { sendl(" ") }      "M-C-k2";
bindkey { sendl(" ") }      "M-C-k4";
bindkey { sendl(" ") }      "M-C-k6";
bindkey { sendl(" ") }     "M-C-k7";
bindkey { sendl(" ") }      "M-C-k8";

#
# 
sub CMD::cmd_path {
    if ($U::flagpath==1) {
       $U::speedpath = $U::speedpath . @_[0];
    }
}

alias { $U::flagpath=1;echo "  ."; }                        "";
alias { $U::flagpath=0;echo "  .";$U::speedpath=""; }      "!";
alias { $U::speedpath=""; }      "";
alias { echo $U::speedpath; }    "";
alias { CMD::speedwalk(".wwwwsseesssesssessessssswssssswswswsws"); } "21";    # ->
alias { CMD::speedwalk(".wwwwwswwwwwswwwwwws"); }                    "22";    # ->
alias { CMD::speedwalk(".2swn5wn3wn27wnwn3wn2wn2wnwnwnwnw"); }       "21";   # ->
alias { CMD::speedwalk(".nwwnwwnwnwwnwwn"); }                        "22";   # ->
alias { CMD::speedwalk(".wwwnwwwwwnwnwnwnwnnn"); }                   "23";   # ->
alias { CMD::speedwalk(".nwnnnnnwnnnnnnwnnnnwnnw"); }                "24";   # ->
alias { CMD::speedwalk(".nnwnwnwnwnwnwnwnwnnwnnnnnn"); }             "25";   # ->
alias { CMD::speedwalk("..nnwnwnwnwnwnwnwnwnnwnnnnnn"); }            "21";   # ->
alias { CMD::speedwalk("..nwnnnnnwnnnnnnwnnnnwnnw"); }               "22";   # ->
alias { CMD::speedwalk("..wwwnwwwwwnwnwnwnwnnn"); }                  "23";   # ->
alias { CMD::speedwalk("..nwwnwwnwnwwnwwn"); }                       "24";   # ->
alias { CMD::speedwalk("..2swn5wn3wn27wnwn3wn2wn2wnwnwnwnw"); }      "25";   # ->
alias { CMD::speedwalk(".5n3es2e3n2en2w3nes3e"); }                   "2";
alias { CMD::speedwalk(".2s3es3en2e5s"); }                           "2";
alias { CMD::speedwalk(".2s3es4e"); }                                "2";
alias { CMD::speedwalk(".seeeeeeneeeeeneeeeeneeeeeseeeeeseeeeeeneeeneeen"); }  "21";
alias { CMD::speedwalk(".eeeeeeeneeeeeeeeeeeeeeeeeeeeennnnneeee"); }           "22";
alias { CMD::speedwalk("..eeeeeeeneeeeeeeeeeeeeeeeeeeeennnnneeee"); }          "21";
alias { CMD::speedwalk("..seeeeeeneeeeeneeeeeneeeeeseeeeeseeeeeeneeeneeen"); } "22";
alias { CMD::speedwalk(".2s5esen2e3nw"); }                                     "";
