The Racket repository
![]() 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 |
||
---|---|---|
collects | ||
doc | ||
man/man1 | ||
src | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
README |
The Racket programming language =============================== Important executables: * DrRacket: Racket's integrated development environment (start here!). * Racket: the main command-line entry point for running racket programs and scripts. * GRacket: the GUI-mode Racket executable. * raco: Racket's command-line toolset. More Information ---------------- Racket comes with extensive documentation: use DrRacket's `Help' menu, or run `raco docs'. Also, visit us at http://racket-lang.org/ for more Racket resources. Instructions for building Racket from source are in src/README. License ------- Racket Copyright (c) 2010-2012 PLT Scheme Inc. Racket is distributed under the GNU Lesser General Public License (LGPL). This means that you can link Racket into proprietary applications, provided you follow the rules stated in the LGPL. You can also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular means that you must release the source code for the modified software. See doc/release-notes/COPYING.txt for more information.