whole_func_string: function Shell(config) {
    this.config = config;
    this.commands = {};
    this.runtime = ijsrt;
    this.state = vm.createContext(createGlobals(this));
    this.code = '';
  
    require('../../node_modules/tern/plugin/node.js');
    var ternOptions = {
      defs: [require('../../node_modules/tern/defs/ecma5.json')],
      plugins: { node: {} }
    };
    this.ternServer = new tern.Server(ternOptions);
  }
func_code_string: function Shell(config) {
    this.config = config;
    this.commands = {};
    this.runtime = ijsrt;
    this.state = vm.createContext(createGlobals(this));
    this.code = '';
  
    require('../../node_modules/tern/plugin/node.js');
    var ternOptions = {
      defs: [require('../../node_modules/tern/defs/ecma5.json')],
      plugins: { node: {} }
    };
    this.ternServer = new tern.Server(ternOptions);
  }
func_documentation_string: The Shell object to manage configuration, shell functionality and session state.