Re: Alternatives to DrRacket

Neil Van Dyke <[email protected]>
Newsgroups gmane.comp.lang.racket.user,gmane.lisp.scheme.plt
Message-ID <[email protected]>
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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.