From 40daf651b362102eb208fb951c2d52127b48df74 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Wed, 13 Nov 2013 22:47:20 -0600 Subject: [PATCH] misc -shift-o improvements - always select the old text when opening the window - loosen the matching algorithm so that each segment has only to match a prefix of the corresponding directory (e.g., drr/pri/ will show you all of the files in the drracket/private collections directories) - fix a bug that shows up when the alternate racket text field is empty --- .../drracket/private/find-completions.rkt | 20 ++++++------------- .../drracket/private/get-module-path.rkt | 1 + 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/find-completions.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/find-completions.rkt index aff73d4b18..60c67aecff 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/find-completions.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/find-completions.rkt @@ -22,7 +22,9 @@ (list/c lcl/c lcp/c))) (listof (list/c string? path?)))])) -(define (ignore? x) (member x '("compiled"))) +(define (ignore? x) + (or (member x '("compiled")) + (regexp-match #rx"~$" x))) (define (find-completions string #:alternate-racket [alternate-racket #f]) (find-completions/internal string @@ -36,12 +38,7 @@ (cond [(null? segments) '()] [else - (define reg (regexp - (string-append "^" - (regexp-quote (car segments)) - (if (null? (cdr segments)) - "" - "$")))) + (define reg (regexp (string-append "^" (regexp-quote (car segments))))) (filter (λ (line) (regexp-match reg (list-ref line 0))) collection-dirs)])) (define unsorted @@ -50,12 +47,7 @@ (cond [(null? segments) candidates] [else - (define reg (regexp (string-append - "^" - (regexp-quote (car segments)) - (if (null? (cdr segments)) - "" - "$")))) + (define reg (regexp (string-append "^" (regexp-quote (car segments))))) (define nexts (for*/list ([key+candidate (in-list candidates)] [candidate (in-value (list-ref key+candidate 1))] @@ -114,7 +106,7 @@ (list (path->string dir) (build-path pth dir)))] [else '()])])))) -(define (alternate-racket-clcl/clcp alternate-racket) +(define (alternate-racket-clcl/clcp alternate-racket) (define (use-current-racket n) (values (current-library-collection-links) (current-library-collection-paths))) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/get-module-path.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/get-module-path.rkt index 09981c354d..9c856c7854 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/get-module-path.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/get-module-path.rkt @@ -35,6 +35,7 @@ (define tf (new text-field% [parent dlg] [label #f] [init-value init-value] [callback (λ (tf evt) (tf-callback))])) + (send (send tf get-editor) set-position 0 (send (send tf get-editor) last-position)) (define lb (new list-box% [parent dlg] [choices '()] [label #f] [callback (λ (lb evt) (update-buttons))]))