Commit Graph

97 Commits

Author SHA1 Message Date
Robby Findler
6a69da76e2 adjust ascii-box => unicode-box algorithm so that
it only looks left and right at hyphens and only
up and down at pipes, etc. This better handles the
case where you have something like this:

  +--------------+
  | (<= a-x b-y) |
  +--------------+

Before this commit, it would have adjusted the hypens
inside the identifiers
2012-12-24 13:49:32 -06:00
Robby Findler
042bbbefe7 add an ASCII art rectangle => unicode rectangle keybinding to drracket 2012-12-24 11:38:54 -06:00
Nadeem Abdul Hamid
c0a412ed0e fix close parens behavior in interactions and comments 2012-12-04 20:39:10 -06:00
Nadeem Abdul Hamid
8f3343cd01 automatic parenthesis mode improvements
Handle close parentheses in a smarter way while in
auto-parens mode and be a little more smart about
inserting brace pairs in general.

In summary:

 - Add some "smart-skip" behavior to insert-close-paren,
   described in the documentation.
    - When auto-parens mode is enabled,
      the existing "balance-parens" keybinding invokes
      insert-close-paren with a smart-skip argument of
      'adjacent
    - A new "balance-parens-forward" keybinding invokes
      insert-close-paren with a smart-skip argument of
      'forward (whether or not auto-parens mode is
      enabled)

 - Enable basic smart-skip behavior for
   strings ("...") and |...| pairs, specifically, typing
   a double-quote or bar character when the cursor
   immediately precedes one causes the cursor to simply
   skip over the existing one

 - Tweak auto-insertion of block comment pairs; i.e.
   typing hash and a bar results in a properly balanced
   #||# pair. Also, when you type a bar character when
   the cursor immediately precedes a closing bar and
   hash of a comment, then the cursor skips over both
   characters (this seems better than having it just
   skip over the bar, and then having to introduce a
   new keybinding to detect when a hash is typed while
   the cursor is between a bar and a hash)

 - In strings and line/block comments, auto-parens mode
   no longer has any effect (you can still use the M+..
   keybindings to force insertion of a particular brace
   pair)

 - Detect when a character constant is being typed, and
   don't insert brace pairs if so; i.e. if the cursor
   is immediately after #\ , then typing any open parens,
   double quote, or bar, does _not_ result in the
   insertion of an open/close pair even in auto-parens
   mode

 - Add a bunch of tests related to auto-parens, matching
   pairs of braces, strings, comments, etc. to
   collects/tests/framework/racket.rkt
2012-11-25 21:57:52 -06:00
Robby Findler
5197649cb7 improve the interactivity of DrRacket's search
Changes the implementation of highlight-range so that it
only recomputes all of the new locations from the positions
when on-reflow is called (otherwise only computing the
relevant ones) and make the on-reflow callback chop itself
up, in case there are lots of highlighted ranges to avoid
tying up the event loop.

Changes searching so that it doesn't neccessarily compute
the entire search results in a single event callback
(but also make it start the computation more aggressively)

Overall, this changes the strategy from one that, for any potentially
long-running callback, just tried to push it off into the future, into
a strategy that tries to avoid long-running callbacks by breaking the
work up into chunks, but starting the first chunk immediately (in a
low-priority callback).

