On Fri, May 11, 2012 at 9:32 PM, Luke Vilnis <lvil...@gmail.com> wrote:
> I assume Chaitin's constant is involved. Man, if Xcode knows Omega, I ditch my PC, buy a Mac and leave DrRacket at once! > > > On Fri, May 11, 2012 at 3:22 PM, Matthias Felleisen > <matth...@ccs.neu.edu>wrote: > >> >> [How] does Xcode allow you to enter arbitrary computations in response to >> key events? I don't understand how one can list "all possible actions" >> since there are infinitely many? -- Matthias >> >> >> >> On May 11, 2012, at 2:58 PM, Nick Shelley wrote: >> >> > On the topic of key bindings, is there a reason this can't be done in >> the preferences menu? Xcode has a key bindings section in the preferences >> menu that has all possible actions on the left and the current bindings on >> the right, and you can just click on the current binding and change it to >> whatever you want. I think something like that would be nice in DrRacket, >> but I have no idea how hard it would be to implement. >> > >> > Maybe that's on the list of "It would be nice, but..." >> > >> > On Fri, May 11, 2012 at 6:14 AM, Robby Findler < >> ro...@eecs.northwestern.edu> wrote: >> > Ah, good point. I've added some example code to the docs that shows >> > how to bind menu items. Here's the code. >> > >> > Robby >> > >> > #lang s-exp framework/keybinding-lang >> > >> > (define (menu-bind key menu-item) >> > (keybinding >> > key >> > (λ (ed evt) >> > (define canvas (send ed get-canvas)) >> > (when canvas >> > (define menu-bar (find-menu-bar canvas)) >> > (when menu-bar >> > (define item (find-item menu-bar menu-item)) >> > (when item >> > (define evt >> > (new control-event% >> > [event-type 'menu] >> > [time-stamp >> > (send evt get-time-stamp)])) >> > (send item command evt))))))) >> > >> > (define/contract (find-menu-bar c) >> > (-> (is-a?/c area<%>) (or/c #f (is-a?/c menu-bar%))) >> > (let loop ([c c]) >> > (cond >> > [(is-a? c frame%) (send c get-menu-bar)] >> > [(is-a? c area<%>) (loop (send c get-parent))] >> > [else #f]))) >> > >> > (define/contract (find-item menu-bar label) >> > (-> (is-a?/c menu-bar%) >> > string? >> > (or/c (is-a?/c selectable-menu-item<%>) #f)) >> > (let loop ([o menu-bar]) >> > (cond >> > [(is-a? o selectable-menu-item<%>) >> > (and (equal? (send o get-plain-label) label) >> > o)] >> > [(is-a? o menu-item-container<%>) >> > (for/or ([i (in-list (send o get-items))]) >> > (loop i))] >> > [else #f]))) >> > >> > (menu-bind "c:a" "Run") >> > >> > >> > On Thu, May 10, 2012 at 8:22 PM, Ray Racine <ray.rac...@gmail.com> >> wrote: >> > > I'm caught in a bit of Catch-22. From the doc. >> > > >> > > If you are most familiar with Emacs-style key bindings (especially on >> > > windows or some linux installations where the control key is, by >> default, >> > > for the menu shortcuts), you should uncheck the Enable keybindings in >> > > menus preference. Many of the keybindings below are inspired by Emacs. >> > > >> > > So I've disabled keybindings in menu and thereby lose crtl-r Run and >> crtl-i >> > > Reindent. I'd like to re-bind but I've as of yet been unable to >> locate what >> > > functions Run and Reindent correspond to. >> > > >> > > I totally missed the online check syntax option, which sounds like a >> very >> > > good thing. In fact I'm still totally missing it. :) I just >> rechecked the >> > > menus/preferences. Where is this mythic option found? >> > > >> > > Thanks >> > > >> > > >> > > On Thu, May 10, 2012 at 8:49 PM, Robby Findler < >> ro...@eecs.northwestern.edu> >> > > wrote: >> > >> >> > >> FWIW, run and reindent are already menu-key based shortcuts (r and i >> > >> respectively) so they should be available already (unless you're on >> > >> windows and you've disabled menu keyboard shortcuts). For reindent >> you >> > >> can hit tab, and DrRacket re-indents the line you're on or the >> > >> selection (if it is more than one line). For check syntax, I >> recommend >> > >> you enable online check syntax and then you don't have to hit any key >> > >> at all to get that to work. >> > >> >> > >> hth, >> > >> Robby >> > >> >> > >> On Thu, May 10, 2012 at 6:38 PM, Ray Racine <ray.rac...@gmail.com> >> wrote: >> > >> > I'm attempting this weekend to make the leap from my beloved Emacs >> and >> > >> > Geiser to DrRacket. Was wondering if anyone has a cool set of >> custom >> > >> > keybindings they'd like to share. >> > >> > >> > >> > Some I'd like to get my hands on are: >> > >> > 1. binding for reindent / reindent all. >> > >> > 2. binding for Check Syntax button equivalent. >> > >> > 3. binding for Run button equivalent. >> > >> > >> > >> > Three below I just pieced together. >> > >> > >> > >> > ;; insert λ >> > >> > (keybinding "c:\\" (λ (editor evt) (send editor insert "λ"))) >> > >> > >> > >> > ;; close >> > >> > (keybinding "c:q" (λ (editor evt) >> > >> > (send (send editor get-top-level-window) >> > >> > close-current-tab))) >> > >> > >> > >> > ;; open a new tab >> > >> > (keybinding "c:t" (λ (editor evt) (send (send editor >> > >> > get-top-level-window) >> > >> > create-new-tab)) >> > >> > >> > >> > ____________________ >> > >> > Racket Users list: >> > >> > http://lists.racket-lang.org/users >> > >> > >> > > >> > > >> > >> > ____________________ >> > Racket Users list: >> > http://lists.racket-lang.org/users >> > >> > ____________________ >> > Racket Users list: >> > http://lists.racket-lang.org/users >> >> >> ____________________ >> Racket Users list: >> http://lists.racket-lang.org/users >> > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > >
____________________ Racket Users list: http://lists.racket-lang.org/users