Scintilla.net is old, slow and not very portable. I propose we change to this:
http://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntax-highlighting
It's a pure .net(I think) syntax highlighted text box. It's also just a normal winforms control so we can do away with the weird scintilla wrappers.
Thoughts?
So is this more portable? Will this work with mono on Linux?
I've had big headaches in the past while working with scintilla (including some very ugly hacks while integrating the docking suite with it), so I'm all for it. Especially since the control you linked to looks very nice and feature complete.
Some points of concern:
- Do you know of any big project that uses this control successfully?
- Is the license good for us?
- Know that you will be entering a world of pain if you actually attempt this. It looks like a lot of work configuring and integrating it. You will also need to make a list of all the text editing features AGS currently has, and making sure they all still work.
I'm all for ditching the "weird scintilla wrappers". That was one of the most awkward and frustrating pieces of the editor code I've come across personally. Oh, and the code folding in this looks much, much nicer. Have fun in the world of pain! ;-D
Quote from: tzachs on Mon 27/01/2014 17:16:22
I've had big headaches in the past while working with scintilla (including some very ugly hacks while integrating the docking suite with it), so I'm all for it. Especially since the control you linked to looks very nice and feature complete.
Some points of concern:
- Do you know of any big project that uses this control successfully?
- Is the license good for us?
- Know that you will be entering a world of pain if you actually attempt this. It looks like a lot of work configuring and integrating it. You will also need to make a list of all the text editing features AGS currently has, and making sure they all still work.
License is Lesser GPL v3. This is GPL compatible, and should be Artistic License compatible too.
It enforces spaces over tabssssss! :angry:
- Alan
Quote from: Alan v.Drake on Thu 30/01/2014 17:21:47
It enforces spaces over tabssssss! :angry:
It's open source and LGPL, this may be changed.
Quote from: Alan v.Drake on Thu 30/01/2014 17:21:47
It enforces spaces over tabssssss! :angry:
- Alan
Good, it enforces good style.
HOLY WAR!
Tab vs Spaces ... must be a couple of decades since I head that debate. It's hardly relevant any more since most code editors (including Scite/Scintilla) effortlessly convert back and forth. I suppose it would be a requirement for any Scintilla replacement lest we end up in "holy war!". Just saying ...
So I rolled up my sleeves, made a new branch and started:
(http://i.imgur.com/EBUbfMh.png)
At this point the dependency on scintilla is completely gone and AGS works minus some features like autocomplete.
Looking good, Calin! Autocomplete would make it great. Stuff like extra syntax highlighting (take a Lua.Call statement for example - perhaps differentiating a bit between the "Lua" and the "Call") would be a cherry on top.
Those particular items dont highlight because the Lua plugin is disabled for that project :-[
It would be highlighted just fine if the plugin were enabled and the script header were injected. :>