diff --git a/src/plugins/duieditor/duidocument.cpp b/src/plugins/duieditor/duidocument.cpp
index 5cee3404c8535ab49164ee8fda8081cbfecd2ee6..40a546d15423f535ac2a0bc534028a3ccb95b54b 100644
--- a/src/plugins/duieditor/duidocument.cpp
+++ b/src/plugins/duieditor/duidocument.cpp
@@ -28,66 +28,66 @@
 **************************************************************************/
 
 #include "duidocument.h"
-#include "parser/javascriptast_p.h"
-#include "parser/javascriptlexer_p.h"
-#include "parser/javascriptparser_p.h"
-#include "parser/javascriptengine_p.h"
-#include "parser/javascriptnodepool_p.h"
+#include "javascriptast_p.h"
+#include "javascriptlexer_p.h"
+#include "javascriptparser_p.h"
+#include "javascriptengine_p.h"
+#include "javascriptnodepool_p.h"
 
 using namespace DuiEditor;
 using namespace DuiEditor::Internal;
 using namespace JavaScript;
 
 DuiDocument::DuiDocument(const QString &fileName)
-    : _engine(0), _pool(0), _program(0), _fileName(fileName)
+	: _engine(0), _pool(0), _program(0), _fileName(fileName)
 {
 }
 
 DuiDocument::~DuiDocument()
 {
-    delete _engine;
-    delete _pool;
+	delete _engine;
+	delete _pool;
 }
 
 DuiDocument::Ptr DuiDocument::create(const QString &fileName)
 {
-    DuiDocument::Ptr doc(new DuiDocument(fileName));
-    return doc;
+	DuiDocument::Ptr doc(new DuiDocument(fileName));
+	return doc;
 }
 
 AST::UiProgram *DuiDocument::program() const
 {
-    return _program;
+	return _program;
 }
 
 QList<DiagnosticMessage> DuiDocument::diagnosticMessages() const
 {
-    return _diagnosticMessages;
+	return _diagnosticMessages;
 }
 
 void DuiDocument::setSource(const QString &source)
 {
-    _source = source;
+	_source = source;
 }
 
 bool DuiDocument::parse()
 {
-    Q_ASSERT(! _engine);
-    Q_ASSERT(! _pool);
-    Q_ASSERT(! _program);
+	Q_ASSERT(! _engine);
+	Q_ASSERT(! _pool);
+	Q_ASSERT(! _program);
 
-    _engine = new Engine();
-    _pool = new NodePool(_fileName, _engine);
+	_engine = new Engine();
+	_pool = new NodePool(_fileName, _engine);
 
-    Lexer lexer(_engine);
-    Parser parser(_engine);
+	Lexer lexer(_engine);
+	Parser parser(_engine);
 
-    lexer.setCode(_source, /*line = */ 1);
+	lexer.setCode(_source, /*line = */ 1);
 
-    bool parsed = parser.parse();
-    _program = parser.ast();
-    _diagnosticMessages = parser.diagnosticMessages();
-    return parsed;
+	bool parsed = parser.parse();
+	_program = parser.ast();
+	_diagnosticMessages = parser.diagnosticMessages();
+	return parsed;
 }
 
 Snapshot::Snapshot()
diff --git a/src/plugins/duieditor/duidocument.h b/src/plugins/duieditor/duidocument.h
index fc95b4c64de89695e0890a7a3f20a9c3332def29..f02d33cbaaac2adc614dce2012fb7aa801c31fc2 100644
--- a/src/plugins/duieditor/duidocument.h
+++ b/src/plugins/duieditor/duidocument.h
@@ -33,8 +33,8 @@
 #include <QtCore/QMap>
 #include <QtCore/QString>
 
