SciLexer.dll 1.68

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

SciLexer.dll 1.68

Steve Alan Waring
Hi Andy and Blair,

Will Object Arts be updating SciLexer.dll as new versions are released?
Any plans to update to 1.68?

I ask because I was looking for ways to replace the syntax formatting's
red squiggly underline with something a bit more subtle. I tried the
various existing indicator styles, but they were all a bit too heavy
for my liking.

I read on the Scintilla page that v1.68 has translucent indicators. I
downloaded it and temporarily replaced the existing dll, and changed
the indicator definitions to use INDIC_ROUNDBOX (which I assume is
style = 7).

IMO It is very nice! I played around with the color so that I just got
a slight fade. Again IMO, much nicer than the red squiggle which I find
hides periods and commas and is just too full on for mostly telling me
that I have not yet finished typing.

If anyone has any other suggestions for replacing the red squiggle
without needing to change to SciLexer.dll  1.68, I would love to hear
them.

Thanks,
Steve
--
Steve Waring


Reply | Threaded
Open this post in threaded view
|

Re: SciLexer.dll 1.68

Blair McGlashan-4
<[hidden email]> wrote in message
news:[hidden email]...

> Hi Andy and Blair,
>
> Will Object Arts be updating SciLexer.dll as new versions are released?
> Any plans to update to 1.68?
>
> I ask because I was looking for ways to replace the syntax formatting's
> red squiggly underline with something a bit more subtle. I tried the
> various existing indicator styles, but they were all a bit too heavy
> for my liking.
>
> I read on the Scintilla page that v1.68 has translucent indicators. I
> downloaded it and temporarily replaced the existing dll, and changed
> the indicator definitions to use INDIC_ROUNDBOX (which I assume is
> style = 7).
>
> IMO It is very nice! I played around with the color so that I just got
> a slight fade. Again IMO, much nicer than the red squiggle which I find
> hides periods and commas and is just too full on for mostly telling me
> that I have not yet finished typing.
>
> If anyone has any other suggestions for replacing the red squiggle
> without needing to change to SciLexer.dll  1.68, I would love to hear
> them.
>

Yes, I would tend to agree it can be a bit strong. One option would be to
look at improving error recovery in the parser so that it doesn't
necessarily squiggle so much of the method when you're in the middle of
typing something. I'm not sure how feasible this is - I think one of the
reasons John Brant did Smacc was to provide a Smalltalk parser with enhanced
error recovery over the RB parser, but maybe I am misremembering. We
certainly had to modify the RB parser so that it would "keep going" on
encountering an error, and the solution is far from perfect.

We probably won't release updates for Scintilla versions in patches as a
general practice. In particular I want to avoid having code in the wrapper
class that is backwards compatible with previous versions, so any version
change will have to include the DLL in the distribution. That means the
change would have to justify the effort of creating the patch.

Thanks for the suggestion though Steve.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: SciLexer.dll 1.68

Fernando Rodríguez
In reply to this post by Steve Alan Waring
Hello [hidden email],

> I read on the Scintilla page that v1.68 has translucent indicators. I
> downloaded it and temporarily replaced the existing dll, and changed
> the indicator definitions to use INDIC_ROUNDBOX (which I assume is
> style = 7).

Could you elaborate on this? O:-)


Reply | Threaded
Open this post in threaded view
|

Re: SciLexer.dll 1.68

Steve Alan Waring
Hi Fernando,

> Could you elaborate on this? O:-)

Sure! ... what I did was download the latest version of SciLexer.dll,
temporarily replace the existing SciLexer.dll, and then hack a throw
away image to use the new translucent indicator.

In detail:
 - Close down all images and rename the "[Program Files]\Object
Arts\Dolphin Smalltalk 6.0\SciLexer.dll" file.
 - Go to http://scintilla.sourceforge.net/ScintillaDownload.html and
download "wscite168.zip" by following the "SciTE executable full
download" link. Unzip it, and copy the "SciLexer.dll" to "[Program
Files]\Object Arts\Dolphin Smalltalk 6.0\"
 - Start a disposable/not important image.
 - Open a browser and go to a class/method where it doesn't matter what
changes you make (Animal>>name is a good choice).
 - Open the Flipper inspector ("Tools" menu/"Flipper Inspector"),
switch to the "Visual Object Finder", and then drag the visual finder
icon over the "Method source" pane.
 - Switch to the "Published Aspects" ... and you should be looking at a
MethodWorkspace.
 - Expand the "view" aspect, then expand the "indicatorDefinitions"
aspect. You should see an array of two ScintillaIndicatorDefinitions. I
think the first is for errors, the second for warnings.

The Scintilla wrapper is very dynamic, so any changes you make to the
scintillaIndicatorDefinitions are displayed immediately. For example,
in the browser's methods pane, type something that gives you a sqiggle.
Go back to the Flipper inspector, and then expand the first
ScintillaIndicatorDefinition, select the "styleName" aspect and change
it. You should see the red sqiggle immediately change to whatever you
select.

The aspects are not setup for the new INDIC_ROUNDBOX indicator, so you
will need to set it manually. Select the first
ScintillaIndicatorDefinition, and in the right hand side workspace
pane, type "self style: 7" and accept it. Once you have done this, play
around with the "forecolor" aspect of the ScintillaIndicatorDefinition.

These steps only change the indicators for that browser. I think that
to make the changes permanent, you would need to edit the various view
resources, making similar changes. I have not done this as yet ... I
wanted to get a feel of OA's plans first, and I will probably stick
with a fresh image/supported version of SciLexer.dll for the moment ...
however it is tempting to switch!

Steve
--
Steve Waring


Reply | Threaded
Open this post in threaded view
|

Re: SciLexer.dll 1.68

Steve Alan Waring
In reply to this post by Blair McGlashan-4
Hi Blair,

> One option would be to
> look at improving error recovery in the parser so that it doesn't
> necessarily squiggle so much of the method when you're in the middle of
> typing something.

I had not considered this side of it. Personally, after a couple of
weeks of use, I feel that it already does a good job of identifying the
position of the error. If I open a literal string, and it squiggles
everything in sight ... I kind of expect it  ... what choice does it
have?! OTOH, re my original message, if instead of a squigle, the code
became slightly faded, it would be less distracting.

> We probably won't release updates for Scintilla versions in patches as a
> general practice. In particular I want to avoid having code in the wrapper
> class that is backwards compatible with previous versions, so any version
> change will have to include the DLL in the distribution. That means the
> change would have to justify the effort of creating the patch.

Thanks, good to know!
Steve