<div dir="auto">Juan, actually setting normal emphasis on printIt breaks it, because the text looses any subscripts and superscripts that it might have :/ What do you think we should do?</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 6 Jun 2023 at 21:35 Luciano Notarfrancesco <<a href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">Nice, that’s simpler and more general than setting the color, thanks.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 6 Jun 2023 at 21:21 Juan Vuletich <<a 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><u></u>
<div bgcolor="#ffffff" text="#000000">
Hi Luciano,<br>
<br>
I did a few tweaks. Instead of TextColor dominating any Shout
Attribute, I made TextStyle normal do that. Additionally, the final
$. is added without any attribute, so whatever follows it is back to
normal. Just pushed it to github.<br>
<br>
Thanks,</div><div bgcolor="#ffffff" text="#000000"><br>
<br>
<br>
On 6/6/2023 1:47 PM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div>Hi Juan,</div>
<div>Here are the changes. I've been using it like this for a
few days. It's very nice that the syntax highlighter doesn't
get confused with printIts... I like it, and I think I'll
continue using it like this, unless we come up with other
better ideas.</div>
<div>Still I've been experiencing some problems, sometimes
underscores are not converted to arrows, and sometimes the
syntax highlighter seems to stop working. I suspect the color
attribute I put might be spreading to the text I type into the
workspace, but I'm not sure, my workspaces tend to get very
messy so there might be other reasons.</div>
<div>(It seems the clock is wrong in my computer, I just noticed
the wrong date in the change set name, sorry)<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Jun 6, 2023 at
11:04 PM Juan Vuletich <<a 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div bgcolor="#ffffff"> Did this work well? Would you post
your code?<br>
<br>
Thanks,<br>
<br>
On 6/2/2023 12:28 PM, Luciano Notarfrancesco via Cuis-dev
wrote:
<blockquote type="cite">
<div dir="auto">Ah, great, I’m trying a mix of both
approaches: I enclose it in double quotes and add a dot
at the end, and also set the color to the default text
color so shout doesn’t color it as a comment. I’ll use
it like this for a while and see how it feels, and see
if there are still any problems with coloring or
underscores.</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 Fri, 2 Jun 2023
at 16:31 Juan Vuletich <<a 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div bgcolor="#ffffff"> 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,</div>
<div bgcolor="#ffffff"><br>
<br>
On 6/2/2023 11:36 AM, Luciano Notarfrancesco via
Cuis-dev wrote:
<blockquote 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 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<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 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<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 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<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 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<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 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<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 href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a 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 href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a 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 href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre style="font-family:monospace" cols="72">--
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre cols="72" style="font-family:monospace">--
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<br>
<br>
<pre cols="72" style="font-family:monospace">--
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
</div>
</blockquote></div></div>
</blockquote></div></div>