Re: Versioning with Iceberg

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

Re: Versioning with Iceberg

Shaping1

 […]   I prefer the more detailed syntax highlighting in VW. 

 

Check the styler look for <style> in Pharo because you can create your own. 

 

I don’t see this in Settings.  I see “Syntax Highlighting…”

 

We need to do one for the dark theme. 

There are a lot of variations.

 

I forgot all the differences, but recall more levels of parentheses can be colored uniquely in VW and so can block-argument variables.  That would be a first small project:  make Pharo syntax highlight at least as good as VW’s.  I need to do the same for formatting, which I've not checked out very thoroughly yet. 

 

For formatting check the BIformatter. 

 

I cannot find class BIFormatter in the 7.0.3 image.  What must I load?

 

 

We are working on 

            - adding tests (we have about 150 tests ready to get integrated

            - working on a new tool to see and understand the settings

            - we want to make sure that we can pretty print the complete system

            so we will come probably with an extended pretty printer. 

 

Sounds good.

The other thing that has been causing problems and about which I've written some examples in Fogbugz (which no one is using anymore for Paro—and I didn’t know, lol) is that Pharo labels are truncated if you switch to a monospace font.  I can't see what I'm doing some of the time because the labels are chopped, and there is no automatic formatting of the fields to accommodate the new font, which is not even very big--just normal-sized monospace.   I suppose Spec takes care of this problem systematically and that this is why nothing else has been done to fix the problem.

 

Yes this is super annoying. Can you check with Spec 20 and this should be fixed. 

 

I’m not sure what Spec 20 is.  Are you referring to this document in progress:

 

https://travis-ci.com/SquareBracketAssociates/BuildingApplicationWithSpec2

 

?

 

Now the font logic is one of the few parts that we did not revisit yet but it is not way it should. 

Also may  users hardcode standardFonts….( the ugly singleton strike back). 

 

 

Are you aware of "extension methods" ? Where a method you add to a built-in Pharo class (Collection for example) is saved/loaded with your package.

Then you only need to manage your package not Pharo built-in packages as well.

 

Yes, I'm trying to get an Iceberg-on-Git groove going so that I can make my own packages for extensions/overrides. 

 

yes us know we can also do some screen sharing with you to get you up to speed. 



[..]

Cloning the Pharo Track repo from the command line is done like this...

   $ git clone [hidden email]

 

Sure, but we can do this in Iceberg—and it works.  So why use the command line?   

 

which creates a folder with the same name as the repo (i.e. "pharo-smalltalk") As a git GUI, Iceberg does the same.  Indeed, Iceberg uses libgit2 to do this, so the behaviour is standard git.

 

I was commenting on the ergonomics, and yes this is very much a Git thing. 

 

Git is bad :) but this is the way to go. 

The API sucks. 

 
Yes, it has terminology problems too.

 

 

Shaping

 

Reply | Threaded
Open this post in threaded view
|

Re: Versioning with Iceberg

ducasse


On 2 Jun 2019, at 20:19, Shaping <[hidden email]> wrote:

 […]   I prefer the more detailed syntax highlighting in VW. 
 
Check the styler look for <style> in Pharo because you can create your own. 
 
I don’t see this in Settings.  I see “Syntax Highlighting…”

It is not exposed in the settings. Probably because it had its own preferences and we should migrate it. 

I created the issue: 
Now we will see if we succeed to find the time to work on it. 


Check SHRBTextStyler

<styleTable: …>

here is the default style

blueStyleTable
"color can be a valid argument to Color class>>colorFrom: , or nil to
use the editor text color.
Multiple emphases can be specified using an array e.g. #(bold italic).
If emphasis is not specified, #normal will be used.
if pixel height is not specified , then the editor font size will be used.
"
<styleTable: 'Blue'>
 ^ #(
