public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer buffer) where T : ITag { Entity <LinkedList <Token> > tokenizedBuffer = TokenizedBufferBuilder.TokenizedBuffers[buffer]; ClojureTokenTagger tagger = new ClojureTokenTagger(buffer, tokenizedBuffer); BufferTextChangeHandler textChangeHandler = new BufferTextChangeHandler(new TextBufferAdapter(textView), tokenizedBuffer); TextChangeAdapter textChangeAdapter = new TextChangeAdapter(textChangeHandler); buffer.Changed += textChangeAdapter.OnTextChange; textChangeHandler.TokenChanged += tagger.OnTokenChange; return(tagger as ITagger <T>); }
public void Initialize() { _tokenizer = new Tokenizer(); _tokenizedBufferEntity = new Entity <LinkedList <Token> >(); _textBuffer = MockRepository.GenerateStub <ITextBufferAdapter>(); _bufferTextChangeHandler = new BufferTextChangeHandler( _textBuffer, _tokenizedBufferEntity); _bufferTextChangeHandler.TokenChanged += MockRepository.GenerateStub <EventHandler <TokenChangedEventArgs> >(); }