-#include "parser/javascriptengine_p.h"
-#include "parser/javascriptastfwd_p.h"
+#include "javascriptengine_p.h"
+#include "javascriptastfwd_p.h"
 
 namespace DuiEditor {
 namespace Internal {
@@ -42,36 +42,36 @@ namespace Internal {
 class DuiDocument
 {
 public:
-    typedef QSharedPointer<DuiDocument> Ptr;
+	typedef QSharedPointer<DuiDocument> Ptr;
 
 protected:
-    DuiDocument(const QString &fileName);
+	DuiDocument(const QString &fileName);
 
 public:
-    ~DuiDocument();
+	~DuiDocument();
 
-    static DuiDocument::Ptr create(const QString &fileName);
+	static DuiDocument::Ptr create(const QString &fileName);
 
-    JavaScript::AST::UiProgram *program() const;
-    QList<JavaScript::DiagnosticMessage> diagnosticMessages() const;
+	JavaScript::AST::UiProgram *program() const;
+	QList<JavaScript::DiagnosticMessage> diagnosticMessages() const;
 
-    void setSource(const QString &source);
-    bool parse();
+	void setSource(const QString &source);
+	bool parse();
 
 private:
-    JavaScript::Engine *_engine;
-    JavaScript::NodePool *_pool;
-    JavaScript::AST::UiProgram *_program;
-    QList<JavaScript::DiagnosticMessage> _diagnosticMessages;
-    QString _fileName;
-    QString _source;
+	JavaScript::Engine *_engine;
+	JavaScript::NodePool *_pool;
+	JavaScript::AST::UiProgram *_program;
+	QList<JavaScript::DiagnosticMessage> _diagnosticMessages;
+	QString _fileName;
+	QString _source;
 };
 
 class Snapshot: public QMap<QString, DuiDocument>
 {
 public:
-    Snapshot();
-    ~Snapshot();
+	Snapshot();
+	~Snapshot();
 };
 
 } // end of namespace Internal
diff --git a/src/plugins/duieditor/duieditor.cpp b/src/plugins/duieditor/duieditor.cpp
index d6ab9a135998c66f2df936281d0d11836a8469a4..80155b56df2ac749321417b0fd05fc7218d765b8 100644
--- a/src/plugins/duieditor/duieditor.cpp
+++ b/src/plugins/duieditor/duieditor.cpp
@@ -33,11 +33,11 @@
 #include "duieditorplugin.h"
 #include "duidocument.h"
 
-#include "rewriter/rewriter.h"
+#include "rewriter_p.h"
 
-#include "parser/javascriptastvisitor_p.h"
-#include "parser/javascriptast_p.h"
-#include "parser/javascriptengine_p.h"
+#include "javascriptastvisitor_p.h"
+#include "javascriptast_p.h"
+#include "javascriptengine_p.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/actionmanager/actionmanager.h>
@@ -58,7 +58,7 @@
 #include <QtGui/QMainWindow>
 
 enum {
-    UPDATE_DOCUMENT_DEFAULT_INTERVAL = 250
+	UPDATE_DOCUMENT_DEFAULT_INTERVAL = 250
 };
 
 using namespace JavaScript;
@@ -71,320 +71,320 @@ namespace Internal {
 class FindWords: protected Visitor
 {
 public:
-    QStringList operator()(AST::Node *node)
-    {
-        _words.clear();
-        accept(node);
-        return QStringList(_words.toList());
-    }
+	QStringList operator()(AST::Node *node)
+	{
+		_words.clear();
+		accept(node);
+		return QStringList(_words.toList());
+	}
 
 protected:
-    void accept(AST::Node *node)
-    { AST::Node::acceptChild(node, this); }
-
-    using Visitor::visit;
-    using Visitor::endVisit;
-
-    void addWords(AST::UiQualifiedId *id)
-    {
-        for (; id; id = id->next) {
-            if (id->name)
-                _words.insert(id->name->asString());
-        }
-    }
-
-    virtual bool visit(AST::UiPublicMember *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
-
-    virtual bool visit(AST::UiQualifiedId *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
-
-    virtual bool visit(AST::IdentifierExpression *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
-
-    virtual bool visit(AST::FieldMemberExpression *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
-
-    virtual bool visit(AST::FunctionExpression *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
-            if (it->name)
-                _words.insert(it->name->asString());
-        }
-
-        return true;
-    }
-
-    virtual bool visit(AST::FunctionDeclaration *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
-            if (it->name)
-                _words.insert(it->name->asString());
-        }
-
-        return true;
-    }
-
-    virtual bool visit(AST::VariableDeclaration *node)
-    {
-        if (node->name)
-            _words.insert(node->name->asString());
-
-        return true;
-    }
+	void accept(AST::Node *node)
+	{ AST::Node::acceptChild(node, this); }
+
+	using Visitor::visit;
+	using Visitor::endVisit;
+
+	void addWords(AST::UiQualifiedId *id)
+	{
+		for (; id; id = id->next) {
+			if (id->name)
+				_words.insert(id->name->asString());
+		}
+	}
+
+	virtual bool visit(AST::UiPublicMember *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		return true;
+	}
+
+	virtual bool visit(AST::UiQualifiedId *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		return true;
+	}
+
+	virtual bool visit(AST::IdentifierExpression *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		return true;
+	}
+
+	virtual bool visit(AST::FieldMemberExpression *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		return true;
+	}
+
+	virtual bool visit(AST::FunctionExpression *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
+			if (it->name)
+				_words.insert(it->name->asString());
+		}
+
+		return true;
+	}
+
+	virtual bool visit(AST::FunctionDeclaration *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		for (AST::FormalParameterList *it = node->formals; it; it = it->next) {
+			if (it->name)
+				_words.insert(it->name->asString());
+		}
+
+		return true;
+	}
+
+	virtual bool visit(AST::VariableDeclaration *node)
+	{
+		if (node->name)
+			_words.insert(node->name->asString());
+
+		return true;
+	}
 
 private:
-    QSet<QString> _words;
+	QSet<QString> _words;
 };
 
 class FindIdDeclarations: protected Visitor
 {
 public:
-    typedef QMap<QString, QList<AST::SourceLocation> > Result;
+	typedef QMap<QString, QList<AST::SourceLocation> > Result;
 
-    Result operator()(AST::Node *node)
-    {
-        _ids.clear();
-        _maybeIds.clear();
-        accept(node);
-        return _ids;
-    }
+	Result operator()(AST::Node *node)
+	{
+		_ids.clear();
+		_maybeIds.clear();
+		accept(node);
+		return _ids;
+	}
 
 protected:
-    QString asString(AST::UiQualifiedId *id)
-    {
-        QString text;
-        for (; id; id = id->next) {
-            if (id->name)
-                text += id->name->asString();
-            else
-                text += QLatin1Char('?');
-
-            if (id->next)
-                text += QLatin1Char('.');
-        }
-
-        return text;
-    }
-
-    void accept(AST::Node *node)
-    { AST::Node::acceptChild(node, this); }
-
-    using Visitor::visit;
-    using Visitor::endVisit;
-
-    virtual bool visit(AST::UiScriptBinding *node)
-    {
-        if (asString(node->qualifiedId) == QLatin1String("id")) {
-            if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement*>(node->statement)) {
-                if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(stmt->expression)) {
-                    if (idExpr->name) {
-                        const QString id = idExpr->name->asString();
-                        QList<AST::SourceLocation> *locs = &_ids[id];
-                        locs->append(idExpr->firstSourceLocation());
-                        locs->append(_maybeIds.value(id));
-                        _maybeIds.remove(id);
-                        return false;
-                    }
-                }
-            }
-        }
-
-        accept(node->statement);
-
-        return false;
-    }
-
-    virtual bool visit(AST::IdentifierExpression *node)
-    {
-        if (node->name) {
-            const QString name = node->name->asString();
-
-            if (_ids.contains(name))
-                _ids[name].append(node->identifierToken);
-            else
-                _maybeIds[name].append(node->identifierToken);
-        }
-        return false;
-    }
+	QString asString(AST::UiQualifiedId *id)
+	{
+		QString text;
+		for (; id; id = id->next) {
+			if (id->name)
+				text += id->name->asString();
+			else
+				text += QLatin1Char('?');
+
+			if (id->next)
+				text += QLatin1Char('.');
+		}
+
+		return text;
+	}
+
+	void accept(AST::Node *node)
+	{ AST::Node::acceptChild(node, this); }
+
+	using Visitor::visit;
+	using Visitor::endVisit;
+
+	virtual bool visit(AST::UiScriptBinding *node)
+	{
+		if (asString(node->qualifiedId) == QLatin1String("id")) {
+			if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement*>(node->statement)) {
+				if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(stmt->expression)) {
+					if (idExpr->name) {
+						const QString id = idExpr->name->asString();
+						QList<AST::SourceLocation> *locs = &_ids[id];
+						locs->append(idExpr->firstSourceLocation());
+						locs->append(_maybeIds.value(id));
+						_maybeIds.remove(id);
+						return false;
+					}
+				}
+			}
+		}
+
+		accept(node->statement);
+
+		return false;
+	}
+
+	virtual bool visit(AST::IdentifierExpression *node)
+	{
+		if (node->name) {
+			const QString name = node->name->asString();
+
+			if (_ids.contains(name))
+				_ids[name].append(node->identifierToken);
+			else
+				_maybeIds[name].append(node->identifierToken);
+		}
+		return false;
+	}
 
 private:
-    Result _ids;
-    Result _maybeIds;
+	Result _ids;
+	Result _maybeIds;
 };
 
 class FindDeclarations: protected Visitor
 {
-    QList<Declaration> _declarations;
-    int _depth;
+	QList<Declaration> _declarations;
+	int _depth;
 
 public:
-    QList<Declaration> operator()(AST::Node *node)
-    {
-        _depth = -1;
-        _declarations.clear();
-        accept(node);
-        return _declarations;
-    }
+	QList<Declaration> operator()(AST::Node *node)
+	{
+		_depth = -1;
+		_declarations.clear();
+		accept(node);
+		return _declarations;
+	}
 
 protected:
-    using Visitor::visit;
-    using Visitor::endVisit;
+	using Visitor::visit;
+	using Visitor::endVisit;
 
-    QString asString(AST::UiQualifiedId *id)
-    {
-        QString text;
-        for (; id; id = id->next) {
-            if (id->name)
-                text += id->name->asString();
-            else
-                text += QLatin1Char('?');
+	QString asString(AST::UiQualifiedId *id)
+	{
+		QString text;
+		for (; id; id = id->next) {
+			if (id->name)
+				text += id->name->asString();
+			else
+				text += QLatin1Char('?');
 
-            if (id->next)
-                text += QLatin1Char('.');
-        }
+			if (id->next)
+				text += QLatin1Char('.');
+		}
 
-        return text;
-    }
+		return text;
+	}
 
-    void accept(AST::Node *node)
-    { AST::Node::acceptChild(node, this); }
+	void accept(AST::Node *node)
+	{ AST::Node::acceptChild(node, this); }
 
-    void init(Declaration *decl, AST::UiObjectMember *member)
-    {
-        const SourceLocation first = member->firstSourceLocation();
-        const SourceLocation last = member->lastSourceLocation();
-        decl->startLine = first.startLine;
-        decl->startColumn = first.startColumn;
-        decl->endLine = last.startLine;
-        decl->endColumn = last.startColumn + last.length;
-    }
+	void init(Declaration *decl, AST::UiObjectMember *member)
+	{
+		const SourceLocation first = member->firstSourceLocation();
+		const SourceLocation last = member->lastSourceLocation();
+		decl->startLine = first.startLine;
+		decl->startColumn = first.startColumn;
+		decl->endLine = last.startLine;
+		decl->endColumn = last.startColumn + last.length;
+	}
 
-    virtual bool visit(AST::UiObjectDefinition *node)
-    {
-        ++_depth;
+	virtual bool visit(AST::UiObjectDefinition *node)
+	{
+		++_depth;
 
-        Declaration decl;
-        init(&decl, node);
+		Declaration decl;
+		init(&decl, node);
 
-        decl.text.fill(QLatin1Char(' '), _depth);
-        if (node->qualifiedTypeNameId)
-            decl.text.append(asString(node->qualifiedTypeNameId));
-        else
-            decl.text.append(QLatin1Char('?'));
+		decl.text.fill(QLatin1Char(' '), _depth);
+		if (node->qualifiedTypeNameId)
+			decl.text.append(asString(node->qualifiedTypeNameId));
+		else
+			decl.text.append(QLatin1Char('?'));
 
-        _declarations.append(decl);
+		_declarations.append(decl);
 
-        return true; // search for more bindings
-    }
+		return true; // search for more bindings
+	}
 
-    virtual void endVisit(AST::UiObjectDefinition *)
-    {
-        --_depth;
-    }
+	virtual void endVisit(AST::UiObjectDefinition *)
+	{
+		--_depth;
+	}
 
-    virtual bool visit(AST::UiObjectBinding *node)
-    {
-        ++_depth;
+	virtual bool visit(AST::UiObjectBinding *node)
+	{
+		++_depth;
 
-        Declaration decl;
-        init(&decl, node);
+		Declaration decl;
+		init(&decl, node);
 
-        decl.text.fill(QLatin1Char(' '), _depth);
+		decl.text.fill(QLatin1Char(' '), _depth);
 
-        decl.text.append(asString(node->qualifiedId));
-        decl.text.append(QLatin1String(": "));
+		decl.text.append(asString(node->qualifiedId));
+		decl.text.append(QLatin1String(": "));
 
-        if (node->qualifiedTypeNameId)
-            decl.text.append(asString(node->qualifiedTypeNameId));
-        else
-            decl.text.append(QLatin1Char('?'));
+		if (node->qualifiedTypeNameId)
+			decl.text.append(asString(node->qualifiedTypeNameId));
+		else
+			decl.text.append(QLatin1Char('?'));
 
-        _declarations.append(decl);
+		_declarations.append(decl);
 
-        return true; // search for more bindings
-    }
+		return true; // search for more bindings
+	}
 
-    virtual void endVisit(AST::UiObjectBinding *)
-    {
-        --_depth;
-    }
+	virtual void endVisit(AST::UiObjectBinding *)
+	{
+		--_depth;
+	}
 
 #if 0 // ### ignore script bindings for now.
-    virtual bool visit(AST::UiScriptBinding *node)
-    {
-        ++_depth;
+	virtual bool visit(AST::UiScriptBinding *node)
+	{
+		++_depth;
 
-        Declaration decl;
-        init(&decl, node);
+		Declaration decl;
+		init(&decl, node);
 
-        decl.text.fill(QLatin1Char(' '), _depth);
-        decl.text.append(asString(node->qualifiedId));
+		decl.text.fill(QLatin1Char(' '), _depth);
+		decl.text.append(asString(node->qualifiedId));
 
-        _declarations.append(decl);
+		_declarations.append(decl);
 
-        return false; // more more bindings in this subtree.
-    }
+		return false; // more more bindings in this subtree.
+	}
 
-    virtual void endVisit(AST::UiScriptBinding *)
-    {
-        --_depth;
-    }
+	virtual void endVisit(AST::UiScriptBinding *)
+	{
+		--_depth;
+	}
 #endif
 };
 
 ScriptEditorEditable::ScriptEditorEditable(ScriptEditor *editor, const QList<int>& context)
