I don't seem to be able to color print in the trunk image. I have filed:
...to track this issue.
|
The problem appears to be that Eliot has been using Shout for formatting
/ displaying colorized Smalltalk code. Which makes good sense since it avoids code duplication and gives us more options on customizing the result. But it does lead to the same question that I raised earlier: Should we include Shout by default? It is small, it gives us syntax highlighting, prettty printing and other advantages. I would be propose to trade services for it to keep the core image small and to the point, but that's just my opinion. Comments welcome. Cheers, - Andreas Ronald Spengler wrote: > I don't seem to be able to color print in the trunk image. I have filed: > > http://bugs.squeak.org/view.php?id=7383 > > ...to track this issue. |
<2cents> I've enjoyed Shout in developer images. If it's small and unlikely to cause a lot of problems, I'd be happy to see it in. I like pretty colors:)</2cents>
On Sat, Aug 15, 2009 at 12:18 PM, Andreas Raab <[hidden email]> wrote: The problem appears to be that Eliot has been using Shout for formatting / displaying colorized Smalltalk code. Which makes good sense since it avoids code duplication and gives us more options on customizing the result. |
In reply to this post by Andreas.Raab
2009/8/15 Andreas Raab <[hidden email]>:
> But it does lead to the same question that I raised earlier: Should we > include Shout by default? It is small, it gives us syntax highlighting, > prettty printing and other advantages. I would be propose to trade services > for it to keep the core image small and to the point, but that's just my > opinion. Syntax highlight is fairly standard in most other IDE. I am for the addition of Shout to the core image. A small core image is a pure ideal but it should also come with good development tools without necessarily being well-known Squeak Developer image. Q: How customizable Shout is in term of colours and formatting? > Cheers, > - Andreas Best regards, Ian. -- http://mecenia.blogspot.com/ |
Ian Trudel wrote:
> Q: How customizable Shout is in term of colours and formatting? Plenty: defaultStyleTable "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. " ^#( "(symbol color [emphasisSymbolOrArray [textStyleName [pixelHeight]]])" (default black ) (invalid red ) (excessCode red ) (comment (green muchDarker) ) (unfinishedComment (red muchDarker) italic) (#'$' (red muchDarker) ) (character (red muchDarker) ) (integer (red muchDarker) ) (number (red muchDarker) ) (#- (red muchDarker) ) (symbol (blue muchDarker) ) (stringSymbol (blue muchDarker) ) (literalArray (blue muchDarker) ) (string (magenta muchDarker) normal 'Accuny') (unfinishedString red normal 'Accuny') (assignment nil bold 'Accuny') (ansiAssignment nil bold) (literal nil italic) (keyword (blue muchDarker) ) (binary (blue muchDarker) ) (unary (blue muchDarker) ) (incompleteKeyword (gray muchDarker) underlined) (incompleteBinary (gray muchDarker) underlined) (incompleteUnary (gray muchDarker) underlined) (undefinedKeyword red ) (undefinedBinary red ) (undefinedUnary red ) (patternKeyword nil ) (patternBinary nil ) (patternUnary nil ) (#self (red muchDarker) ) (#super (red muchDarker) ) (#true (red muchDarker) ) (#false (red muchDarker) ) (#nil (red muchDarker) ) (#thisContext (red muchDarker) ) (#return (red muchDarker) ) (patternArg (blue muchDarker) ) (methodArg (blue muchDarker) ) (blockPatternArg (blue muchDarker) ) (blockArg (blue muchDarker) ) (argument (blue muchDarker) ) (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 ) (externalCallType black ) (externalCallTypePointerIndicator black ) (primitiveOrExternalCallStart black ) (primitiveOrExternalCallEnd black ) (methodTempBar gray ) (blockTempBar gray ) (blockArgsBar gray ) (primitive (green muchDarker) bold) (externalFunctionCallingConvention (green muchDarker) bold) (module (green muchDarker) bold) (blockTempVar gray ) (blockPatternTempVar gray ) (instVar black ) (workspaceVar black bold) (undefinedIdentifier red ) (incompleteIdentifier (gray darker) (italic underlined)) (tempVar (gray darker) ) (patternTempVar (gray darker) ) (poolConstant (gray muchDarker) ) (classVar (gray muchDarker) ) (globalVar black bold) ) |
That sounds good to me. Though it's only colouring, formatting is
available in such fashion as well? By the way, do you also plan to include Shout Workspace? Ian. 2009/8/15 Andreas Raab <[hidden email]>: > Ian Trudel wrote: >> >> Q: How customizable Shout is in term of colours and formatting? > > Plenty: > > defaultStyleTable > "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. > " > > ^#( > "(symbol color [emphasisSymbolOrArray [textStyleName > [pixelHeight]]])" > (default black ) > (invalid red ) > (excessCode red ) > (comment (green muchDarker) ) > (unfinishedComment (red muchDarker) italic) > (#'$' (red muchDarker) ) > (character (red muchDarker) ) > (integer (red muchDarker) ) > (number (red muchDarker) ) > (#- (red muchDarker) ) > (symbol (blue muchDarker) ) > (stringSymbol (blue muchDarker) ) > (literalArray (blue muchDarker) ) > (string (magenta muchDarker) normal 'Accuny') > (unfinishedString red normal 'Accuny') > (assignment nil bold 'Accuny') > (ansiAssignment nil bold) > (literal nil italic) > (keyword (blue muchDarker) ) > (binary (blue muchDarker) ) > (unary (blue muchDarker) ) > (incompleteKeyword (gray muchDarker) underlined) > (incompleteBinary (gray muchDarker) underlined) > (incompleteUnary (gray muchDarker) underlined) > (undefinedKeyword red ) > (undefinedBinary red ) > (undefinedUnary red ) > (patternKeyword nil ) > (patternBinary nil ) > (patternUnary nil ) > (#self (red muchDarker) ) > (#super (red muchDarker) ) > (#true (red muchDarker) ) > (#false (red muchDarker) ) > (#nil (red muchDarker) ) > (#thisContext (red muchDarker) ) > (#return (red muchDarker) ) > (patternArg (blue muchDarker) ) > (methodArg (blue muchDarker) ) > (blockPatternArg (blue muchDarker) ) > (blockArg (blue muchDarker) ) > (argument (blue muchDarker) ) > (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 ) > (externalCallType black ) > (externalCallTypePointerIndicator black ) > (primitiveOrExternalCallStart black ) > (primitiveOrExternalCallEnd black ) > (methodTempBar gray ) > (blockTempBar gray ) > (blockArgsBar gray ) > (primitive (green muchDarker) bold) > (externalFunctionCallingConvention (green muchDarker) bold) > (module (green muchDarker) bold) > (blockTempVar gray ) > (blockPatternTempVar gray ) > (instVar black ) > (workspaceVar black bold) > (undefinedIdentifier red ) > (incompleteIdentifier (gray darker) (italic underlined)) > (tempVar (gray darker) ) > (patternTempVar (gray darker) ) > (poolConstant (gray muchDarker) ) > (classVar (gray muchDarker) ) > (globalVar black bold) ) > > > -- http://mecenia.blogspot.com/ |
In reply to this post by Casey Ransberger
Ronald Spengler a écrit :
> <2cents> > I've enjoyed Shout in developer images. If it's small and unlikely to cause > a lot of problems, I'd be happy to see it in. I like pretty colors:) > </2cents> +1 Stef |
... although I don't use Shout for workspaces, which I tend to use a lot
to display arbitrary texts. so I guess I would want a way to have workspace display be plain by default if Shout was to be part of the core. Stef |
In reply to this post by Andreas.Raab
On 15-Aug-09, at 12:18 PM, Andreas Raab wrote: > The problem appears to be that Eliot has been using Shout for > formatting / displaying colorized Smalltalk code. Which makes good > sense since it avoids code duplication and gives us more options on > customizing the result. > > But it does lead to the same question that I raised earlier: Should > we include Shout by default? It is small, it gives us syntax > highlighting, prettty printing and other advantages. I would be > propose to trade services for it to keep the core image small and to > the point, but that's just my opinion. > > Comments welcome. I have a few thoughts. One, lets not conflate these two issues. Including Shout is unrelated to removing Services; either could be done without the other. Let the two proposals stand or fall based on their merits. Two, removing Services sounds like a good plan. For services to be really worthwhile, lots of other stuff would have to be rewritten to use them. That hasn't happened, and it looks like it never will. Services should be easy to make into a loadable package, so if any other packages out there happen to use it, they can keep doing so. Three, I'm a little ambivalent about Shout. Syntax coloring is cool, but it seems to sink its tentacles fairly deeply into Morphic. Understandable, given that it must respond to every keystroke. I'm in the middle of reworking the Shout support in OmniBrower, to break the dependency it introduces between the Smalltalk domain model and Morphic. These aren't really show-stoppers, but they make me think that it would be better to keep Shout as a separate package, with really clear boundaries. Maybe someone who knows Shout better could convince me otherwise, or come up with a way to have Shout in the kernel image that would keep it separate from the default toolset, available to alternate toolsets such as OmniBrowser, and easily unloadable. Finally, we ought to have some sort of policy or philosophy for deciding what is included in the base image. Are we still trying to create a minimal image that can be bootstrapped up to a more complete image? Are "extras" eligible for inclusion if they have broad enough appeal? Colin |
Colin Putney wrote:
> One, lets not conflate these two issues. Including Shout is unrelated to > removing Services; either could be done without the other. Let the two > proposals stand or fall based on their merits. Yes, good point. > Two, removing Services sounds like a good plan. For services to be > really worthwhile, lots of other stuff would have to be rewritten to use > them. That hasn't happened, and it looks like it never will. Services > should be easy to make into a loadable package, so if any other packages > out there happen to use it, they can keep doing so. My thoughts exactly. > Three, I'm a little ambivalent about Shout. Syntax coloring is cool, but > it seems to sink its tentacles fairly deeply into Morphic. > Understandable, given that it must respond to every keystroke. I'm in > the middle of reworking the Shout support in OmniBrower, to break the > dependency it introduces between the Smalltalk domain model and Morphic. Ah. I think I wasn't clear here. The goal is to provide syntax highlighting hooks directly in SmalltalkEditor (see the earlier discussion about the SmalltalkEditor/TextEditor distinction). These hooks just happen to look a lot like the extension methods Shout uses today ;-) But by the end of the day, all you will need from Shout are the categories Shout-Parsing and Shout-Styling and you will get highlighting without extra dependencies. If you happen to write an alternative package that can be utilized with the same protocol you will be able to hook this in seamlessly. And if you think that syntax highlighting is a waste of memory, you can just unload Shout. > These aren't really show-stoppers, but they make me think that it would > be better to keep Shout as a separate package, with really clear > boundaries. Maybe someone who knows Shout better could convince me > otherwise, or come up with a way to have Shout in the kernel image that > would keep it separate from the default toolset, available to alternate > toolsets such as OmniBrowser, and easily unloadable. That is the goal. > Finally, we ought to have some sort of policy or philosophy for deciding > what is included in the base image. Are we still trying to create a > minimal image that can be bootstrapped up to a more complete image? Are > "extras" eligible for inclusion if they have broad enough appeal? Great questions. I've been waiting for people to propose things they'd like to see in Squeak (assuming that they are also willing to work on them). And although I think we'd all like the image to get smaller, more compact and simpler, I don't think we should exclude anything before discussing it concretely. So yeah, I'd think that if people have stuff that is broadly desirable, please do put it forward. Cheers, - Andreas |
On 15-Aug-09, at 8:56 PM, Andreas Raab wrote: > Ah. I think I wasn't clear here. The goal is to provide syntax > highlighting hooks directly in SmalltalkEditor (see the earlier > discussion about the SmalltalkEditor/TextEditor distinction). These > hooks just happen to look a lot like the extension methods Shout > uses today ;-) But by the end of the day, all you will need from > Shout are the categories Shout-Parsing and Shout-Styling and you > will get highlighting without extra dependencies. If you happen to > write an alternative package that can be utilized with the same > protocol you will be able to hook this in seamlessly. And if you > think that syntax highlighting is a waste of memory, you can just > unload Shout. Aha! In that case, thumbs up. I'm definitely happy about the TextEditor/SmalltalkEditor/MVC-removal work that's been happening, and this would make a fine addition to it. > Great questions. I've been waiting for people to propose things > they'd like to see in Squeak (assuming that they are also willing to > work on them). And although I think we'd all like the image to get > smaller, more compact and simpler, I don't think we should exclude > anything before discussing it concretely. So yeah, I'd think that if > people have stuff that is broadly desirable, please do put it forward. Ok, sounds good. "Let's discuss it" is usually a pretty good policy. :-) Colin |
On 16.08.2009, at 13:34, Colin Putney wrote: > > On 15-Aug-09, at 8:56 PM, Andreas Raab wrote: > >> Ah. I think I wasn't clear here. The goal is to provide syntax >> highlighting hooks directly in SmalltalkEditor (see the earlier >> discussion about the SmalltalkEditor/TextEditor distinction). These >> hooks just happen to look a lot like the extension methods Shout >> uses today ;-) But by the end of the day, all you will need from >> Shout are the categories Shout-Parsing and Shout-Styling and you >> will get highlighting without extra dependencies. If you happen to >> write an alternative package that can be utilized with the same >> protocol you will be able to hook this in seamlessly. And if you >> think that syntax highlighting is a waste of memory, you can just >> unload Shout. > > Aha! In that case, thumbs up. I'm definitely happy about the > TextEditor/SmalltalkEditor/MVC-removal work that's been happening, > and this would make a fine addition to it. I'm for having decent syntax highlighting in by default, too. When it's in, the "colorPrint" browse option should go. What about the "prettyPrint" option? >> Great questions. I've been waiting for people to propose things >> they'd like to see in Squeak (assuming that they are also willing >> to work on them). And although I think we'd all like the image to >> get smaller, more compact and simpler, I don't think we should >> exclude anything before discussing it concretely. So yeah, I'd >> think that if people have stuff that is broadly desirable, please >> do put it forward. > > Ok, sounds good. "Let's discuss it" is usually a pretty good > policy. :-) Though only if the majority of discussion is driven by Doers, not Bystanders. - Bert - |
In reply to this post by Colin Putney
Don't want to sound rantish, but I do believe in either case that we don't need an option to color print in the base image unless the base image can actually color print. If it's out, the option to configure it has no business in the browser IMHO.
Ron
On Sat, Aug 15, 2009 at 8:34 PM, Colin Putney <[hidden email]> wrote:
|
In reply to this post by Andreas.Raab
Andreas Raab wrote:
> Ah. I think I wasn't clear here. The goal is to provide syntax > highlighting hooks directly in SmalltalkEditor (see the earlier > discussion about the SmalltalkEditor/TextEditor distinction). These > hooks just happen to look a lot like the extension methods Shout uses > today ;-) But by the end of the day, all you will need from Shout are > the categories Shout-Parsing and Shout-Styling and you will get > highlighting without extra dependencies. If you happen to write an > alternative package that can be utilized with the same protocol you will > be able to hook this in seamlessly. And if you think that syntax > highlighting is a waste of memory, you can just unload Shout. The hooks are now in place. If you update from the trunk, you can load shout, it will work out of the box, and none of its extension methods have any impact whatsoever (other than to litter your image a little ;-) I'm lobbying Andy to make a release so that we can only use the "core" pieces of shout (Shout-Parsing and Shout-Styling); as soon as we got that we're ready to push shout into the trunk. In case you're curious, I implemented this by adding a subtype to the ToolBuilder text spec, a code pane spec. It's specific intent is for code editing so it does by default use syntax highlighting (and perhaps auto-completion and other purely coding-related facilities). I also renamed some of the shout specific methods (shoutAboutToStyle:) to just be called, e.g., #aboutToStyle: to avoid conflicts with the extensions in Shout (these are installed but not used if you're running trunk images). So ... anyone having a good code completion handy? Cheers, - Andreas |
:)
Please forgive; I'm new to Mantis. This is now stale:
I can add notes, and delete the notes that I've added, but I can't resolve the issue as far as I can tell. - Ron
On Tue, Aug 18, 2009 at 1:10 AM, Andreas Raab <[hidden email]> wrote:
|
Ronald Spengler wrote:
> :) > > Please forgive; I'm new to Mantis. This is now stale: > > http://bugs.squeak.org/view.php?id=7383 > > I can add notes, and delete the notes that I've added, but I can't > resolve the issue as far as I can tell. No prob. I closed it. Thanks for pointing it out - it's better to mention a bug that's no longer valid than to have these age old never resolved issues. Cheers, - Andreas > On Tue, Aug 18, 2009 at 1:10 AM, Andreas Raab <[hidden email] > <mailto:[hidden email]>> wrote: > > Andreas Raab wrote: > > Ah. I think I wasn't clear here. The goal is to provide syntax > highlighting hooks directly in SmalltalkEditor (see the earlier > discussion about the SmalltalkEditor/TextEditor distinction). > These hooks just happen to look a lot like the extension methods > Shout uses today ;-) But by the end of the day, all you will > need from Shout are the categories Shout-Parsing and > Shout-Styling and you will get highlighting without extra > dependencies. If you happen to write an alternative package that > can be utilized with the same protocol you will be able to hook > this in seamlessly. And if you think that syntax highlighting is > a waste of memory, you can just unload Shout. > > > The hooks are now in place. If you update from the trunk, you can > load shout, it will work out of the box, and none of its extension > methods have any impact whatsoever (other than to litter your image > a little ;-) I'm lobbying Andy to make a release so that we can only > use the "core" pieces of shout (Shout-Parsing and Shout-Styling); as > soon as we got that we're ready to push shout into the trunk. > > In case you're curious, I implemented this by adding a subtype to > the ToolBuilder text spec, a code pane spec. It's specific intent is > for code editing so it does by default use syntax highlighting (and > perhaps auto-completion and other purely coding-related facilities). > I also renamed some of the shout specific methods > (shoutAboutToStyle:) to just be called, e.g., #aboutToStyle: to > avoid conflicts with the extensions in Shout (these are installed > but not used if you're running trunk images). > > So ... anyone having a good code completion handy? > > Cheers, > - Andreas > > > > ------------------------------------------------------------------------ > > |
In reply to this post by Bert Freudenberg
On Sun, Aug 16, 2009 at 3:11 PM, Bert Freudenberg<[hidden email]> wrote:
> When it's in, the "colorPrint" browse option should go. What about the > "prettyPrint" option? tiles/MorphicSyntax is pretty defunct too. Alex |
Free forum by Nabble | Edit this page |