Also, misc other changes to make this work better and generally clean
things up.
2012-11-25 20:58:13 -06:00
Robby Findler
975426f00c fix group-test
merge to release branch, please
2012-10-17 20:19:15 -05:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Eli Barzilay
43ef402274 Don't compile test files.
(Didn't touch the tiny "test-docs-complete" tests.)
2012-03-13 10:29:13 -04:00
Robby Findler
95ac3c86f7 fixed bug in the way aug:keymap extracts the names
now it should return only the canonical names of the keybindings
(instead of potentially returning both the canonical and
non-canonicalized names)
2012-01-08 07:07:56 -06:00
Robby Findler
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
Robby Findler
6ea6483221 adjust number-snip% so that it subscribes to the file/convertible
protocol for 'png-bytes and 'text
2011-11-20 16:38:17 -06:00
Robby Findler
b726209dc5 fix the interaction between the automatic insertion of matching parens
and the magic fixup of opening parentheses.

This commit moves the automatic insertion of matching parens to the
scheme mode keymap, so it will now take affect in Racket mode editing,
only. Also, Rackety.
2011-11-16 19:36:18 -06:00
Robby Findler
40c68df514 fix the auto-square-bracket thing for with-syntax
closes PR 12096
2011-08-08 19:30:13 -05:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Robby Findler
d6ef130fd2 cleaned up framework docs 2011-05-01 14:16:04 -05:00
Asumu Takikawa
7eb26c5d26 Added test for get-pos/text method result. 2011-04-29 18:56:36 -04:00
Robby Findler
bb792c977d the tabber incorrectly counted tab chars as spaces when doing indentation;
this meant that if some line were supposed to be indented in the third
  column and you had two tabs and a space on that line, the indenter
  would leave it alone. Now, if it sees tabs in the line anywhere, it just
  decides that the line is not properly indented and re-indents it
  (always using spaces)

Also: started a tabber test suite
2011-04-08 07:48:17 -05:00
Robby Findler
8e94ce49e4 lift the restriction that the text:ports mixin
cannot do io from the eventspace handler thread
and add a test suite for text:ports
2011-02-15 18:10:02 -06:00
Robby Findler
62c961410c adjust the framework test suite so that queue-sexp-to-mred catches and propogates exceptions 2011-02-15 18:10:00 -06:00
Robby Findler
d5c753be88 adjusted printfs to make them a little narrower 2011-02-15 18:09:59 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
Robby Findler
70e3074baf found another place in the framework test suite where operations weren't happening on the eventspace handler thread 2011-01-17 15:35:35 -06:00
Robby Findler
b8459737f0 disable the trace of all of the messages in the framework tests 2011-01-12 17:32:26 -06:00
Robby Findler
bf031be73e what happened here? 2011-01-07 09:23:51 -06:00
Robby Findler
a32adbe7db make the framework test suite only modify gui objects on the eventspace handler thread 2011-01-07 06:39:27 -06:00
Robby Findler
6f9bcf0001 Rackety 2010-12-31 09:58:54 -06:00
Robby Findler
3dc5bbd0eb moved interactive panel test into its own file 2010-12-31 09:58:53 -06:00
Robby Findler
900d74714e fixed up panel:dragable so that it actually does the right thing now
adjusted the framework test suite so that it runs under windows
closes PR 10880
2010-12-31 09:58:51 -06:00
Casey Klein
bd0ebc7511 Adds auto-completion to LaTeX and TeX inspired keybindings 2010-11-02 22:34:05 -05:00
Eli Barzilay
8e0f8dd39c More "~n" -> "\n" changes 2010-08-26 12:11:00 -04:00
Eli Barzilay
da083f05e8 avoid relying on bash 2010-08-25 17:17:01 -04:00
Robby Findler
5de6ff2ada Adjusts the prompt handling so that it submits expressions that signal
arbitrary read errors, but does not submit those that raise eof errors.
closes PR 11126
2010-08-24 20:06:45 -05:00
John Clements
215c8dc960 best guess on what keystrokes will trigger insert-()-pair under windows & unix. 2010-08-13 11:01:05 -04:00
John Clements
cfe503f1ce updated framework test framework:
- can now test multi-key sequences

- can now use tests with 'escape

- README changed .ss to .rkt

- added test cases for c:c;c:[
2010-08-13 11:01:04 -04:00
Eli Barzilay
fcedc30ee4 Rename "collects/tests/mred" -> ".../gracket".
Some additional mred-related tweaks.
2010-05-17 01:44:27 -04:00
Eli Barzilay
7f6efdc8be A lot of "MrEd" -> "GRacket"s. 2010-05-16 23:46:05 -04:00
Robby Findler
155cc4ac05 fixed the way preference file restoration works in the case that there is no preferences file to start with 2010-05-08 16:22:56 -05:00
Matthew Flatt
e504acb726 use .rktl suffix for files meant to be 'load'ed 2010-05-01 09:58:16 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Robby Findler
3955ef69b4 try to debug new drdr failure
svn: r18329
2010-02-24 21:46:53 +00:00
Robby Findler
92717e0f0b used stderr when tests fail
svn: r18226
2010-02-20 17:16:54 +00:00
Robby Findler
8424dea37b avoid doing mac os x-specific tests unless under mac os x
svn: r18154
2010-02-18 20:36:03 +00:00
Robby Findler
8d96441673 PR 10591
svn: r16897
2009-11-19 20:29:36 +00:00
Robby Findler
6ac7ad9a3c svn: r16110 2009-09-22 10:10:46 +00:00
Robby Findler
02e4426d06 PR 10406
svn: r15748
2009-08-16 09:56:24 +00:00
Robby Findler
5e84de9166 stupid bug that only breaks the test suite sometimes
svn: r14905
2009-05-21 20:14:03 +00:00
Robby Findler
bd375ef605 PR 9873 (hopefully)
svn: r12193
2008-10-31 12:40:05 +00:00
Robby Findler
86671cf6dc PR 9814
svn: r12001
2008-10-13 13:45:55 +00:00