racket/doc
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
..
r5rs-std line-ending properties 2008-04-16 20:55:56 +00:00
r6rs-lib-std A long overdue scan to eliminate files without terminating newlines. 2011-06-28 02:01:41 -04:00
r6rs-std A long overdue scan to eliminate files without terminating newlines. 2011-06-28 02:01:41 -04:00
release-notes automatic parenthesis mode improvements 2012-11-25 21:57:52 -06:00
srfi-std A long overdue scan to eliminate files without terminating newlines. 2011-06-28 02:01:41 -04:00
.gitignore Ignores that are roughly the same as the ones in svn 2010-04-18 10:47:32 -04:00
doc-license.txt Switch the license text from LGPLv2 to LGPLv2.1. 2011-05-27 18:09:55 -04:00