{"id":41071,"date":"2023-11-14T17:26:21","date_gmt":"2023-11-14T22:26:21","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=41071"},"modified":"2023-11-14T17:26:21","modified_gmt":"2023-11-14T22:26:21","slug":"cursorless-is-alien-magic-from-the-future","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2023\/11\/14\/cursorless-is-alien-magic-from-the-future\/","title":{"rendered":"Cursorless Is Alien Magic From the Future"},"content":{"rendered":"<p><a href=\"https:\/\/xeiaso.net\/notes\/cursorless-alien-magic\/\">Xe Iaso<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=38214915\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/xeiaso.net\/notes\/cursorless-alien-magic\/\">\n<p>Cursorless is a plugin that integrates with voice control software to let you do AST level code editing with your voice. This is crazy alien magic from the future.<\/p>\n<p>[&#8230;]<\/p>\n<p>The most magic parts about this are the ideas of destinations and targets when it comes to cursorless inputs. Targets are individual anchors in a document and destinations are places relative to individual targets. Every single token in a document is given a hat over a letter with a color. These hats act as anchors that let you give commands based off of locations, destinations, and paths between them.<\/p>\n<p>[&#8230;]<\/p>\n<p>The real power of cursorless comes in from not only the idea of paths (such as <code>green urge past green bat<\/code> to select the <code>function fetchBlog<\/code> in that screenshot), but the fact that cursorless knows what the AST of the language is doing. This means that you can do things across the entire function, like deleting it or moving it somewhere else.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/08\/22\/the-hidden-history-of-screen-readers\/\">The Hidden History of Screen Readers<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Xe Iaso (via Hacker News): Cursorless is a plugin that integrates with voice control software to let you do AST level code editing with your voice. This is crazy alien magic from the future. [&#8230;] The most magic parts about this are the ideas of destinations and targets when it comes to cursorless inputs. Targets [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2023-11-14T22:26:24Z","apple_news_api_id":"81d24788-f83b-41a0-94de-da91ebc6eec9","apple_news_api_modified_at":"2023-11-14T22:26:24Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AgdJHiPg7QaCU3tqR68buyQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[930,71,68,1187,1819],"class_list":["post-41071","post","type-post","status-publish","format-standard","hentry","category-technology","tag-accessibility","tag-programming","tag-texteditor","tag-visual-studio-code","tag-voice-control"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=41071"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41071\/revisions"}],"predecessor-version":[{"id":41072,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41071\/revisions\/41072"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=41071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=41071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=41071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}