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 |
<[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 |
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:-) |
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 |
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 |
Free forum by Nabble | Edit this page |