* Line-width <br><br>In GEdit, there's an option to show a thin vertical line at 80 chars (modifiable number).<br>I find it of great help to avoid writing long lines, which I tend to not do otherwise or often (inconveniently) look at the column number to see where I am.<br>
Such a vertical line might be a good idea for DrRacket.<br><br>Laurent<br><br><div class="gmail_quote">On Wed, May 9, 2012 at 10:18 AM, Laurent <span dir="ltr"><<a href="mailto:laurent.orseau@gmail.com" target="_blank">laurent.orseau@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br><br>Reading the style guide for Racket, I came up with a few debatable suggestions.<br>( <a href="http://www.ccs.neu.edu/home/matthias/Style/style/Textual_Matters.html" target="_blank">http://www.ccs.neu.edu/home/matthias/Style/style/Textual_Matters.html</a> )<br>
<br>Apologies if this has already been longly debated.<br><br>* Indentation: adding new indentations constructs to DrRacket<br><br>From the guide: "Caveat 1: Until language specifications come with fixed indentation
rules, we need to use the <span style="font-style:italic">default</span> settings of DrRacket’s indentation
for this rule to make sense."<br><br>Maybe a special submodule like drracket-indentation with declarations like:<br>(module+ drracket-indentation<br> (like-lambda my-lambda my-function ....)<br> (like-begin my-begin ....)<br>
)<br>could be useful for user-specific indentation.<br><br>As a submodule, Racket can read&load it only at appropriate moments.<br>When indenting the file, DrRacket could first load the drracket-indentation module of the file to know how to indent it.<br>
<br>One could then create a whole language with its own indentation rules.<br>It would also be easier to add good indentations for for/fold and others.<br><br>* Graphical syntax<br><br>"When we figure out how to save such files in an editor-compatible way, we
may relax this constraint."<br><br>Maybe the graphical job should be done by DrRacket only, and the file itself should remain textual.<br>For example, special forms can be turned into graphics by DrRacket when reading the file:<br>
You write:<br>(image "balloon.jpg")<br>and DrRacket turns this into the image (if the option is turned on somewhere in the preferences).<br>Of course, the s-exp should still be editable, for example with a contextual menu that proposes "Back to s-exp" or "Turn me into graphical form".<br>
<br>Or even surround it with a form like (drracket-show-image (image "balloon.jpg") 48 48) for better rendering (that form obviously expands into (image "balloon.jpg") for Racket).<br><br><br>Same for code folding, 2 options:<br>
- either surround s-exps with a (drracket-fold ....) form to inform DrRacket to fold the s-exp, and Racket to just do what's inside the form, (but that "pollutes" the file for external editors, though an `unfold-file' function should not be too difficult to do)<br>
- or do not save folding into the file (loading a file displays it unfolded, then it can be folded as desired). This might be problematic with DrSync though, unless the file is not reverted if it has not changed.<br><br>
<br>
But I agree all this would require some work, certainly.<span class="HOEnZb"><font color="#888888"><br><br>Laurent<br>
</font></span></blockquote></div><br>