{"id":181,"date":"2008-11-18T19:00:49","date_gmt":"2008-11-19T03:00:49","guid":{"rendered":"http:\/\/www.antunkarlovac.com\/blog\/?p=181"},"modified":"2008-11-18T19:00:49","modified_gmt":"2008-11-19T03:00:49","slug":"tab-completion-in-the-debugger","status":"publish","type":"post","link":"https:\/\/www.antunkarlovac.com\/blog\/2008\/11\/18\/tab-completion-in-the-debugger\/","title":{"rendered":"Tab Completion in the Debugger"},"content":{"rendered":"<p>There&#8217;s a handy tab completion feature in the OpenLaszlo debugger now. It&#8217;s been around for a few months, but I&#8217;ve avoided using it mainly because the keyboard focus was a little flaky on my old Windows laptop.<\/p>\n<p>It works just like a typical Unix (say bash) shell:<\/p>\n<ol>\n<li>Recompile your application with the debugger. e.g. browse to the <a href=\"http:\/\/labs.openlaszlo.org\/trunk-nightly\/my-apps\/copy-of-hello.lzx?debug=true\" target=\"_blank\">Hello, World!<\/a> example with ?debug=true.<\/li>\n<li>Click on the Debugger text input field, and begin typing. e.g. <strong>can<\/strong><\/li>\n<li>Hit tab. The Debugger should complete the word &#8220;canvas&#8221;.<\/li>\n<li>Now add a dot, and hit tab once. e.g. <strong>canvas.<\/strong><\/li>\n<li>If there are too many possible matches, you&#8217;ll see output like the following in the Debugger:<br \/>\n<span style=\"color: #0000ff;\">INFO: 456 possibilities: press &#8216;\\t&#8217; again to see them all<\/span><\/li>\n<li>Hit tab again, and you should see a long list of possible properties on canvas:<br \/>\n<span style=\"color: #0000ff;\">INFO: Possible completions: $cfn $isstate $lzc$bind_id $lzc$bind_name &#8230;<\/span><\/li>\n<li>Now add &#8220;sub&#8221; to the text input field. It should read <strong>canvas.sub<\/strong><\/li>\n<li>Hit tab. You should see two possible matches for canvas.sub:<br \/>\n<span style=\"color: #0000ff;\">Possible completions: subnodes subviews <\/span><\/li>\n<li>Add a &#8220;v&#8221;, so your text input field now says <strong>canvas.subv<\/strong><\/li>\n<li>Hit tab. The debugger should complete that to canvas.subviews, since its the only possible match. Now hit the enter key, and the Debugger will inspect canvas.subviews.<\/li>\n<\/ol>\n<p>Enjoy!<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>There&#8217;s a handy tab completion feature in the OpenLaszlo debugger now. It&#8217;s been around for a few months, but I&#8217;ve avoided using it mainly because the keyboard focus was a little flaky on my old Windows laptop. It works just like a typical Unix (say bash) shell: Recompile your application with the debugger. e.g. browse &hellip; <a href=\"https:\/\/www.antunkarlovac.com\/blog\/2008\/11\/18\/tab-completion-in-the-debugger\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Tab Completion in the Debugger<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts\/181"}],"collection":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":1,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":182,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts\/181\/revisions\/182"}],"wp:attachment":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}