-    : BaseTextEditorEditable(editor), m_context(context)
+	: BaseTextEditorEditable(editor), m_context(context)
 {
 }
 
 ScriptEditor::ScriptEditor(const Context &context,
-                           QWidget *parent) :
-    TextEditor::BaseTextEditor(parent),
-    m_context(context),
-    m_methodCombo(0)
+						   QWidget *parent) :
+	TextEditor::BaseTextEditor(parent),
+	m_context(context),
+	m_methodCombo(0)
 {
-    setParenthesesMatchingEnabled(true);
-    setMarksVisible(true);
-    setCodeFoldingSupported(true);
-    setCodeFoldingVisible(true);
-    setMimeType(DuiEditor::Constants::C_DUIEDITOR_MIMETYPE);
+	setParenthesesMatchingEnabled(true);
+	setMarksVisible(true);
+	setCodeFoldingSupported(true);
+	setCodeFoldingVisible(true);
+	setMimeType(DuiEditor::Constants::C_DUIEDITOR_MIMETYPE);
 
-    m_updateDocumentTimer = new QTimer(this);
-    m_updateDocumentTimer->setInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL);
-    m_updateDocumentTimer->setSingleShot(true);
+	m_updateDocumentTimer = new QTimer(this);
+	m_updateDocumentTimer->setInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL);
+	m_updateDocumentTimer->setSingleShot(true);
 
-    connect(m_updateDocumentTimer, SIGNAL(timeout()), this, SLOT(updateDocumentNow()));
+	connect(m_updateDocumentTimer, SIGNAL(timeout()), this, SLOT(updateDocumentNow()));
 
-    connect(this, SIGNAL(textChanged()), this, SLOT(updateDocument()));
+	connect(this, SIGNAL(textChanged()), this, SLOT(updateDocument()));
 
-    baseTextDocument()->setSyntaxHighlighter(new DuiHighlighter);
+	baseTextDocument()->setSyntaxHighlighter(new DuiHighlighter);
 }
 
 ScriptEditor::~ScriptEditor()
