\ProvidesFile{lstsmalltalk.sty}
    [2009/07/03 0.2 listings Smalltalk definitions file]
%
\RequirePackage{listings}%

\lstdefinelanguage{Smalltalk}{
  keywords={self,super,true,false,nil,thisContext},
  otherkeywords={^,:=,->,==,~=},
  alsoletter={\#:},
  string=[d]',
  comment=[s]{"}{"},
}[keywords,comments,strings]%
\endinput
%%%
%%% And now for something completely different... Some stupid example,
%%% to put in a file to test this language definition...
%%%
% \lstset{
%   inputencoding=utf8,
%   columns=fullflexible,
%   basicstyle=\Large
% }
% 
% \begin{lstlisting}[language=Smalltalk]
% SomeClass >> testNumberOfRelationships
%   "this is a test"
%   | bazEntity |
%   self assert: fooEntity numberOfOutgoingRelationships = 1.
%   bazEntity := MyEntity named: #baz.
%   MyRelationship from: fooEntity to: bazEntity.
%   self assert: fooEntity numberOfOutgoingRelationships = 2.
%   string := 'Hello, world!'
%   aCollection do: [ each |
%     | local |
%     each someMessage ].
%   ^ string
% \end{lstlisting}
%%%%%%%%
% Local Variables:
% coding: utf-8
% End:
