public void run(string[] args)
{
bool serverlist = false;
string servername = null;
string remotesend = null;
string remoteexpr = null;
bool server = false;
if (args.Length == 0) {
usage();
}
for (int i = 0; i < args.Length; ++i) {
if (args[i] == "--serverlist") {
serverlist = true;
} else if (args[i] == "--servername") {
servername = args[++i];
} else if (args[i] == "--remote-send") {
remotesend = args[++i];
} else if (args[i] == "--remote-expr") {
remoteexpr = args[++i];
} else if (args[i] == "--server") {
server = true;
} else {
usage();
}
}
if (vimremote_init() != 0) {
throw new Exception("vimremote_init() failed");
}
if (serverlist) {
command_serverlist();
} else if (remotesend != null) {
if (servername == null) {
throw new Exception("remotesend requires servername");
}
command_remotesend(servername, remotesend);
} else if (remoteexpr != null) {
if (servername == null) {
throw new Exception("remoteexpr requires servername");
}
command_remoteexpr(servername, remoteexpr);
} else if (server) {
if (servername == null) {
throw new Exception("server requires servername");
}
command_server(servername);
}
if (vimremote_uninit() != 0) {
throw new Exception("vimremote_uninit() failed");
}
}