@@ -399,138 +399,138 @@ QStringList ScriptEditor::words() const
 
 Core::IEditor *ScriptEditorEditable::duplicate(QWidget *parent)
 {
-    ScriptEditor *newEditor = new ScriptEditor(m_context, parent);
-    newEditor->duplicateFrom(editor());
-    DuiEditorPlugin::instance()->initializeEditor(newEditor);
-    return newEditor->editableInterface();
+	ScriptEditor *newEditor = new ScriptEditor(m_context, parent);
+	newEditor->duplicateFrom(editor());
+	DuiEditorPlugin::instance()->initializeEditor(newEditor);
+	return newEditor->editableInterface();
 }
 
 const char *ScriptEditorEditable::kind() const
 {
-    return DuiEditor::Constants::C_DUIEDITOR;
+	return DuiEditor::Constants::C_DUIEDITOR;
 }
 
 ScriptEditor::Context ScriptEditorEditable::context() const
 {
-    return m_context;
+	return m_context;
 }
 
 void ScriptEditor::updateDocument()
 {
-    m_updateDocumentTimer->start(UPDATE_DOCUMENT_DEFAULT_INTERVAL);
+	m_updateDocumentTimer->start(UPDATE_DOCUMENT_DEFAULT_INTERVAL);
 }
 
 void ScriptEditor::updateDocumentNow()
 {
-    // ### move in the parser thread.
+	// ### move in the parser thread.
 
-    m_updateDocumentTimer->stop();
+	m_updateDocumentTimer->stop();
 
-    const QString fileName = file()->fileName();
-    const QString source = toPlainText();
+	const QString fileName = file()->fileName();
+	const QString source = toPlainText();
 
-    DuiDocument::Ptr doc = DuiDocument::create(fileName);
-    doc->setSource(source);
-    bool parsed = doc->parse();
-    m_document = doc;
+	DuiDocument::Ptr doc = DuiDocument::create(fileName);
+	doc->setSource(source);
+	bool parsed = doc->parse();
+	m_document = doc;
 
-    FindIdDeclarations updateIds;
-    m_ids = updateIds(doc->program());
+	FindIdDeclarations updateIds;
+	m_ids = updateIds(doc->program());
 
-    if (parsed) {
-        FindDeclarations findDeclarations;
-        m_declarations = findDeclarations(doc->program());
+	if (parsed) {
+		FindDeclarations findDeclarations;
+		m_declarations = findDeclarations(doc->program());
 
-        FindWords findWords;
-        m_words = findWords(doc->program());
+		FindWords findWords;
+		m_words = findWords(doc->program());
 
-        QStringList items;
-        items.append(tr("<Select Symbol>"));
+		QStringList items;
+		items.append(tr("<Select Symbol>"));
 
-        foreach (Declaration decl, m_declarations)
-            items.append(decl.text);
+		foreach (Declaration decl, m_declarations)
+			items.append(decl.text);
 
-        m_methodCombo->clear();
-        m_methodCombo->addItems(items);
-        updateMethodBoxIndex();
-    }
+		m_methodCombo->clear();
+		m_methodCombo->addItems(items);
+		updateMethodBoxIndex();
+	}
 
-    QList<QTextEdit::ExtraSelection> selections;
+	QList<QTextEdit::ExtraSelection> selections;
 
-    QTextCharFormat errorFormat;
-    errorFormat.setUnderlineColor(Qt::red);
-    errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
+	QTextCharFormat errorFormat;
+	errorFormat.setUnderlineColor(Qt::red);
+	errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
 
-    QTextEdit::ExtraSelection sel;
+	QTextEdit::ExtraSelection sel;
 
-    m_diagnosticMessages = doc->diagnosticMessages();
+	m_diagnosticMessages = doc->diagnosticMessages();
 
-    foreach (const DiagnosticMessage &d, m_diagnosticMessages) {
-        int line = d.loc.startLine;
-        int column = d.loc.startColumn;
+	foreach (const DiagnosticMessage &d, m_diagnosticMessages) {
+		int line = d.loc.startLine;
+		int column = d.loc.startColumn;
 
-        if (column == 0)
-            column = 1;
+		if (column == 0)
+			column = 1;
 
-        QTextCursor c(document()->findBlockByNumber(line - 1));
-        sel.cursor = c;
+		QTextCursor c(document()->findBlockByNumber(line - 1));
+		sel.cursor = c;
 
-        sel.cursor.setPosition(c.position() + column - 1);
-        if (sel.cursor.atBlockEnd())
-            sel.cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor);
-        else
-            sel.cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+		sel.cursor.setPosition(c.position() + column - 1);
+		if (sel.cursor.atBlockEnd())
+			sel.cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor);
+		else
+			sel.cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
 
-        sel.format = errorFormat;
+		sel.format = errorFormat;
 
-        selections.append(sel);
-    }
+		selections.append(sel);
+	}
 
-    setExtraSelections(CodeWarningsSelection, selections);
+	setExtraSelections(CodeWarningsSelection, selections);
 }
 
 void ScriptEditor::jumpToMethod(int index)
 {
-    if (index) {
-        Declaration d = m_declarations.at(index - 1);
-        gotoLine(d.startLine, d.startColumn - 1);
-        setFocus();
-    }
+	if (index) {
+		Declaration d = m_declarations.at(index - 1);
+		gotoLine(d.startLine, d.startColumn - 1);
+		setFocus();
+	}
 }
 
 void ScriptEditor::updateMethodBoxIndex()
 {
-    int line = 0, column = 0;
-    convertPosition(position(), &line, &column);
+	int line = 0, column = 0;
+	convertPosition(position(), &line, &column);
 
-    int currentSymbolIndex = 0;
+	int currentSymbolIndex = 0;
 
-    int index = 0;
-    while (index < m_declarations.size()) {
-        const Declaration &d = m_declarations.at(index++);
+	int index = 0;
+	while (index < m_declarations.size()) {
+		const Declaration &d = m_declarations.at(index++);
 
-        if (line < d.startLine)
-            break;
-        else
-            currentSymbolIndex = index;
-    }
+		if (line < d.startLine)
+			break;
+		else
+			currentSymbolIndex = index;
+	}
 
-    m_methodCombo->setCurrentIndex(currentSymbolIndex);
+	m_methodCombo->setCurrentIndex(currentSymbolIndex);
 
-    QList<QTextEdit::ExtraSelection> selections;
-    foreach (const AST::SourceLocation &loc, m_ids.value(wordUnderCursor())) {
-        if (! loc.isValid())
-            continue;
+	QList<QTextEdit::ExtraSelection> selections;
+	foreach (const AST::SourceLocation &loc, m_ids.value(wordUnderCursor())) {
+		if (! loc.isValid())
+			continue;
 
-        QTextEdit::ExtraSelection sel;
-        sel.format.setBackground(Qt::yellow);
-        sel.cursor = textCursor();
-        sel.cursor.setPosition(loc.begin());
-        sel.cursor.setPosition(loc.end(), QTextCursor::KeepAnchor);
-        selections.append(sel);
-    }
+		QTextEdit::ExtraSelection sel;
+		sel.format.setBackground(Qt::yellow);
+		sel.cursor = textCursor();
+		sel.cursor.setPosition(loc.begin());
+		sel.cursor.setPosition(loc.end(), QTextCursor::KeepAnchor);
+		selections.append(sel);
+	}
 
-    setExtraSelections(CodeSemanticsSelection, selections);
+	setExtraSelections(CodeSemanticsSelection, selections);
 }
 
 void ScriptEditor::updateMethodBoxToolTip()
