{"id":253,"date":"2014-07-15T16:41:20","date_gmt":"2014-07-15T21:41:20","guid":{"rendered":"http:\/\/codezen.org\/canto-ng\/?p=253"},"modified":"2014-07-15T16:42:01","modified_gmt":"2014-07-15T21:42:01","slug":"0715-update","status":"publish","type":"post","link":"https:\/\/codezen.org\/canto-ng\/2014\/07\/15\/0715-update\/","title":{"rendered":"07\/15 Update"},"content":{"rendered":"<p>Just a quick check in. The daemon had a couple of more little tweaks, but overall has been solid. I bumped the version number to <code>0.9.0-rc1<\/code> because it will break released <code>0.8.x canto-curses<\/code> thanks to removal of some dead code that it used to rely on. I&#8217;d keep it around for backwards compatibility, but it had a (small) performance effect and the version number starts with a 0 for a reason.<\/p>\n<p>I also pushed more to the completion branch of <code>canto-curses<\/code> and bumped its version to <code>0.9.0-alpha1<\/code>.<\/p>\n<p>Included in this are some readline fixes, in particular the laggy scroll that got reintroduced when I implemented a custom <code>readline_getc<\/code>.<\/p>\n<p>Completion information is actually used and displayed now out of line as well as inline. I fixed some bugs in the argument level completion stuff, and a couple of exceptions from stuff like completing an empty line that used to be non-empty.<\/p>\n<p>I also got the reader up and running and rewired into the new command infrastructure. That means most of the Info\/ErrorBox stuff works now too, although they need the &#8220;destroy&#8221; command hooked up.<\/p>\n<h3 id='Next-Steps'>Next Steps<\/h3>\n<p>The next thing on my plate is a weird bug in the completion stuff where double tapping Tab on an already complete command\/argument causes what looks like a newline to be printed in the input box, but I believe is actually screen corruption. I&#8217;m not clear if readline is doing something wrong (like this would be good behavior outside of curses) or what, but I know that causing a refresh fixes it and displays what you&#8217;d expect in the input box so I don&#8217;t think it&#8217;s canto state that&#8217;s wrong.<\/p>\n<p>Another annoyance is that startup is a bit slow, it waits for a five second refresh. I want initial tag population to trigger refreshes themselves. I&#8217;ve seen a few threading bugs too when trying to fork a daemon and connect to it too quickly, so there&#8217;s work there probably on both ends.<\/p>\n<p>A lot of the other work is stuff I mentioned last time. Hooking up the remaining commands (mostly stuff that&#8217;s usually not important, like <code>color<\/code> but also a bunch of commands that are implemented via <code>remote<\/code> and all of its aliases).<\/p>\n<p>Definitely want to get to the plugin\/hook analysis. I&#8217;m thinking that I should probably implement something a little heavier, like a new reader type interface for Reddit comments. If I can do that in a couple of plugins, that&#8217;d be pretty convincing.<\/p>\n<p>Config snippets look a little bit like feature creep at the moment, so I&#8217;m not sure if 0.9.0 will see that or not.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just a quick check in. The daemon had a couple of more little tweaks, but overall has been solid. I bumped the version number to 0.9.0-rc1 because it will break released 0.8.x canto-curses thanks to removal of some dead code that it used to rely on. I&#8217;d keep it around for backwards compatibility, but it <a class=\"read-more\" href=\"https:\/\/codezen.org\/canto-ng\/2014\/07\/15\/0715-update\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/253"}],"collection":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":2,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":255,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/253\/revisions\/255"}],"wp:attachment":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}