<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Thanks!<br>
<br>
Hernán, Phil, please review #3764 attached. The idea is simply to
make senders aware of the fact that maybe source range for some
parse node may be unavailable. This could be because it is OMeta,
but in the future it could be because of being in some DSL or
another language. I think it is generally a good idea to make the
system robust against this. I'd try this approach with other
possible tool breakage due to incompatibilities with OMeta.<br>
<br>
On a completely different node, UnsavedChangesTo−OMeta2−jmv.1.cs.st
and #3764 avoid the need to override a method in OMeta2Preload.st .
Hopefully, OMeta2Preload.st could be made a .pck.st.<br>
<br>
Finally, Phil, I think having both <a
href="https://github.com/pbella/OMeta-Cuis">https://github.com/pbella/OMeta-Cuis</a>
and <a
href="https://github.com/Cuis-Smalltalk/Parsers/tree/master/OMeta">https://github.com/Cuis-Smalltalk/Parsers/tree/master/OMeta</a>
is confusing. If you'd like to host it in the Cuis-Smalltalk org, I
can give you any permissions needed. If you prefer to host it at <a
href="https://github.com/pbella">https://github.com/pbella</a>
then in the Cuis-Smalltalk org I'd just include an .md pointing to
it.<br>
<br>
HTH.<br>
<br>
Cheers,<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
<br>
<br>
On 5/23/2019 5:35 AM, Phil B wrote:
<blockquote
cite="mid:CAMJMOehEpOW69p4LMcEecMUbV9zdHf80oWJ_5LbG5-zd4DG1qA@mail.gmail.com"
type="cite">
<div dir="ltr">Took me a bit to find an easily reproducible
example:
<div><br>
</div>
<div>1. git clone <a moz-do-not-send="true"
href="https://github.com/pbella/OMeta-Cuis">https://github.com/pbella/OMeta-Cuis</a><br>
2. open a Cuis5.0-3760 image<br>
3. install the <a moz-do-not-send="true"
href="http://OMeta2Tests.pck.st">OMeta2Tests.pck.st</a> from
the directory the repo was cloned to<br>
4. open a Message Names browser<br>
</div>
<div>5. search for 'form:' (without the quotes)</div>
<div>6. scroll down to the exact match and select it</div>
<div>7. right-click and select senders</div>
<div><br>
</div>
<div>At this point you should be looking at a 'key not found'
error. This isn't the only error I'm running into, just the
easiest one to reproduce so far. It happens whenever some
bit of code-walking stuff for highlighting etc. gets triggered
since the OMeta extensions are largely just a facade. If
editor code assumes that it's always parse-able and/or pokes
at OMeta methods too deeply, expected behaviors will fail.
Hence my suggestion that we push that sort of functionality to
something tied to #compilerClass that I can either adapt for
OMeta (where it translates) or disable (where it doesn't).</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 7:15
AM Juan Vuletich <<a moz-do-not-send="true"
href="mailto:juan@jvuletich.org">juan@jvuletich.org</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;">On 5/22/2019 2:25 AM, Phil B via Cuis-dev
wrote:<br>
> A lot of the recent 'quality of life' improvements due to
recent <br>
> changes have been great... when working with Smalltalk
code. On the <br>
> other hand, I'm working through some new issues re: OMeta
as a result <br>
> of some of the recent updates and was wondering how to
best handle them.<br>
><br>
> One specific example appears to be recent autoselect
enhancements <br>
> which hard-codes the assumption that the AST will match
what the user <br>
> is seeing on screen... often not the case with OMeta
code. (usually, <br>
> it's not even valid Smalltalk code when in source view)
The way we've <br>
> handled this sort of issue previously is to always check
<br>
> #compilerClass and have hooks on it for things like
#textStylerClass. <br>
> I'm not sure if we could/should wedge the autoselect code
into <br>
> #textStylerClass or if a #codeWalkerClass type of
solution might be <br>
> more appropriate. But if we could do something that
works via <br>
> #compilerClass, as opposed to hard coding the assumptions
in the <br>
> editor, it would be greatly appreciated. That way I can
either <br>
> override or disable as appropriate for OMeta.<br>
><br>
> While my immediate concern is OMeta code, it also seems
worth <br>
> providing a more general solution as it makes the text
editing code <br>
> more flexible for everyone should someone else want to do
the same <br>
> sort of thing for text/HTML/whatever editors.<br>
<br>
Hi Phil,<br>
<br>
Can you please provide a specific example, with instructions
detailed <br>
enough for someone who knows almost nothing about OMeta to see
what <br>
annoys you?<br>
<br>
We have, for example, SmalltalkEditor and SmalltalkCompleter.
All editor <br>
behavior that is specific for Smalltalk code should be in
these or other <br>
Smalltalk specific classes. Then tools could use alternative
objects for <br>
other kinds of text.<br>
<br>
I could really use a good example to understand better where
and how we <br>
need to fix stuff.<br>
<br>
Thanks,<br>
<br>
-- <br>
Juan Vuletich<br>
<a moz-do-not-send="true" href="http://www.cuis-smalltalk.org"
rel="noreferrer" target="_blank">www.cuis-smalltalk.org</a><br>
<a moz-do-not-send="true"
href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev"
rel="noreferrer" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a><br>
<a moz-do-not-send="true" href="https://github.com/jvuletich"
rel="noreferrer" target="_blank">https://github.com/jvuletich</a><br>
<a moz-do-not-send="true"
href="https://www.linkedin.com/in/juan-vuletich-75611b3"
rel="noreferrer" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a><br>
@JuanVuletich<br>
<br>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>