{"action":"created","issue":{"url":"https://api.github.com/repos/LightTable/LightTable/issues/744","labels_url":"https://api.github.com/repos/LightTable/LightTable/issues/744/labels{/name}","comments_url":"https://api.github.com/repos/LightTable/LightTable/issues/744/comments","events_url":"https://api.github.com/repos/LightTable/LightTable/issues/744/events","html_url":"https://github.com/LightTable/LightTable/issues/744","id":18702223,"number":744,"title":"Feature Request: Behavior to select word / clojure form under cursor","user":{"login":"chrisfjones","id":660570,"avatar_url":"https://avatars.githubusercontent.com/u/660570?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisfjones","html_url":"https://github.com/chrisfjones","followers_url":"https://api.github.com/users/chrisfjones/followers","following_url":"https://api.github.com/users/chrisfjones/following{/other_user}","gists_url":"https://api.github.com/users/chrisfjones/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisfjones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisfjones/subscriptions","organizations_url":"https://api.github.com/users/chrisfjones/orgs","repos_url":"https://api.github.com/users/chrisfjones/repos","events_url":"https://api.github.com/users/chrisfjones/events{/privacy}","received_events_url":"https://api.github.com/users/chrisfjones/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/LightTable/LightTable/labels/clojure","name":"clojure","color":"bfe5bf"},{"url":"https://api.github.com/repos/LightTable/LightTable/labels/enhancement","name":"enhancement","color":"0052cc"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2013-08-28T23:04:49Z","updated_at":"2015-12-07T00:55:30Z","closed_at":"2015-12-07T00:55:30Z","body":"Idea has this great feature where you can hit a hotkey and select the word underneath the cursor. If you have a selection, then the same hotkey will 'grow' the selection to be the parent word or form of the current selection. In this way, you can very quickly select and manipulate code in terms of forms rather than by line. This works really well when combined with the eval hotkey (cmd-enter in LT) and would be a great fit in LT IMHO.\r\nThe following video shows how this works in Idea: \r\nhttp://www.youtube.com/watch?v=VE6go04EZbw\r\n\r\nA deeper textual example:\r\nGiven the following clojure code with my cursor is where the | is:\r\n```clojure\r\n(defn- param? [params k]\r\n  (and\r\n    (contains? params k)\r\n    (not (blank-o|r-nil? (get params k)))))\r\n```\r\nPressing the hotkey in this state, selects the entire symbol\r\n```clojure\r\nblank-or-nil? \r\n```\r\nPressing the same hotkey again, selects the entire enclosing form for that symbol\r\n```clojure\r\n(blank-or-nil? (get params k))\r\n```\r\n..and again, the next enclosing form...\r\n```clojure\r\n(not (blank-or-nil? (get params k)))\r\n```\r\n...and so on, until the entire outer form is selected\r\n```clojure\r\n(defn- param? [params k]\r\n  (and\r\n    (contains? params k)\r\n    (not (blank-or-nil? (get params k)))))\r\n```\r\n\r\n\r\n\r\n "},"comment":{"url":"https://api.github.com/repos/LightTable/LightTable/issues/comments/162382227","html_url":"https://github.com/LightTable/LightTable/issues/744#issuecomment-162382227","issue_url":"https://api.github.com/repos/LightTable/LightTable/issues/744","id":162382227,"user":{"login":"kenny-evitt","id":1461730,"avatar_url":"https://avatars.githubusercontent.com/u/1461730?v=3","gravatar_id":"","url":"https://api.github.com/users/kenny-evitt","html_url":"https://github.com/kenny-evitt","followers_url":"https://api.github.com/users/kenny-evitt/followers","following_url":"https://api.github.com/users/kenny-evitt/following{/other_user}","gists_url":"https://api.github.com/users/kenny-evitt/gists{/gist_id}","starred_url":"https://api.github.com/users/kenny-evitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kenny-evitt/subscriptions","organizations_url":"https://api.github.com/users/kenny-evitt/orgs","repos_url":"https://api.github.com/users/kenny-evitt/repos","events_url":"https://api.github.com/users/kenny-evitt/events{/privacy}","received_events_url":"https://api.github.com/users/kenny-evitt/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T00:55:30Z","updated_at":"2015-12-07T00:55:30Z","body":"I created LightTable/Clojure#60 for this in the Clojure plugin repo."}}