NotePad++ native DataFlex support
Hi,
As you may know The Hammer uses the scintilla control for its editor.
Over the past week I have worked with the developer from that control to get my DataFlex lexer merged into the latest scintilla control.
That merge was done last night. So next version of the scintilla control WILL have native DataFlex support.
That by itself is great as it makes it easier for me to keep the editor control in The Hammer in sync with new updates to the scintilla control.
But.. it is great for more reasons as just "The Hammer".
As you might know the scintilla control is used by more source code editors.
One fairly popular editor is "NotePad++"...
So today I played a bit with NotePad++ and yes indeed it is possible to add native DataFlex language support there too.
You can find the code for that here:
[URL]https://github.com/wilva/notepad-plus-plus[/URL]
However it will take a bit more time to get my code for that upstream as the NotePad++ developer will first have to sync with the latest scintilla control. I have no idea when that will happen.
NotePad++ does not just allow you to swap out the scintilla control DLL (sciLexer.dll) as it has to be signed with their developers certificate.
So in order to be able for you to play with it and give me feedback I prepared a few precompiled binaries (with the certificate check removed):
[URL]https://projects.vdf-guidance.com/attachments/download/166/NotePadPlusPlus-7.7-DataFlex.zip[/URL] (32 bits)
[URL]https://projects.vdf-guidance.com/attachments/download/167/NotePadPlusPlus-7.7-DataFlex-x64.zip[/URL] (64 bits)
Note that I did not sign those binaries (sorry too much hassle for the moment) and as they are just zipped, you will have to "unblock" them in Windows Explorer properties.
There's also 2 .xml files that have been adapted.
So you should get the official .zip notepad++ 7.7 version, then replace the notepad++.exe and the scilexer.dll
Put the 2 .xml's in the same folder.
Remove/rename existing langs.xml and stylers.xml so that it will generate a new copy from the 2 *.model.xml files.
Then it should work.
None of those extra steps are needed once I get this upstream, but for the moment it is what it is.
Enjoy!
--
Wil
Re: NotePad++ native DataFlex support
Nice. Sounds like some good exposure for DataFlex coming soon because of the many users of those editors...
Re: NotePad++ native DataFlex support
Steve,
Seems you have identified my main motivation :)
I forgot to mention a few things.
1. The license of the scintilla control (and thus my donated lexer) is free for commercial use.
2. The scintilla control compiles in 32 bits as well as 64 bits and supports unicode.
3. The SciTE editor, which is the editor that scintilla was developed for, already has support for DataFlex merged along with the scintilla merges. The developer of that editor however disabled DataFlex support by default. You have to make a small change to a configuration file to enable it. The reason he disabled support was because there's some file extension clashes with other languages.
There's a lot of projects using the scintilla control (see [URL]https://www.scintilla.org/ScintillaRelated.html[/URL] ) so can look at other areas later on.
One step at a time.
I encourage active notepad++ users to try the above binaries and tell me what they miss or like to see changed.
--
Wil
Re: NotePad++ native DataFlex support
Re: NotePad++ native DataFlex support
Re: NotePad++ native DataFlex support
[QUOTE=wila;345193]Steve,
Seems you have identified my main motivation :)
I forgot to mention a few things.
1. The license of the scintilla control (and thus my donated lexer) is free for commercial use.
2. The scintilla control compiles in 32 bits as well as 64 bits and supports unicode.
3. The SciTE editor, which is the editor that scintilla was developed for, already has support for DataFlex merged along with the scintilla merges. The developer of that editor however disabled DataFlex support by default. You have to make a small change to a configuration file to enable it. The reason he disabled support was because there's some file extension clashes with other languages.
There's a lot of projects using the scintilla control (see [URL]https://www.scintilla.org/ScintillaRelated.html[/URL] ) so can look at other areas later on.
One step at a time.
I encourage active notepad++ users to try the above binaries and tell me what they miss or like to see changed.
--
Wil[/QUOTE]
trying it now. It doesn't much like some of the plugins I use, including the plugin manager itself, and most importantly NPPExec which I have to use to compile charmode stuff. :(
Re: NotePad++ native DataFlex support
Hi Dave,
[QUOTE=DaveR;345238]trying it now. It doesn't much like some of the plugins I use, including the plugin manager itself, and most importantly NPPExec which I have to use to compile charmode stuff. :([/QUOTE]
Interesting. I'm not sure why it breaks for you though.
My changes with the master branch are just these:
[url]https://github.com/wilva/notepad-plus-plus/compare[/url]
Of course I also have a new lexer in the scintilla control itself, but I fail to see how that would explain what you are bumping into.
The scintilla editor control is not likely to provide the plugin parts, I only remember seeing differences at lexer level.
The NotePad++ dev's made some changes on May 30 here:
[url]https://github.com/notepad-plus-plus/notepad-plus-plus/commits/master[/url]
Which I think are the only differences between version 7.7 and where trunk is now.
Is the version of NotePad++ that you used before my binaries also version 7.7?
If so, do you have more details so that I can try and reproduce your issue?
You can contact me by email otherwise, so we can try to figure out what is happening here.
--
Wil
1 Attachment(s)
Re: NotePad++ native DataFlex support
Ahh.. I forgot the screenshot.
Here you go:
[ATTACH=CONFIG]12877[/ATTACH]
--
Wil
1 Attachment(s)
Re: NotePad++ native DataFlex support
[QUOTE=wila;345247]Hi Dave,
Interesting. I'm not sure why it breaks for you though.
My changes with the master branch are just these:
[URL]https://github.com/wilva/notepad-plus-plus/compare[/URL]
Of course I also have a new lexer in the scintilla control itself, but I fail to see how that would explain what you are bumping into.
The scintilla editor control is not likely to provide the plugin parts, I only remember seeing differences at lexer level.
The NotePad++ dev's made some changes on May 30 here:
[URL]https://github.com/notepad-plus-plus/notepad-plus-plus/commits/master[/URL]
Which I think are the only differences between version 7.7 and where trunk is now.
Is the version of NotePad++ that you used before my binaries also version 7.7?
If so, do you have more details so that I can try and reproduce your issue?
You can contact me by email otherwise, so we can try to figure out what is happening here.
--
Wil[/QUOTE]
didn't really investigate very far, once I broke it I stopped; but most of my plugins failed with this or a similar message: I haven't checked to see if all these plugins got updated for 7.7 (which I applied just before seeing your post and hadn't tested) may have more time tomorrow.
[ATTACH=CONFIG]12878[/ATTACH]
Re: NotePad++ native DataFlex support
Ah right.
That actually makes perfect sense as I had only compiled a 32 bits version of notepad++, my bad.
Here's a 64 bits version:
[url]https://projects.vdf-guidance.com/attachments/download/167/NotePadPlusPlus-7.7-DataFlex-x64.zip[/url]
I will edit the top post and add the link there as well.
--
Wil