@@ -543,168 +543,169 @@ void ScriptEditor::updateFileName()
 
 void ScriptEditor::renameIdUnderCursor()
 {
-    const QString id = wordUnderCursor();
-    bool ok = false;
-    const QString newId = QInputDialog::getText(Core::ICore::instance()->mainWindow(),
-                                                tr("Rename..."),
-                                                tr("New id:"),
-                                                QLineEdit::Normal,
-                                                id, &ok);
-    if (ok) {
-        TextWriter writer;
-
-        QString code = toPlainText();
-
-        foreach (const AST::SourceLocation &loc, m_ids.value(id)) {
-            writer.replace(loc.offset, loc.length, newId);
-        }
-
-        QTextCursor tc = textCursor();
-        writer.write(&tc);
-    }
+	const QString id = wordUnderCursor();
+	bool ok = false;
+	const QString newId = QInputDialog::getText(Core::ICore::instance()->mainWindow(),
+												tr("Rename..."),
+												tr("New id:"),
+												QLineEdit::Normal,
+												id, &ok);
+	if (ok) {
+		TextWriter writer;
+
+		QString code = toPlainText();
+
+		foreach (const AST::SourceLocation &loc, m_ids.value(id)) {
+			writer.replace(loc.offset, loc.length, newId);
+		}
+
+		QTextCursor tc = textCursor();
+		writer.write(&tc);
+	}
 }
 
 QStringList ScriptEditor::keywords() const
 {
-    QStringList words;
+	QStringList words;
 
-    if (DuiHighlighter *highlighter = qobject_cast<DuiHighlighter*>(baseTextDocument()->syntaxHighlighter())) {
-        words = highlighter->keywords().toList();
-    }
+	if (DuiHighlighter *highlighter = qobject_cast<DuiHighlighter*>(baseTextDocument()->syntaxHighlighter())) {
+		words = highlighter->keywords().toList();
+	}
 
-    return words;
+	return words;
 }
 
 void ScriptEditor::setFontSettings(const TextEditor::FontSettings &fs)
 {
-    TextEditor::BaseTextEditor::setFontSettings(fs);
-    DuiHighlighter *highlighter = qobject_cast<DuiHighlighter*>(baseTextDocument()->syntaxHighlighter());
-    if (!highlighter)
-        return;
-
-    static QVector<QString> categories;
-    if (categories.isEmpty()) {
-        categories << QLatin1String(TextEditor::Constants::C_NUMBER)
-                   << QLatin1String(TextEditor::Constants::C_STRING)
-                   << QLatin1String(TextEditor::Constants::C_TYPE)
-                   << QLatin1String(TextEditor::Constants::C_KEYWORD)
-                   << QLatin1String(TextEditor::Constants::C_PREPROCESSOR)
-                   << QLatin1String(TextEditor::Constants::C_LABEL)
-                   << QLatin1String(TextEditor::Constants::C_COMMENT);
-    }
-
-    highlighter->setFormats(fs.toTextCharFormats(categories));
-    highlighter->rehighlight();
+	TextEditor::BaseTextEditor::setFontSettings(fs);
+	DuiHighlighter *highlighter = qobject_cast<DuiHighlighter*>(baseTextDocument()->syntaxHighlighter());
+	if (!highlighter)
+		return;
+
+	static QVector<QString> categories;
+	if (categories.isEmpty()) {
+		categories << QLatin1String(TextEditor::Constants::C_NUMBER)
+				   << QLatin1String(TextEditor::Constants::C_STRING)
+				   << QLatin1String(TextEditor::Constants::C_TYPE)
+				   << QLatin1String(TextEditor::Constants::C_KEYWORD)
+				   << QLatin1String(TextEditor::Constants::C_PREPROCESSOR)
+				   << QLatin1String(TextEditor::Constants::C_LABEL)
+				   << QLatin1String(TextEditor::Constants::C_COMMENT);
+	}
+
+	highlighter->setFormats(fs.toTextCharFormats(categories));
+	highlighter->rehighlight();
 }
 
 QString ScriptEditor::wordUnderCursor() const
 {
-    QTextCursor tc = textCursor();
-    tc.movePosition(QTextCursor::StartOfWord);
-    tc.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
-    const QString word= tc.selectedText();
-    return word;
+	QTextCursor tc = textCursor();
+	tc.movePosition(QTextCursor::StartOfWord);
+	tc.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+	const QString word= tc.selectedText();
+	return word;
 }
 
 bool ScriptEditor::isElectricCharacter(const QChar &ch) const
 {
-    if (ch == QLatin1Char('}'))
-        return true;
-    return false;
+	if (ch == QLatin1Char('}'))
+		return true;
+	return false;
 }
 
 void ScriptEditor::indentBlock(QTextDocument *, QTextBlock block, QChar typedChar)
 {
-    TextEditor::TabSettings ts = tabSettings();
-
-    if (typedChar == QLatin1Char('}')) {
-        QTextCursor tc = textCursor();
-        if (TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tc)) {
-            const QString text = tc.block().text();
-            ts.indentLine(block, ts.lineIndentPosition(text));
-            return;
-        }
-    }
-
-    int indent = 0;
-    int extraIndent = 0;
-
-    if (block.previous().isValid()) {
-        const int braceDepth = qMax(0, block.previous().userState() >> 8);
-        const int previousBraceDepth = qMax(0, block.previous().previous().userState() >> 8);
-
-        if (braceDepth > previousBraceDepth)
-            extraIndent = ts.m_indentSize * (braceDepth - previousBraceDepth);
-    }
-
-    QTextBlock it = block.previous();
-    for (; it.isValid(); it = it.previous()) {
-        const QString text = it.text();
-
-        if (! text.isEmpty()) {
-            indent = ts.lineIndentPosition(text);
-            break;
-        }
-    }
-
-    ts.indentLine(block, extraIndent + indent);
+	TextEditor::TabSettings ts = tabSettings();
+
+	if (typedChar == QLatin1Char('}')) {
+		QTextCursor tc = textCursor();
+		if (TextEditor::TextBlockUserData::findPreviousBlockOpenParenthesis(&tc)) {
+			const QString text = tc.block().text();
+			int indent = ts.columnAt(text, ts.firstNonSpace(text));
+			ts.indentLine(block, indent);
+			return;
+		}
+	}
+
+	int indent = 0;
+	int extraIndent = 0;
+
+	if (block.previous().isValid()) {
+		const int braceDepth = qMax(0, block.previous().userState() >> 8);
+		const int previousBraceDepth = qMax(0, block.previous().previous().userState() >> 8);
+
+		if (braceDepth > previousBraceDepth)
+			extraIndent = ts.m_indentSize * (braceDepth - previousBraceDepth);
+	}
+
+	QTextBlock it = block.previous();
+	for (; it.isValid(); it = it.previous()) {
+		const QString text = it.text();
+
+		if (! text.isEmpty()) {
+			indent = ts.columnAt(text, ts.firstNonSpace(text));
+			break;
+		}
+	}
+
+	ts.indentLine(block, extraIndent + indent);
 }
 
 TextEditor::BaseTextEditorEditable *ScriptEditor::createEditableInterface()
 {
-    ScriptEditorEditable *editable = new ScriptEditorEditable(this, m_context);
-    createToolBar(editable);
-    return editable;
+	ScriptEditorEditable *editable = new ScriptEditorEditable(this, m_context);
+	createToolBar(editable);
+	return editable;
 }
 
 void ScriptEditor::createToolBar(ScriptEditorEditable *editable)
 {
-    m_methodCombo = new QComboBox;
-    m_methodCombo->setMinimumContentsLength(22);
-    //m_methodCombo->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+	m_methodCombo = new QComboBox;
+	m_methodCombo->setMinimumContentsLength(22);
+	//m_methodCombo->setSizeAdjustPolicy(QComboBox::AdjustToContents);
 
-    // Make the combo box prefer to expand
-    QSizePolicy policy = m_methodCombo->sizePolicy();
-    policy.setHorizontalPolicy(QSizePolicy::Expanding);
-    m_methodCombo->setSizePolicy(policy);
+	// Make the combo box prefer to expand
+	QSizePolicy policy = m_methodCombo->sizePolicy();
+	policy.setHorizontalPolicy(QSizePolicy::Expanding);
+	m_methodCombo->setSizePolicy(policy);
 
-    connect(m_methodCombo, SIGNAL(activated(int)), this, SLOT(jumpToMethod(int)));
-    connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(updateMethodBoxIndex()));
-    connect(m_methodCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateMethodBoxToolTip()));
+	connect(m_methodCombo, SIGNAL(activated(int)), this, SLOT(jumpToMethod(int)));
+	connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(updateMethodBoxIndex()));
+	connect(m_methodCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateMethodBoxToolTip()));
 
-    connect(file(), SIGNAL(changed()), this, SLOT(updateFileName()));
+	connect(file(), SIGNAL(changed()), this, SLOT(updateFileName()));
 
-    QToolBar *toolBar = editable->toolBar();
+	QToolBar *toolBar = editable->toolBar();
 
