view verbs.js @ 18:5fce4c8f3ebd

Preliminary version of date stuff added
author jonathandicarlo@jonathan-dicarlos-macbook-pro.local
date Tue, 15 Jul 2008 14:10:17 -0700
parents 8dcc88f93829
children
line wrap: on
line source

var fly = new Verb( "fly", null, null, { "from": city, "to": city } );
fly.getDescription = function( directObject, mods ) {
  var fromCity = mods[ "from" ];
  var toCity = mods["to"];
  if ( !fromCity ) {
    fromCity = "from somewhere";
  }
  if ( !toCity ) {
    toCity = "to somewhere else";
  }
  return "Buy airplane tickets from " + fromCity + " to " + toCity;
};
var define = new Verb( "define", "word", anyWord, {} );
define.getDescription = function( directObject, mods ) {
  if (directObject ) {
    return "Search for definition of the word "" + directObject + """;
  } else {
    return "Search for the definition of a word.";
  }
};
var google = new Verb( "google", "word", anyWord, {} );
google.getDescription = function( directObject, mods ) {
  if (directObject ) {
    return "Search Google for "" + directObject + """;
  } else {
    return "Search Google for a word or phrase.";
  }
};
var go = new Verb( "go", "tab", tab, {} );
go.getDescription = function( directObject, mods ) {
  if (directObject ) {
    return "Switch to the Firefox tab "" + directObject + """;
  } else {
    return "Search to a given Firefox tab.";
  }
};
var close = new Verb( "close", null, null, {} );
close.getDescription = function( directObject, mods ) {
  return "Close the front window or tab.";
};
var translate = new Verb( "translate", "text", anyWord, { "from": language, "to": language } );
translate.getDescription = function( directObject, mods ) {
  if (directObject ) {
    var DO = "the phrase "" + directObject + """;
  } else {
    var DO = "a given phrase";
  }
  var fromLang = mods["from"];
  if (!fromLang) {
    fromLang = "a given language";
  }
  var toLang = mods["to"];
  if (!fromLang) {
    toLang = "another language.";
  }
  return "Translate " + DO + " from " + fromLang + " to " + toLang;
};
var nuke = new Verb( "nuke", "city", city, {} );
nuke.getDescription = function( directObject, mods ) {
  if (!directObject) {
    directObject = "a given city";
  }
  return "Launch a nuclear missile at " + directObject;
};
var open = new Verb( "open", "url", anyWord, { "with": application } );
open.getDescription = function( directObject, mods ) {
  if (directObject ) {
    var desc = "Open the URL "" + directObject + """;
  } else {
    var desc = "Open a given URL";
  }
  if ( mods["with"] ) {
    desc += " using the application "" + mods["with"] + """;
  }
  return desc;
};
var email = new Verb( "email", "text", anyWord, { "to": person, "subject": anyWord } );
email.getDescription = function( directObject, mods ) {
  if (directObject ) {
    var DO = "the message "" + directObject + "" as an email";
  } else {
    var DO = "an email";
  }
  var target = mods["to"];
  if ( !target ) {
    target = "someone from your address book";
  }
  if ( mods["subject"] ) {
    var subject = ", with the subject " + mods["subject"] + ", ";
  } else {
    var subject = " ";
  }
  return "Send " + DO + subject + "to " + target;
};

var encrypt = new Verb( "encrypt", "text", anyWord, { "for": person } );
encrypt.getDescription = function( directObject, mods ) {
  if (directObject ) {
    var DO = "the message "" + directObject + """;
  } else {
    var DO = "a secret message";
  }
  var target = mods["for"];
  if ( !target ) {
    target = "one particular person";
  }
  return "Encrypt " + DO + " so it can only be read by " + target;
};

var wiki = new Verb( "wikipedia", "word", anyWord, { "language": language } );
wiki.getDescription = function( directObject, mods ) {
  var desc = "Search ";
  if ( mods["language"] ) {
    desc = desc + "the " + mods["language"] + " language version of ";
  }
  desc = desc + "Wikipedia for "" + directObject + """;
  return desc;
};

var calendarize = new Verb( "calendarize", "date", DateNounType, {} );
calendarize.getDescription = function( directObject, mods ) {
  return "Add event to your calendar on " + directObject;
}

// email mapping