"(symbol color [emphasisSymbolOrArray [textStyleName [pixelHeight]]])" 
(default black)
(invalid red)
(excessCode red)
(comment (gray darker))
(unfinishedComment (red muchDarker))
(#'$' (red muchDarker))
(character (red muchDarker))
(integer (red muchDarker))
(number (red muchDarker)) 
(#- (red muchDarker))
(symbol (magenta muchDarker)) 
(stringSymbol (magenta muchDarker)) 
(literalArray (magenta muchDarker))
(string (magenta muchDarker) normal)
(unfinishedString red normal)
(assignment nil)
(ansiAssignment nil)
(literal nil italic)
(keyword (black))
(binary (black)) 
(unary (black))
(#self (cyan muchDarker ))
(#super (cyan muchDarker ))
(#true (red muchDarker))
(#false (red muchDarker))
(#nil (red muchDarker))
(#thisContext (cyan muchDarker ))
(#return (cyan muchDarker ) bold)
(patternArg (blue muchDarker)) 
(methodArg (blue muchDarker))
(blockPatternArg (blue muchDarker))
(blockArg (blue muchDarker))
(argument (blue muchDarker))
(blockTempVar (blue muchDarker))
(blockPatternTempVar (blue muchDarker))
(instVar (blue muchDarker))
(workspaceVar (blue muchDarker))
(tempVar (blue muchDarker))
(patternTempVar (blue muchDarker))
(poolConstant (blue muchDarker))
(classVar (blue muchDarker))
(globalVar (blue muchDarker))
(incompleteIdentifier blue italic)
(incompleteKeyword nil  italic)
(incompleteBinary nil  italic) 
(incompleteUnary nil  italic)
(undefinedIdentifier red)
(undefinedKeyword red)
(undefinedBinary red) 
(undefinedUnary red) 
(patternKeyword nil bold)
(patternBinary nil bold)
(patternUnary nil bold) 
(blockArgColon black)
(leftParenthesis black)
(rightParenthesis black)
(leftParenthesis1 (green muchDarker))
(rightParenthesis1 (green muchDarker))
(leftParenthesis2 (magenta muchDarker))
(rightParenthesis2 (magenta muchDarker))
(leftParenthesis3 (red muchDarker))
(rightParenthesis3 (red muchDarker))
(leftParenthesis4 (green darker))
(rightParenthesis4 (green darker))
(leftParenthesis5 (orange darker))
(rightParenthesis5 (orange darker))
(leftParenthesis6 (magenta darker))
(rightParenthesis6 (magenta darker))
(leftParenthesis7 blue)
(rightParenthesis7 blue)
(blockStart black)
(blockEnd black)
(blockStart1 (green muchDarker))
(blockEnd1 (green muchDarker))
(blockStart2 (magenta muchDarker))
(blockEnd2 (magenta muchDarker))
(blockStart3 (red muchDarker))
(blockEnd3 (red muchDarker))
(blockStart4 (green darker))
(blockEnd4 (green darker))
(blockStart5 (orange darker))
(blockEnd5 (orange darker))
(blockStart6 (magenta darker))
(blockEnd6 (magenta darker))
(blockStart7 blue)
(blockEnd7 blue) 
(arrayStart black)
(arrayEnd black)
(arrayStart1 black)
(arrayEnd1 black)
(leftBrace black)
(rightBrace black)
(cascadeSeparator black)
(statementSeparator black)
(methodTempBar (black))
(blockTempBar (black))
(blockArgsBar (black))
(externalCallType black)
(externalCallTypePointerIndicator black)
(primitiveOrExternalCallStart black bold)
(primitiveOrExternalCallEnd black bold)
(primitive (green muchDarker))
(pragmaKeyword (green muchDarker))
(pragmaUnary (green muchDarker))
(pragmaBinary (green muchDarker)) 
(externalFunctionCallingConvention (green muchDarker) bold)
(module (green muchDarker) bold))



 
We need to do one for the dark theme. 
There are a lot of variations.
 
I forgot all the differences, but recall more levels of parentheses can be colored uniquely in VW and so can block-argument variables.  That would be a first small project:  make Pharo syntax highlight at least as good as VW’s.  I need to do the same for formatting, which I've not checked out very thoroughly yet.  
 
For formatting check the BIformatter. 
 
I cannot find class BIFormatter in the 7.0.3 image.  What must I load?

BIConfigurableFormatter is in the image.
You have it in the settings. 

 
 
We are working on 
            - adding tests (we have about 150 tests ready to get integrated
            - working on a new tool to see and understand the settings
            - we want to make sure that we can pretty print the complete system
            so we will come probably with an extended pretty printer. 
 
Sounds good.

The other thing that has been causing problems and about which I've written some examples in Fogbugz (which no one is using anymore for Paro—and I didn’t know, lol) is that Pharo labels are truncated if you switch to a monospace font.  I can't see what I'm doing some of the time because the labels are chopped, and there is no automatic formatting of the fields to accommodate the new font, which is not even very big--just normal-sized monospace.   I suppose Spec takes care of this problem systematically and that this is why nothing else has been done to fix the problem.
 
Yes this is super annoying. Can you check with Spec 20 and this should be fixed. 
 
I’m not sure what Spec 20 is.  Are you referring to this document in progress: 
 

This document is just the description of the integration of Commander2 with Spec20. 
Spec20 has examples. 
Check SpecDemo
Check the examples in Spec-Examples.

but I just see that latest version is frrezing the image :(

Reply | Threaded
Open this post in threaded view
|

Re: FW: Versioning with Iceberg

Dale Henrichs-3
In reply to this post by ducasse
This is our goal as well...

Dale

On 6/1/19 6:37 AM, ducasse wrote:
> My goal is to have the best environment possible and I’m working to
> make it.
> My goal is not to have a smalltalk system compatible with the rest of
> the universe.
> Now since people deploy on Gemstone we will pay attention to them and
> ideally I would love to have the ressources to make Pharo fully execute
> with compiler and other on top of GS VM.

Reply | Threaded
Open this post in threaded view
|

Re: FW: Versioning with Iceberg

ducasse
We will make it :)

Stef

> This is our goal as well...
>
> Dale
>
> On 6/1/19 6:37 AM, ducasse wrote:
>> My goal is to have the best environment possible and I’m working to make it.
>> My goal is not to have a smalltalk system compatible with the rest of the universe.
>> Now since people deploy on Gemstone we will pay attention to them and ideally I would love to have the ressources to make Pharo fully execute
>> with compiler and other on top of GS VM.
>



Reply | Threaded
Open this post in threaded view
|

Re: FW: Versioning with Iceberg

Dale Henrichs-3
Haha, I agree!

Dale

On 6/3/19 11:06 AM, ducasse wrote:

> We will make it :)
>
> Stef
>
>> This is our goal as well...
>>
>> Dale
>>
>> On 6/1/19 6:37 AM, ducasse wrote:
>>> My goal is to have the best environment possible and I’m working to make it.
>>> My goal is not to have a smalltalk system compatible with the rest of the universe.
>>> Now since people deploy on Gemstone we will pay attention to them and ideally I would love to have the ressources to make Pharo fully execute
>>> with compiler and other on top of GS VM.
>
>

123