-    QList<QAction*> actions = toolBar->actions();
-    toolBar->insertWidget(actions.first(), m_methodCombo);
+	QList<QAction*> actions = toolBar->actions();
+	toolBar->insertWidget(actions.first(), m_methodCombo);
 }
 
 void ScriptEditor::contextMenuEvent(QContextMenuEvent *e)
 {
-    QMenu *menu = createStandardContextMenu();
-
-    if (Core::ActionContainer *mcontext = Core::ICore::instance()->actionManager()->actionContainer(DuiEditor::Constants::M_CONTEXT)) {
-        QMenu *contextMenu = mcontext->menu();
-        foreach (QAction *action, contextMenu->actions())
-            menu->addAction(action);
-    }
-
-    const QString id = wordUnderCursor();
-    const QList<AST::SourceLocation> &locations = m_ids.value(id);
-    if (! locations.isEmpty()) {
-        menu->addSeparator();
-        QAction *a = menu->addAction(tr("Rename id '%1'...").arg(id));
-        connect(a, SIGNAL(triggered()), this, SLOT(renameIdUnderCursor()));
-    }
-
-    menu->exec(e->globalPos());
-    menu->deleteLater();
+	QMenu *menu = createStandardContextMenu();
+
+	if (Core::ActionContainer *mcontext = Core::ICore::instance()->actionManager()->actionContainer(DuiEditor::Constants::M_CONTEXT)) {
+		QMenu *contextMenu = mcontext->menu();
+		foreach (QAction *action, contextMenu->actions())
+			menu->addAction(action);
+	}
+
+	const QString id = wordUnderCursor();
+	const QList<AST::SourceLocation> &locations = m_ids.value(id);
+	if (! locations.isEmpty()) {
+		menu->addSeparator();
+		QAction *a = menu->addAction(tr("Rename id '%1'...").arg(id));
+		connect(a, SIGNAL(triggered()), this, SLOT(renameIdUnderCursor()));
+	}
+
+	menu->exec(e->globalPos());
+	menu->deleteLater();
 }
 
 void ScriptEditor::unCommentSelection()
 {
-    Core::Utils::unCommentSelection(this);
+	Core::Utils::unCommentSelection(this);
 }
 
 } // namespace Internal
diff --git a/src/plugins/duieditor/duieditor.h b/src/plugins/duieditor/duieditor.h
index c331e212174e317f69069ea076d15676bc1b2478..325329dd84956601a29682160a9c2f572b6253f0 100644
--- a/src/plugins/duieditor/duieditor.h
+++ b/src/plugins/duieditor/duieditor.h
@@ -32,9 +32,8 @@
 
 #include <texteditor/basetexteditor.h>
 
-#include "parser/javascriptastfwd_p.h"
-#include "parser/javascriptengine_p.h"
-
+#include "javascriptastfwd_p.h"
+#include "javascriptengine_p.h"
 #include "duidocument.h"
 
 QT_BEGIN_NAMESPACE
@@ -43,7 +42,7 @@ class QTimer;
 QT_END_NAMESPACE
 
 namespace Core {
-    class ICore;
+	class ICore;
 }
 
 namespace DuiEditor {
@@ -55,92 +54,92 @@ class ScriptEditor;
 
 class ScriptEditorEditable : public TextEditor::BaseTextEditorEditable
 {
-    Q_OBJECT
+	Q_OBJECT
 
 public:
-    ScriptEditorEditable(ScriptEditor *, const QList<int> &);
-    QList<int> context() const;
+	ScriptEditorEditable(ScriptEditor *, const QList<int> &);
+	QList<int> context() const;
 
-    bool duplicateSupported() const { return true; }
-    Core::IEditor *duplicate(QWidget *parent);
-    const char *kind() const;
-    bool temporaryEditor() const { return false; }
+	bool duplicateSupported() const { return true; }
+	Core::IEditor *duplicate(QWidget *parent);
+	const char *kind() const;
+	bool temporaryEditor() const { return false; }
 
 private:
-    QList<int> m_context;
+	QList<int> m_context;
 };
 
 
 struct Declaration
 {
-    QString text;
-    int startLine;
-    int startColumn;
-    int endLine;
-    int endColumn;
-
-    Declaration()
-        : startLine(0),
-          startColumn(0),
-          endLine(0),
-          endColumn(0)
-    { }
+	QString text;
+	int startLine;
+	int startColumn;
+	int endLine;
+	int endColumn;
+
+	Declaration()
+		: startLine(0),
+		  startColumn(0),
+		  endLine(0),
+		  endColumn(0)
+	{ }
 };
 
 class ScriptEditor : public TextEditor::BaseTextEditor
 {
-    Q_OBJECT
+	Q_OBJECT
 
 public:
-    typedef QList<int> Context;
+	typedef QList<int> Context;
 
-    ScriptEditor(const Context &context,
-                 QWidget *parent = 0);
-    ~ScriptEditor();
+	ScriptEditor(const Context &context,
+				 QWidget *parent = 0);
+	~ScriptEditor();
 
-    QList<Declaration> declarations() const;
-    QStringList words() const;
-    QStringList keywords() const;
+	QList<Declaration> declarations() const;
+	QStringList words() const;
+	QStringList keywords() const;
 
-    QList<JavaScript::DiagnosticMessage> diagnosticMessages() const
-    { return m_diagnosticMessages; }
+	QList<JavaScript::DiagnosticMessage> diagnosticMessages() const
+	{ return m_diagnosticMessages; }
 
-    virtual void unCommentSelection();
+	virtual void unCommentSelection();
 
 public slots:
-    virtual void setFontSettings(const TextEditor::FontSettings &);
+	virtual void setFontSettings(const TextEditor::FontSettings &);
 
 private slots:
-    void updateDocument();
-    void updateDocumentNow();
-    void jumpToMethod(int index);
-    void updateMethodBoxIndex();
-    void updateMethodBoxToolTip();
-    void updateFileName();
+	void updateDocument();
+	void updateDocumentNow();
+	void jumpToMethod(int index);
+	void updateMethodBoxIndex();
+	void updateMethodBoxToolTip();
+	void updateFileName();
 
-    // refactoring ops
-    void renameIdUnderCursor();
+	// refactoring ops
+	void renameIdUnderCursor();
 
 protected:
-    void contextMenuEvent(QContextMenuEvent *e);
-    TextEditor::BaseTextEditorEditable *createEditableInterface();
-    void createToolBar(ScriptEditorEditable *editable);
+	void contextMenuEvent(QContextMenuEvent *e);
+	TextEditor::BaseTextEditorEditable *createEditableInterface();
+	void createToolBar(ScriptEditorEditable *editable);
 
 private:
-    virtual bool isElectricCharacter(const QChar &ch) const;
-    virtual void indentBlock(QTextDocument *doc, QTextBlock block, QChar typedChar);
+	virtual bool isElectricCharacter(const QChar &ch) const;
+	virtual void indentBlock(QTextDocument *doc, QTextBlock block, QChar typedChar);
 
-    QString wordUnderCursor() const;
+	QString wordUnderCursor() const;
 
-    const Context m_context;
+	const Context m_context;
 
-    QTimer *m_updateDocumentTimer;
-    QComboBox *m_methodCombo;
-    QList<Declaration> m_declarations;
-    QStringList m_words;
-    QMap<QString, QList<JavaScript::AST::SourceLocation> > m_ids; // ### use QMultiMap
-    QList<JavaScript::DiagnosticMessage> m_diagnosticMessages;
-    DuiDocument::Ptr m_document;
+	QTimer *m_updateDocumentTimer;
+	QComboBox *m_methodCombo;
+	QList<Declaration> m_declarations;
+	QStringList m_words;
+	QMap<QString, QList<JavaScript::AST::SourceLocation> > m_ids; // ### use QMultiMap
+	QList<JavaScript::DiagnosticMessage> m_diagnosticMessages;
+	DuiDocument::Ptr m_document;
 };
 
 } // namespace Internal
