DrRacket is never going to be able to do everything as well as Emacs (and DrRacket can do some things a lot better than Emacs), but a few small conveniences that I'd like to see in DrRacket when I use it:

* Visually distinguish identifiers that start special syntax separate from `#lang racket/base` (or whatever Scheme-like lang), so, when reading code, you know whether some identifier you don't recognize JUST CHANGED ALL THE RULES.  See black bold variable names in screenshot: http://www.neilvandyke.org/temporary/20171126-quack.png


* Visually distinguish identifiers that define top-level names (variables, syntax extensions, unhygienic structs ahem, etc.).  See blue in screenshot.  I often visually scan for these names, and making them more prominent helps.  (Non-top-level, such as in `let` forms, would also be nice, though I don't have Quack doing that, and Quack just uses regexp kludges for the top-level ones.)

* Have Emacs-like "filling" of paragraphs of text in comments, including support for prefixed paragraphs like bulleted lists.  I sometimes make a lot of multiline TODO and code-explanatory comments, and as a compromise with the simple text-file representation of source code, and considering various 80-column tools and screen sizes that might be involved, I try to keep most of the code within the historical 79 columns. So, after I touch comments in DrRacket, I have to go to Emacs to re-fill them.

* Have a "tidy" feature like Quack's, which converts tabs&formfeeds to spaces, removes extraneous whitespace (ends of lines, multiple blank lines, beginning and end of file), and reindents the entire buffer.  (This doesn't do automatic comment-filling in Emacs, because sometimes that requires human discretion or crafting, and can be a mess if the code already wasn't written for filling (e.g., if it loses some other ad hoc formatting, and ends up blending paragraphs together, destroying tables and ASCII art, etc.)

* Emacs-like indenting of comments with 1-semicolon (i.e., indented to a column independent of indent level and whether there is preceding code on the line; the column position is either a fixed one (40), or, if the preceding line has a 1-semicolon comment beyond that fixed column, then the column of that preceding comment).  This is an old Emacs convention.  I could live without this, but DrRacket's 1-semicolon comments indenting to the code indent level means that they get messed up when indenting in Emacs or DrRacket, or when doing Quack tidy.

Also, for experienced use of DrRacket (not for intro students), I'd like to get rid of some of the clutter outside of the text widgets, such as buttons and indicators that I don't need.  And I wish that various message subwindows that pop into the frame and then need their close boxes to be clicked would go away automatically (see how Emacs uses the message&minibuffer area, does isearch, etc.).

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to