Tern Lint Demo // A Property that is unknown: anInvalidOption var obj1 = {anInvalidOption: 'foo'}; chrome.app.window.create('index.html', obj1); // A Property that does not type check, (hidden should be a bool) var obj2 = {hidden: 'foo'}; chrome.app.window.create('index.html', obj2); // A Property that is of the correct type => OK var obj3 = {id: 'fooID'}; chrome.app.window.create('index.html', obj3); // multiple Properties of the correct type => OK var obj4 = {id: 'fooID',hidden: true}; chrome.app.window.create('index.html', obj4); // one bad one mixed in var obj5 = {id: 'fooID', oho: 34, hidden: true}; chrome.app.window.create('index.html', obj5); // id is forward declared object literal but it should be string var lit = {foo: 400}; document.getElementById(lit); Demonstrates integration of Tern and CodeMirror. The following keys are bound: Ctrl-SpaceAutocomplete Ctrl-IFind type at cursor Alt-.Jump to definition (Alt-, to jump back) Ctrl-QRename variable Documentation is sparse for now. See the top of the script for a rough API overview.