diff --git a/src/plugins/duieditor/duieditor.pro b/src/plugins/duieditor/duieditor.pro
index bfbd34788c43676195c4e67f2fbc66357878c5ce..c68cb43664f202809cc6d894784c932bd47dca29 100644
--- a/src/plugins/duieditor/duieditor.pro
+++ b/src/plugins/duieditor/duieditor.pro
@@ -1,6 +1,5 @@
 TEMPLATE = lib
 TARGET = DuiEditor
-QT += script
 
 include(../../qtcreatorplugin.pri)
 include(../../plugins/coreplugin/coreplugin.pri)
@@ -12,14 +11,12 @@ DUI=$$(QTDIR_DUI)
 isEmpty(DUI):DUI=$$fromfile($$(QTDIR)/.qmake.cache,QT_SOURCE_TREE)
 
 !isEmpty(DUI):exists($$DUI/src/declarative/qml/parser) {
-    include($$DUI/src/declarative/qml/parser/parser.pri)
-    INCLUDEPATH += $$DUI/src/declarative/qml
+	include($$DUI/src/declarative/qml/parser/parser.pri)
+	include($$DUI/src/declarative/qml/rewriter/rewriter.pri)
 } else {
-    error(run with export QTDIR_DUI=<path to kinetic/qt>)
+	error(run with export QTDIR_DUI=<path to kinetic/qt>)
 }
 
-include(rewriter/rewriter.pri)
-
 HEADERS += duieditor.h \
 duieditorfactory.h \
 duieditorplugin.h \
