<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
My previous answer is completely wrong, because I conflated two
issues you raised.<br>
<br>
Your solution works well to avoid styling the result of a printIt as
if it was Smalltalk code. But it doesn't address the other issue you
raised, that is, after that point, the styling of the rest of the
workspace is messed up.<br>
<br>
My suggestion (modifying #printIt to enclose the result in double
quotes) actually addresses both issues: comments are not styled, and
smalltalk code after them is styled correctly. Maybe we'd push this
instead? Perhaps we'd also tweak the style so it doesn't look like
comments, but the main point is that parsing will be correct
afterward. We could also add a dot after the comment, maybe that
makes Shout happier in case you forgot to type it.<br>
<br>
The real fix would be to shout from scratch after 2 empty lines.
That was the intended behavior some time ago, and it works for
coloring but not for assignment arrows. Fixing this is a bit more
complicated. so I'd sugges opening an issue on GitHub so we don't
forget.<br>
<br>
Thanks,<br>
<br>
On 6/2/2023 11:36 AM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyoEPy74Amgg5owQyhyXqhEqr64wo9HhYbCW1xpAjYVmYg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div dir="auto">Last week I did the change to enclose printIt
output in double quotes, and I used it like that for a couple
of days. I didn’t really like it, but perhaps I’m just not
used to it. It colored the printIt output with the gray color
that I use for comments, and for some reason it didn’t feel
right to me.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Another thing that seems to cause problems with
highlighting is my habit of neglecting to type the last dot in
the last sentence, because it’s optional in Smalltalk and I
never type it… but then it confuses the syntax highlighter,
even if I leave several empty lines between fragments of code,
it seems.</div>
<div dir="auto"><br>
</div>
<div dir="auto">It’s weird that my change doesn’t work for you.
I just tried it in the latest image and it doesn’t seem to
work, but it works in my project image and I can’t figure out
why it fails in the stock image. See the attached change set.
I guess it would be more correct to change
TextColor>>dominates: adding "or: [other isForShout and:
[self isForShout not]]", or something like that... but still,
why doesn't it work? If some part of the text has attributes
that dominate over shout attributes it shouldn't change them,
right? Is this a bug?</div>
<div dir="auto"><br>
</div>
<div>BTW, I'm not pushing to adopt my change, I don't know yet
what's the best solution.<br>
</div>
</div>
<div dir="auto"><br>
</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, 2 Jun 2023 at 15:23
Juan Vuletich <<a moz-do-not-send="true"
href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff"> Please see inline.<br>
<br>
On 6/2/2023 10:09 AM, Juan Vuletich via Cuis-dev wrote:
<blockquote type="cite"> I couldn't get that idea to work.
Would you attach a changeset?<br>
<br>
In any case, another simple but maybe less comfortable
solution is to enclose the result in double quotes,
making it comment.<br>
<br>
Thanks,<br>
</blockquote>
<br>
Of course the above is completely wrong, because I
conflated two issues you raised.<br>
<br>
Your solution works well to avoid styling the result of a
printIt as if it was Smalltalk code. But it doesn't
address the other issue you raised, that is, after that
point, the styling of the rest of the workspace is messed
up.<br>
<br>
My suggestion (modifying #printIt to enclose the result in
double quotes) actually addresses both issues: comments
are not styled, and smalltalk code after them is styled
correctly. Maybe we'd push this instead?</div>
<div bgcolor="#ffffff"><br>
<br>
Thanks,<br>
<br>
<blockquote type="cite"> <br>
On 6/2/2023 7:23 AM, Luciano Notarfrancesco via Cuis-dev
wrote:
<blockquote type="cite">
<div dir="auto">Oh, just after sending this email I
gave it another try and found a simple solution. In
SmalltalkEditor>>#printIt I set the color of
the output text to Theme current text, and I changed
TextColor>>dominates: adding “or: [other
isForShout]”. That’s all :)</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, 2 Jun
2023 at 11:59 Luciano Notarfrancesco <<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com"
target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px
0px 0px 0.8ex; border-left: 1px solid rgb(204,
204, 204); padding-left: 1ex;">
<div dir="auto">I’ve been thinking how to
prevent the printIt output to be syntax
highlighted. I think it’s best to do that
because the output is not Smalltalk code, so
the syntax highlighter gets it almost always
wrong. It could be a preference, or it could
be specified in the printOn: methods that know
that the output is not Smalltalk code. What do
you think? How would you implement it? A new
text attribute makes sense to you or do you
have any other idea?</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, 1
Jun 2023 at 20:53 Luciano Notarfrancesco
<<a moz-do-not-send="true"
href="mailto:luchiano@gmail.com"
target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin: 0px 0px 0px 0.8ex;
border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div dir="auto">Oh, that’s great, using
subpixel antialiasing just solved the
problem! Thanks!</div>
<div dir="auto"><br>
</div>
<div dir="auto">I’ll try NeoEuler. It
would be nice to have fallback fonts
too… some math glyphs are missing in
DejaVu… but it’s not a big deal. Another
minor aesthetic problem is that the
syntax highlighter sometimes gets
confused with the output of printIt,
perhaps would be better to not apply
syntax highlighting to the output, or to
have the option to “lock” the output
text in some printOn: methods so that
the syntax highlighter doesn’t change it
(perhaps a new attribute? not sure if
this makes sense). Also sometimes the
underscores are not converted to arrows
in a workspace, perhaps this is related
to the syntax highlighter getting
confused.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Thanks!</div>
<div dir="auto">Luciano</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On
Thu, 1 Jun 2023 at 17:42 Juan
Vuletich <<a
moz-do-not-send="true"
href="mailto:juan@cuis.st"
target="_blank">juan@cuis.st</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin: 0px 0px 0px 0.8ex;
border-left: 1px solid rgb(204, 204,
204); padding-left: 1ex;">
<div bgcolor="#ffffff"> Hi Luciano,<br>
<br>
On 5/30/2023 9:06 AM, Luciano
Notarfrancesco via Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div>BTW, in case anyone is
curious, here is how
matrices look when printing
them on a workspace with
cmd-p. I draw matrices over
the binary field in a
special way (first
screenshot), and I scale
them down if they are too
big.</div>
<div>I did this because it was
hard to make matrices look
good when printing them as
text, so instead I draw them
on a form and embed the form
when printing them. I only
do this with matrices, they
are especially problematic
when printing because they
print with more than one
line, they are the only
objects in my system that
need more than one line for
printing. When I printed
them as text with more than
one line, printing a list of
matrices (for example an
array of matrices, as in the
example where I print a
basis of a vector space in
the screenshots) they would
look horrible. Now a list of
matrices is printed in a
single line as expected, and
the point size of the
enclosing parentheses is
adjusted automatically (I
have messages
Stream>>#withParentheses:,
#withBrackets:,
#withAngleBrackets:, etc,
that do this automatically).</div>
</div>
</blockquote>
<br>
It looks beautiful!<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>I still have two little
problems that I might want
to tweak:</div>
<div>1) the parentheses are
too thick, setting the point
size is not the right thing
to do, maybe we need a new
text attribute for scaling
text without changing the
point size?;</div>
</div>
</blockquote>
<br>
The easiest solution is to use a
different font, just for the
parentheses. For example, NeoEuler
parentheses are much lighter at
large point sizes.<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>2) matrices inside
matrices loose the
transparent background, the
background becomes black, as
you see in the example in
the second screenshot.<br>
</div>
</div>
</blockquote>
<br>
I guess this should be fixable. If
you can prepare an image with such
example for me to play with, I'll
give it a try. For example (not
sure if related) VectorEngine can
do blending over translucent
backgrounds, but only if subpixel
sampling is used. I know, there is
no relation between these two
features... But I wanted to keep
options to a small number, and
usually we only use cheaper whole
pixel AA and cheaper alpha
blending that can't blend over
translucent backgrounds. So, maybe
just using the SubPixel engine
solves this problem, or I'll be
happy to take a look.<br>
<br>
<blockquote type="cite"><br>
<div class="gmail_quote">
<div dir="ltr"
class="gmail_attr">On Tue,
May 30, 2023 at 7:27 PM
Luciano Notarfrancesco <<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com"
target="_blank">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote
class="gmail_quote"
style="margin: 0px 0px 0px
0.8ex; border-left: 1px
solid rgb(204, 204, 204);
padding-left: 1ex;">
<div dir="ltr">
<div>This change set fixes
a little bug in
VectorCanvas that cames
up when using the canvas
to draw text with images
on a form (outside
morphic). I do this to
draw matrices, and when
drawing a matrix whose
coefficients are also
matrices this came up.
The fix is simply
checking that the world
is not nil.<br>
</div>
</div>
</blockquote>
</div>
</blockquote>
<br>
Integrated and at GitHub. Thanks!<br>
<br>
Cheers, <br>
</div>
<div bgcolor="#ffffff">
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</blockquote>
<br>
<br>
<pre style="font-family: monospace;" cols="72">--
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" style="font-family: monospace;" target="_blank">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" style="font-family: monospace;" target="_blank">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" style="font-family: monospace;" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" style="font-family: monospace;" target="_blank">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family: monospace;" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family: monospace;" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" style="font-family: monospace;" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>