GoScintilla - 2.7 (Purebasic 4.5 onwards)

Developed or developing a new product in PureBasic? Tell the world about it.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 1.0 (PB 4.4 only)

Post by srod »

GoScintilla 2.0 (beta 1) - 3rd May 2010

GoScintilla 2 is a huge upgrade over the original GoScintilla helper library and is perhaps what GoScintilla should have been in the first place. :wink: My thanks to Peyman for kicking me where it hurts in order to provide the incentive to finally get around to adding some much needed functionality, and for providing some example code.

GoScintilla 2 offers the following improvements :
  • Automatic code-completion.
  • Automatic nested call-tips (code-tips).
  • Bookmarks.
  • Auto-indentation.
  • Numerous minor improvements.
This has been a lot of work and so I release this in beta form and without an up to date manual. The manual will be brought up to date asap, but in the meantime GoScintilla 2 is available for testing etc. The "History.txt" file should be the first port of call for those interested in rummaging through this new version, quickly followed by the new demo programs.

And now for the bad news... :wink:
  1. GoScintilla 2 is for Purebasic 4.5 (onwards) only.
    I took advantage of some of PB 4.5's new facilities to simplify GoScintilla 2 somewhat and, considering the complexity of GoScintilla now, I do not intend supporting two different versions etc.
  2. Some (but not all) existing code designed for the original GoScintilla will not work with GoScintilla 2. Such breakages were inevitable considering the nature of this upgrade. I have removed some functions/flags and moved things around a little. All of GoScintilla's original functionality remains intact, it is just that you may need to modify your existing code slightly.

    Please see the "History.txt" file for a complete list of changes.
In addition, I will point out that Scintilla (not GoScintilla) does have a few quirks where code-completion and call-tips are concerned (especially call-tips!) In particular, please do not compare Scintilla's code-completion facilities with those of the Purebasic IDE. The IDE does not make use of Scintilla's code-completion. Instead, Freak rolled his sleeves up and rolled his own long before the IDE made use of Scintilla at all. :)

Please see the nxSoftware site for the download.
I may look like a mule, but I'm not a complete ass.
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: GoScintilla - 1.0 (PB 4.4 only)

Post by ts-soft »

Imagethank you, very impressive Image
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 1.0 (PB 4.4 only)

Post by srod »

ts-soft wrote:Imagethank you, very impressive Image
You're welcome Thomas.

I have a couple more modifications to make (smoothen out the code-completion for one, I can stop it flickering quite so much) but I will get onto the manual by day's end. :)
I may look like a mule, but I'm not a complete ass.
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: GoScintilla - 2.0

Post by ts-soft »

small question: is there a way to add calltips to commands like

Code: Select all

Print "Hello World!"
command doesn't have a "("

greetings
Thomas
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 2.0

Post by srod »

Well, you can use other symbols other than a '(' of course.

I'll see what I can do.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 2.0

Post by srod »

ts-soft wrote:small question: is there a way to add calltips to commands like

Code: Select all

Print "Hello World!"
command doesn't have a "("

greetings
Thomas
@Thomas,

I have it working, but interesting things happen when you construct a statement like Print ("Yahoo!"), i.e. when you combine different open call-tip delimiters, and so I need to make a more substantial modification.

I have thus removed the download temporarily whilst I rework part of the lexer.

Shouldn't take too long.
Last edited by srod on Tue May 04, 2010 8:45 am, edited 1 time in total.
I may look like a mule, but I'm not a complete ass.
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: GoScintilla - 2.0

Post by ts-soft »

Thank you for your big efforts :D

The problem is, there a commands like Print "bla" and functions like Print("bla"),
but there are only one calltip required for both
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 2.0

Post by srod »

ts-soft wrote:...The problem is, there a commands like Print "bla" and functions like Print("bla"),
but there are only one calltip required for both
@Thomas : I've just noticed this remark of yours. I have now effectively redesigned GoScintilla 2 (which now breaks all existing GoScintilla code! :) ) in order to get the nested call-tips working in a more realistic manner. I've yet to code the new call-tips but everything else is working fine now.

What I have done is remove the call-tip delimiters completely. Instead, when you assign a call-tip to a keyword, you now assign a pair of 'call-tip separators' to the keyword. This means that, for example, you can apply call-tips to the following :

Code: Select all

Abs(...blah...)
Print "...blah..."
and there will not be any confusion with

Code: Select all

Abs "...blah..."
This is where my original implementation collapsed.

However, with your comment in mind regarding Print "..." and Print ("...") it would seem that you are requesting that each keyword can have multiple pairs of call-tip separators! In this case, Print would need the '()' and '""' pairs.

Is that how you see it? I don't want to embark on what is a very complex routine if I am still missing something out. :wink: I want to get it right this time as I have already gutted GoScintilla 2 once because of this issue!

Thanks for your help.
I may look like a mule, but I'm not a complete ass.
User avatar
flaith
Enthusiast
Enthusiast
Posts: 704
Joined: Mon Apr 25, 2005 9:28 pm
Location: $300:20 58 FC 60 - Rennes
Contact:

Re: GoScintilla - 2.0

Post by flaith »

I tried to download PB 450 version but i have a : "The page cannot be found" :(
“Fear is a reaction. Courage is a decision.” - WC
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: GoScintilla - 2.0

Post by ts-soft »

here some more examples to explain what is required:

Code: Select all

Window 20,20-400,300
DestroyWindow(hD%)
Print "Hello"
Print "Hello", a$, "my friend"
Window as statement or command and destroywindow as function, the can nested.

If it does a problem or is too much expenditure, it is also not so bad.

thx
Thomas
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 2.0

Post by srod »

ts-soft wrote:here some more examples to explain what is required:

Code: Select all

Window 20,20-400,300
DestroyWindow(hD%)
Print "Hello"
Print "Hello", a$, "my friend"
Window as statement or command and destroywindow as function, the can nested.

If it does a problem or is too much expenditure, it is also not so bad.

thx
Thomas

The second and third will be fine. The 4th one in parts. The first one... no chance. :)

Another re-think is in order. I'll get this damn thing working properly if it kills me! Mind you, the latest GoScintilla 2 has a much better internal structure than my initial version of GoScintilla 2 and so I should be able to tinker around much easier.

@Flaith : read a few posts back. I have removed the download whilst I rework call-tips thanks to that slave driver ts-soft! :twisted:

**EDIT : rethink complete... yes Thomas, I may well be able to cover all 4 of your examples. No promises mind. :)
I may look like a mule, but I'm not a complete ass.
User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Re: GoScintilla - 2.0

Post by ts-soft »

I thank you, if you were a woman, I would kiss you.
There you will have to renounce, unfortunately, on it :mrgreen:
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: GoScintilla - 2.0

Post by srod »

ts-soft wrote:I thank you, if you were a woman, I would kiss you.
There you will have to renounce, unfortunately, on it :mrgreen:
Note to self... keep away from Germany for a few years!

:wink:
I may look like a mule, but I'm not a complete ass.
DoctorLove
User
User
Posts: 85
Joined: Sat Mar 06, 2010 2:55 pm

Re: GoScintilla - 2.0

Post by DoctorLove »

I only want to say: Respect to Srod!
People like him makes a community strong.

Keep up the good work.

Ps. oh well, youd better stay from holland as well then... :)
Armoured
Enthusiast
Enthusiast
Posts: 365
Joined: Mon Jan 26, 2004 11:39 am
Location: ITALY
Contact:

Re: GoScintilla - 2.0

Post by Armoured »

Srod, the link for GoScintilla 2.0 doesn't work.
Please correct it.



Thanks
Post Reply