diff --git a/src/plugins/duieditor/rewriter/rewriter.cpp b/src/plugins/duieditor/rewriter/rewriter.cpp
deleted file mode 100644
index 89406a45211194b8b91e94ece42325a451491fe2..0000000000000000000000000000000000000000
--- a/src/plugins/duieditor/rewriter/rewriter.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "rewriter.h"
-#include "parser/javascriptast_p.h"
-
-using namespace JavaScript;
-using namespace DuiEditor::Internal;
-
-void Rewriter::replace(const AST::SourceLocation &loc, const QString &text)
-{ replace(loc.offset, loc.length, text); }
-
-void Rewriter::remove(const AST::SourceLocation &loc)
-{ return replace(loc.offset, loc.length, QString()); }
-
-void Rewriter::remove(const AST::SourceLocation &firstLoc, const AST::SourceLocation &lastLoc)
-{ return replace(firstLoc.offset, lastLoc.offset + lastLoc.length - firstLoc.offset, QString()); }
-
-void Rewriter::insertTextBefore(const AST::SourceLocation &loc, const QString &text)
-{ replace(loc.offset, 0, text); }
-
-void Rewriter::insertTextAfter(const AST::SourceLocation &loc, const QString &text)
-{ replace(loc.offset + loc.length, 0, text); }
-
-void Rewriter::replace(int offset, int length, const QString &text)
-{ textWriter.replace(offset, length, text); }
-
-void Rewriter::insertText(int offset, const QString &text)
-{ replace(offset, 0, text); }
-
-void Rewriter::removeText(int offset, int length)
-{ replace(offset, length, QString()); }
-
-QString Rewriter::textAt(const AST::SourceLocation &loc) const
-{ return _code.mid(loc.offset, loc.length); }
-
-QString Rewriter::textAt(const AST::SourceLocation &firstLoc, const AST::SourceLocation &lastLoc) const
-{ return _code.mid(firstLoc.offset, lastLoc.offset + lastLoc.length - firstLoc.offset); }
-
-void Rewriter::accept(JavaScript::AST::Node *node)
-{ JavaScript::AST::Node::acceptChild(node, this); }
-
-void Rewriter::moveTextBefore(const AST::SourceLocation &firstLoc,
-                              const AST::SourceLocation &lastLoc,
-                              const AST::SourceLocation &loc)
-{
-    textWriter.move(firstLoc.offset, lastLoc.offset + lastLoc.length - firstLoc.offset, loc.offset);
-}
-
-void Rewriter::moveTextAfter(const AST::SourceLocation &firstLoc,
-                             const AST::SourceLocation &lastLoc,
-                             const AST::SourceLocation &loc)
-{
-    textWriter.move(firstLoc.offset, lastLoc.offset + lastLoc.length - firstLoc.offset, loc.offset + loc.length);
-}
-
diff --git a/src/plugins/duieditor/rewriter/rewriter.h b/src/plugins/duieditor/rewriter/rewriter.h
deleted file mode 100644
index 17ebe97c97cb199fe654dff2e952f058c00c9f2e..0000000000000000000000000000000000000000
--- a/src/plugins/duieditor/rewriter/rewriter.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef REWRITER_H
-#define REWRITER_H
-
-#include <QList>
-#include <QString>
-
-#include "textwriter.h"
-#include "parser/javascriptastvisitor_p.h"
-
-namespace DuiEditor {
-namespace Internal {
-
-////////////////////////////////////////////////////////////////////////////////
-// Replacement
-////////////////////////////////////////////////////////////////////////////////
-class Replacement
-{
-    int _offset;
-    int _length;
-    QString _text;
-
-public:
-    Replacement(int offset = 0, int length = 0, const QString &text = QString())
-        : _offset(offset), _length(length), _text(text)
-    { }
-
-    bool isNull() const { return _offset == _length; }
-    operator bool() const { return ! isNull(); }
-
-    int offset() const { return _offset; }
-    int length() const { return _length; }
-    QString text() const { return _text; }
-};
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-// Rewriter
-////////////////////////////////////////////////////////////////////////////////
-class Rewriter: public JavaScript::AST::Visitor
-{
-protected:
-    TextWriter textWriter;
-public:
-    //
-    // Token based API
-    //
-
-    /// Returns the text of the token at the given \a location.
-    QString textAt(const JavaScript::AST::SourceLocation &location) const;
-
-    QString textAt(const JavaScript::AST::SourceLocation &firstLoc,
-                   const JavaScript::AST::SourceLocation &lastLoc) const;
-
-    /// Replace the token at \a loc with the given \a text.
-    void replace(const JavaScript::AST::SourceLocation &loc, const QString &text);
-
-    /// Remove the token at the given \a location.
-    void remove(const JavaScript::AST::SourceLocation &location);
-
-    /// Remove all tokens in the range [\a firstLoc, \a lastLoc].
-    void remove(const JavaScript::AST::SourceLocation &firstLoc, const JavaScript::AST::SourceLocation &lastLoc);
-
-    /// Insert \a text before the token at the given \a location.
-    void insertTextBefore(const JavaScript::AST::SourceLocation &location, const QString &text);
-
-    /// Insert \a text after the token at the given \a location.
-    void insertTextAfter(const JavaScript::AST::SourceLocation &loc, const QString &text);
-
-    void moveTextBefore(const JavaScript::AST::SourceLocation &firstLoc,
-                        const JavaScript::AST::SourceLocation &lastLoc,
-                        const JavaScript::AST::SourceLocation &loc);
-
-    void moveTextAfter(const JavaScript::AST::SourceLocation &firstLoc,
-                       const JavaScript::AST::SourceLocation &lastLoc,
-                       const JavaScript::AST::SourceLocation &loc);
-
-    //
-    // low-level offset based API
-    //
-    void replace(int offset, int length, const QString &text);
-    void insertText(int offset, const QString &text);
-    void removeText(int offset, int length);
-
-    /// Visit the given \a node.
-    void accept(JavaScript::AST::Node *node);
-
-    /// Returns the original unchanged source code.
-    QString code() const { return _code; }
-
-    /// Returns the list of replacements.
-    QList<Replacement> replacementList() const { return _replacementList; }
-
-protected:
-    /// \internal
-    void setCode(const QString &code) { _code = code; }
-
-private:
-    QString _code;
-    QList<Replacement> _replacementList;
-};
-
-} // end of namespace Internal
-} // end of namespace DuiEditor
-
-#endif // REWRITER_H
diff --git a/src/plugins/duieditor/rewriter/rewriter.pri b/src/plugins/duieditor/rewriter/rewriter.pri
deleted file mode 100644
index 2cf55b64a28a7436015a03a37bc21eab73862e6d..0000000000000000000000000000000000000000
--- a/src/plugins/duieditor/rewriter/rewriter.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-HEADERS += $$PWD/rewriter.h $$PWD/textwriter.h
-SOURCES += $$PWD/rewriter.cpp $$PWD/textwriter.cpp
diff --git a/src/plugins/duieditor/rewriter/textwriter.cpp b/src/plugins/duieditor/rewriter/textwriter.cpp
deleted file mode 100644
index bb4f6c44b0c66b1113b7779aa523da15c76e6037..0000000000000000000000000000000000000000
--- a/src/plugins/duieditor/rewriter/textwriter.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-#include "textwriter.h"
-
-using namespace DuiEditor::Internal;
-
-TextWriter::TextWriter()
-        :string(0), cursor(0)
-{
-}
-
-static bool overlaps(int posA, int lengthA, int posB, int lengthB) {
-    return (posA < posB + lengthB && posA + lengthA > posB + lengthB)
-            || (posA < posB && posA + lengthA > posB);
-}
-
-bool TextWriter::hasOverlap(int pos, int length)
-{
-    {
-        QListIterator<Replace> i(replaceList);
-        while (i.hasNext()) {
-            const Replace &cmd = i.next();
-            if (overlaps(pos, length, cmd.pos, cmd.length))
-                return true;
-        }
-    }
-    {
-        QListIterator<Move> i(moveList);
-        while (i.hasNext()) {
-            const Move &cmd = i.next();
-            if (overlaps(pos, length, cmd.pos, cmd.length))
-                return true;
-        }
-        return false;
-    }
-}
-
-bool TextWriter::hasMoveInto(int pos, int length)
-{
-    QListIterator<Move> i(moveList);
-    while (i.hasNext()) {
-        const Move &cmd = i.next();
-        if (cmd.to >= pos && cmd.to < pos + length)
-            return true;
-    }
-    return false;
-}
-
-void TextWriter::replace(int pos, int length, const QString &replacement)
-{
-    Q_ASSERT(!hasOverlap(pos, length));
-    Q_ASSERT(!hasMoveInto(pos, length));
-
-    Replace cmd;
-    cmd.pos = pos;
-    cmd.length = length;
-    cmd.replacement = replacement;
-    replaceList += cmd;
-}
-
-void TextWriter::move(int pos, int length, int to)
-{
-    Q_ASSERT(!hasOverlap(pos, length));
-
-    Move cmd;
-    cmd.pos = pos;
-    cmd.length = length;
-    cmd.to = to;
-    moveList += cmd;
-}
-
-void TextWriter::doReplace(const Replace &replace)
-{
-    int diff = replace.replacement.size() - replace.length;
-    {
-        QMutableListIterator<Replace> i(replaceList);
-        while (i.hasNext()) {
-            Replace &c = i.next();
-            if (replace.pos < c.pos)
-                c.pos += diff;
-            else if (replace.pos + replace.length < c.pos + c.length)
-                c.length += diff;
-        }
-    }
-    {
-        QMutableListIterator<Move> i(moveList);
-        while (i.hasNext()) {
-            Move &c = i.next();
-            if (replace.pos < c.pos)
-                c.pos += diff;
-            else if (replace.pos + replace.length < c.pos + c.length)
-                c.length += diff;
-
-            if (replace.pos < c.to)
-                c.to += diff;
-        }
-    }
-
-    if (string) {
-        string->replace(replace.pos, replace.length, replace.replacement);
-    } else if (cursor) {
-        cursor->setPosition(replace.pos);
-        cursor->setPosition(replace.pos + replace.length, QTextCursor::KeepAnchor);
-        cursor->insertText(replace.replacement);
-    }
-}
-
-void TextWriter::doMove(const Move &move)
-{
-    QString text;
-    if (string) {
-        text = string->mid(move.pos, move.length);
-    } else if (cursor) {
-        cursor->setPosition(move.pos);
-        cursor->setPosition(move.pos + move.length, QTextCursor::KeepAnchor);
-        text = cursor->selectedText();
-    }
-
-    Replace cut;
-    cut.pos = move.pos;
-    cut.length = move.length;
-    Replace paste;
-    paste.pos = move.to;
-    paste.length = 0;
-    paste.replacement = text;
-
-    replaceList.append(cut);
-    replaceList.append(paste);
-
-    Replace cmd;
-    while (!replaceList.isEmpty()) {
-        cmd = replaceList.first();
-        replaceList.removeFirst();
-        doReplace(cmd);
-    }
-}
-
-void TextWriter::write(QString *s)
-{
-    string = s;
-    write_helper();
-    string = 0;
-}
-
-void TextWriter::write(QTextCursor *textCursor)
-{
-    cursor = textCursor;
-    write_helper();
-    cursor = 0;
-}
-
-void TextWriter::write_helper()
-{
-    if (cursor)
-        cursor->beginEditBlock();
-    {
-        Replace cmd;
-        while (!replaceList.isEmpty()) {
-            cmd = replaceList.first();
-            replaceList.removeFirst();
-            doReplace(cmd);
-        }
-    }
-    {
-        Move cmd;
-        while (!moveList.isEmpty()) {
-            cmd = moveList.first();
-            moveList.removeFirst();
-            doMove(cmd);
-        }
-    }
-    if (cursor)
-        cursor->endEditBlock();
-}
diff --git a/src/plugins/duieditor/rewriter/textwriter.h b/src/plugins/duieditor/rewriter/textwriter.h
deleted file mode 100644
index 38104a6b89ac43b7a11532b64e45cfc93641a3c3..0000000000000000000000000000000000000000
--- a/src/plugins/duieditor/rewriter/textwriter.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef TEXTWRITER_H
-#define TEXTWRITER_H
-
-#include <QString>
-#include <QList>
-#include <QTextCursor>
-
-namespace DuiEditor {
-namespace Internal {
-
-class TextWriter
-{
-    QString *string;
-    QTextCursor *cursor;
-
-    struct Replace {
-        int pos;
-        int length;
-        QString replacement;
-    };
-
-    QList<Replace> replaceList;
-
-    struct Move {
-        int pos;
-        int length;
-        int to;
-    };
-
-    QList<Move> moveList;
-
-    bool hasOverlap(int pos, int length);
-    bool hasMoveInto(int pos, int length);
-
-    void doReplace(const Replace &replace);
-    void doMove(const Move &move);
-
-    void write_helper();
-
-public:
-    TextWriter();
-
-    void replace(int pos, int length, const QString &replacement);
-    void move(int pos, int length, int to);
-
-    void write(QString *s);
-    void write(QTextCursor *textCursor);
-
-};
-
-} // end of namespace Internal
-} // end of namespace DuiEditor
-
-#endif // TEXTWRITER_H