Sake = Rake for Smalltalk?

Diego Fernandez diegof79 at gmail.com
Thu Apr 27 20:14:09 UTC 2006


Thanks for the info... a search for: "Smalltalk Shell Script" in
google take me to this link:
http://www.smalltalk.org/articles/article_20040103a.html

On 4/27/06, francisco.j.garau at jpmorgan.com
<francisco.j.garau at jpmorgan.com> wrote:
> Stef,
>
> For your Mac, you could ask Marcel Weiher a copy of his Smalltalk Shell
> Script (stsh). He has demoed it at the last UK Smalltalk meeting and it
> looks really cool. It is scripting language (like csh) but with Smalltalk
> sintax. Also, very fast...
>
> Here a couple of examples:
>
> ===
> #!/usr/local/bin/stsh
> # -- how the stsh framework runs an interactive command
>
> vi:=MPWCommandFilter filterWithCommandNamed:'vi' args:NSArray array
> target:stdout.
> vi setIsTarget:0.
> vi startRunning.
>
> ===
>
> #!/usr/local/bin/stsh
> #-- initialize a PDF document object with the file passed on the command
> line
>
> pdf:=MPWPDFFile alloc initWithPdfData:(NSData dataWithContentsOfFile:(args
> objectAtIndex:1)).
> pdf parseXrefTables.
>
> #-- log a description of the pdf to the console (standard out )
> stdout println:pdf.
>
> #--  get the first page object from the pdf file, log it
> page := (pdf pages objectAtIndex:0).
> stdout println:page.
>
> #--  get the 'content stream' of that page, resolving pdf indirect object
> reference
> content := (page objectForKey:'Contents') referencedValue.
>
> #--  get the (decoded) data from the content stream (the content stream is
> usually compressed)
> data := content data.
>
> #-- replace the content stream's encoded data with the uncompressed data
> we just got
> content setEncodedData:data.
>
> #-- remove the filter that indicates this data is compressed
> content setObject:nil forKey:'Filter'.
>
> #-- replace the stream length with the uncompressed length
> content dict setObject:(MPWPSInteger integer:data length)
> forStringKey:'Length'.
>
> #--  log the resulting dictionary / pdf object
> stdout println:content.
>
> #-- write the resulting PDF object
> writer := MPWPDFWriter streamWithTarget:MPWPDFByteStream stream.
> writer outputPDFFile:pdf.
> writer close.
> writer target target writeToFile:'out.pdf' atomically:1.
>
>
> ---
> Francisco Garau
> 0207 777 1362 - x71362
>
>
> This communication is for informational purposes only. It is not intended
> as an offer or solicitation for the purchase or sale of any financial
> instrument or as an official confirmation of any transaction. All market prices,
> data and other information are not warranted as to completeness or accuracy and
> are subject to change without notice. Any comments or statements made herein
> do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
> and affiliates.
>
>



More information about the Squeak-dev mailing list