<div dir="ltr"><div><div><div><div>Ray,<br><br></div>Couldn't resist, this sounded like a nice feature, so here you go:<br><a href="https://gist.github.com/Metaxal/5495979">https://gist.github.com/Metaxal/5495979</a><br>
<br></div>It's in the script-plugin format, but it should be straight-forward to use it in your key-bindings file instead.<br><br></div><div>It's a bit simplified (it cycles from the start of the buffer, not from the current position and backwards), see the text above the dabbrev procedure.<br>
<br></div><div>Comments are welcome of course. In particular, if there are cases where it doesn't work, please let me know.<br></div><br></div>Laurent<br><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, May 1, 2013 at 3:09 PM, Ray Racine <span dir="ltr"><<a href="mailto:ray.racine@gmail.com" target="_blank">ray.racine@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div>Random thought question, other then "just work", is there any disadvantage in how custom keybindings work in DrR in extracting all keybindings out from DrR code into a dedicated default keybindings.rkt? Then a user installed keybindings.rkt inherits and overrides from the default or just modifies the default directly?<br>
<br></div>FWIW, a super feature that I use in emacs when typing in code is "dynamic expansion". One types the first few prefix chars of a token and 'alt-/' and it completes the word by back searching for the first matching token in the source file. 'alt-/' again, and it searchs back for the next match. Its mindless string pattern matching in the source file. No expansion or AST semantic parsing is necessary or done. Mindless yet very effective in key stroke/typo reduction. I probably miss this more in DrRacket than any other emacs basic editing feature.<br>
<br></div>From emacs help.<br><div><br>M-/ runs the command dabbrev-expand, which is an interactive<br>autoloaded compiled Lisp function in `dabbrev.el'.<br><br>It is bound to M-/.<br><br>(dabbrev-expand ARG)<br><br>
Expand previous word "dynamically".<br>
<br>Expands to the most recent, preceding word for which this is a prefix.<br>If no suitable preceding word is found, words following point are<br>considered. If still no suitable word is found, then look in the<br>buffers accepted by the function pointed out by variable<br>
`dabbrev-friend-buffer-function'.<br><br>A positive prefix argument, N, says to take the Nth backward *distinct*<br>possibility. A negative argument says search forward.<br><br>If the cursor has not moved from the end of the previous expansion and<br>
no argument is given, replace the previously-made expansion<br>with the next possible expansion not yet tried.<br><br>The variable `dabbrev-backward-only' may be used to limit the<br>direction of search to backward if set non-nil.<br>
<br>See also `dabbrev-abbrev-char-regexp' and C-M-/.<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Wed, May 1, 2013 at 8:20 AM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">I think those are all there, but probably you didn't find them because they don't have quite the same name as the menu items (in the edit|keybindings|show active keybindings menu item). I've fixed that. And I also added tack/untack arrows. Here's the list from the source:<div>
<br></div><div><div> (send keymap map-function "c:x;b" (string-constant cs-jump-to-binding))</div><div> (send keymap map-function "c:x;n" (string-constant cs-jump-to-next-bound-occurrence))</div>
<div> (send keymap map-function "c:x;p" (string-constant cs-jump-to-previous-bound-occurrence))</div><div> (send keymap map-function "c:x;d" (string-constant cs-jump-to-definition))</div><div>
(send keymap map-function "c:x;m" (string-constant cs-rename-id))</div><div> (send keymap map-function "c:x;a" (string-constant cs-tack/untack-arrow))</div><span><font color="#888888"><div>
<br></div></font></span><div><span><font color="#888888">Robby</font></span><div><div><br><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, May 1, 2013 at 3:14 AM, Laurent <span dir="ltr"><<a href="mailto:laurent.orseau@gmail.com" target="_blank">laurent.orseau@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div>"Rename identifier" at least, and also those like "go to definition", "open defining file", and maybe "go to next/previous occurrence".<br><br></div>Thank you very much!<span><font color="#888888"><br>
Laurent<br></font></span></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 1, 2013 at 12:59 AM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu" target="_blank">robby@eecs.northwestern.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi, sorry for the delayed response. I'll push an additional keybinding (c:x;m for rename identifier). Which other ones are you missing?<div>
<br></div><div>Sorry I don't have any leads on why popup menus still aren't working.<span><font color="#888888"><br>
<br>Robby</font></span><div><div><br><br>On Thursday, April 18, 2013, Laurent wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div>
<div><div><div><div><div>Didn't try, but if I disable syntax check, the tooltips don't show, so I guess it's the same.<br>
</div>I correct my previous answer: disabling syntax-check helps a little, but the mouse pointer must not move during the whole click (which is quite difficult on my touchpad). <br>
</div>The menu stays longer, but still randomly disappears after some mouse moves.<br><br></div>Do you want me to try the patch anyway?<br><br></div>In case this bug is not resolved, would it be possible to have the same bindings in a regular window menu?<br>
</div>(Or at list could you tell me what the bindings are so that I can make a plugin script?)<br><br></div>Laurent<br></div><div><br><br><div>On Thu, Apr 18, 2013 at 2:39 PM, Robby Findler <span dir="ltr"><<a>robby@eecs.northwestern.edu</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">This disables check syntax tooltips. Does that help?<div><br></div>
<div><div>--- a/collects/drracket/private/syncheck/gui.rkt</div>
<div>+++ b/collects/drracket/private/syncheck/gui.rkt</div><div>@@ -805,7 +805,7 @@ If the namespace does not, they are colored the unbound color.</div>
<div> </div><div> ;; syncheck:add-mouse-over-status : text pos-left pos-right string -> void</div><div> (define/public (syncheck:add-mouse-over-status text pos-left pos-right str)</div>
<div>- (when arrow-records</div><div>+ (when (and #f arrow-records)</div><div> (add-to-range/key text pos-left pos-right </div><div> (make-tooltip-info text pos-left pos-right str)</div>
<div> #f #f)))</div></div><div><br></div></div><div><div><div><br><br><div>On Thu, Apr 18, 2013 at 7:28 AM, Laurent <span dir="ltr"><<a>laurent.orseau@gmail.com</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Yes, apparently.<br><br></div>In DrRacket, deactivating syntax check does not change the problem.<br>
</div><div><div><div><br><br><div>On Thu, Apr 18, 2013 at 1:52 PM, Robby Findler <span dir="ltr"><<a>robby@eecs.northwestern.edu</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">If you run "gracket" does the right click menu work better there?<span><font color="#888888"><div>
<br></div><div>Robby</div></font></span></div><div><div><div><br><br><div>On Thu, Apr 18, 2013 at 6:45 AM, Laurent <span dir="ltr"><<a>laurent.orseau@gmail.com</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Are there any news about that bug? I miss the right-click menu very much...<span><font color="#888888"><br>
<br></font></span></div><span><font color="#888888">Laurent<br></font></span></div><div><div><div><br><br><div>On Wed, Dec 5, 2012 at 5:30 AM, Neil Toronto <span dir="ltr"><<a>neil.toronto@gmail.com</a>></span> wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Could what you're experiencing have anything to do with tooltips? It seems my right-click menu doesn't stay up whenever there's a tooltip out. Which is, like, every time I want it.<span><font color="#888888"><br>
<br>
Neil ⊥</font></span><div><br>
<br>
On 12/04/2012 07:55 PM, Ray Racine wrote:<br>
</div><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>
Yea, I didn't want to make a big deal out of it, but the up/down button<br>
change did not fix the issue. In fact I'd say no impact positive or<br>
negative.<br>
<br>
It seems to happen when there is additional drawing 'complexity' in<br>
co-occurrence with the pop up drawing area. I.e. the pop up menu is<br>
drawing where arrows are drawn or error highlighting is occurring etc.<br>
Also maybe when the pop up menu area is near the 'edge' of the Dr window<br>
and or pane area. But again the problem is not consistently<br>
reproducible yet happens more often then not. Its not a once in a blue<br>
moon that thing. Sometimes an attempt to right click pop up menu will<br>
fail numerous times in a row then succeed for no apparent reason.<br>
<br>
On Dec 4, 2012 9:07 PM, "Robby Findler" <<a>robby@eecs.northwestern.edu</a><br></div><div>
<mailto:<a>robby@eecs.<u></u>northwestern.edu</a>>> wrote:<br>
<br>
On Tue, Dec 4, 2012 at 6:11 PM, Stephen Chang <<a>stchang@ccs.neu.edu</a><br></div><div>
</div></blockquote></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></blockquote></div></div>
</div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div></div></div>
<br></div></div><div class="im">____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div><br></div>