forked from qt-creator/qt-creator
Android: Simplify code assist by using KeywordsCompletionProvider
Change-Id: I566e54e8cb539227019fd9cf94113924d1ac9822 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
@@ -41,7 +41,6 @@ HEADERS += \
|
|||||||
androidsignaloperation.h \
|
androidsignaloperation.h \
|
||||||
javaeditor.h \
|
javaeditor.h \
|
||||||
javaindenter.h \
|
javaindenter.h \
|
||||||
javacompletionassistprovider.h \
|
|
||||||
avddialog.h \
|
avddialog.h \
|
||||||
android_global.h \
|
android_global.h \
|
||||||
androidbuildapkstep.h \
|
androidbuildapkstep.h \
|
||||||
@@ -86,7 +85,6 @@ SOURCES += \
|
|||||||
androidsignaloperation.cpp \
|
androidsignaloperation.cpp \
|
||||||
javaeditor.cpp \
|
javaeditor.cpp \
|
||||||
javaindenter.cpp \
|
javaindenter.cpp \
|
||||||
javacompletionassistprovider.cpp \
|
|
||||||
avddialog.cpp \
|
avddialog.cpp \
|
||||||
androidbuildapkstep.cpp \
|
androidbuildapkstep.cpp \
|
||||||
androidbuildapkwidget.cpp \
|
androidbuildapkwidget.cpp \
|
||||||
|
@@ -107,8 +107,6 @@ Project {
|
|||||||
"avddialog.h",
|
"avddialog.h",
|
||||||
"certificatesmodel.cpp",
|
"certificatesmodel.cpp",
|
||||||
"certificatesmodel.h",
|
"certificatesmodel.h",
|
||||||
"javacompletionassistprovider.cpp",
|
|
||||||
"javacompletionassistprovider.h",
|
|
||||||
"javaeditor.cpp",
|
"javaeditor.cpp",
|
||||||
"javaeditor.h",
|
"javaeditor.h",
|
||||||
"javaindenter.cpp",
|
"javaindenter.cpp",
|
||||||
|
@@ -42,7 +42,6 @@
|
|||||||
#include "androidruncontrol.h"
|
#include "androidruncontrol.h"
|
||||||
#include "androidsettingspage.h"
|
#include "androidsettingspage.h"
|
||||||
#include "androidtoolchain.h"
|
#include "androidtoolchain.h"
|
||||||
#include "javacompletionassistprovider.h"
|
|
||||||
#include "javaeditor.h"
|
#include "javaeditor.h"
|
||||||
|
|
||||||
#ifdef HAVE_QBS
|
#ifdef HAVE_QBS
|
||||||
|
@@ -1,113 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
** Contact: https://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms
|
|
||||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
||||||
** information use the contact form at https://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU
|
|
||||||
** General Public License version 3 as published by the Free Software
|
|
||||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
||||||
** included in the packaging of this file. Please review the following
|
|
||||||
** information to ensure the GNU General Public License requirements will
|
|
||||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include "javacompletionassistprovider.h"
|
|
||||||
#include "androidconstants.h"
|
|
||||||
|
|
||||||
#include <texteditor/codeassist/assistinterface.h>
|
|
||||||
#include <texteditor/codeassist/keywordscompletionassist.h>
|
|
||||||
#include <coreplugin/id.h>
|
|
||||||
|
|
||||||
using namespace Android;
|
|
||||||
using namespace Android::Internal;
|
|
||||||
|
|
||||||
static const char *const keywords[] = {
|
|
||||||
"abstract",
|
|
||||||
"continue",
|
|
||||||
"for",
|
|
||||||
"new",
|
|
||||||
"switch",
|
|
||||||
"assert",
|
|
||||||
"default",
|
|
||||||
"goto",
|
|
||||||
"package",
|
|
||||||
"synchronized",
|
|
||||||
"boolean",
|
|
||||||
"do",
|
|
||||||
"if",
|
|
||||||
"private",
|
|
||||||
"this",
|
|
||||||
"break",
|
|
||||||
"double",
|
|
||||||
"implements",
|
|
||||||
"protected",
|
|
||||||
"throw",
|
|
||||||
"byte",
|
|
||||||
"else",
|
|
||||||
"import",
|
|
||||||
"public",
|
|
||||||
"throws",
|
|
||||||
"case",
|
|
||||||
"enum",
|
|
||||||
"instanceof",
|
|
||||||
"return",
|
|
||||||
"transient",
|
|
||||||
"catch",
|
|
||||||
"extends",
|
|
||||||
"int",
|
|
||||||
"short",
|
|
||||||
"try",
|
|
||||||
"char",
|
|
||||||
"final",
|
|
||||||
"interface",
|
|
||||||
"static",
|
|
||||||
"void",
|
|
||||||
"class",
|
|
||||||
"finally",
|
|
||||||
"long",
|
|
||||||
"strictfp",
|
|
||||||
"volatile",
|
|
||||||
"const",
|
|
||||||
"float",
|
|
||||||
"native",
|
|
||||||
"super",
|
|
||||||
"while",
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
JavaCompletionAssistProvider::JavaCompletionAssistProvider()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
JavaCompletionAssistProvider::~JavaCompletionAssistProvider()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void JavaCompletionAssistProvider::init() const
|
|
||||||
{
|
|
||||||
for (uint i = 0; i < sizeof keywords / sizeof keywords[0] - 1; i++)
|
|
||||||
m_keywords.append(QLatin1String(keywords[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
TextEditor::IAssistProcessor *JavaCompletionAssistProvider::createProcessor() const
|
|
||||||
{
|
|
||||||
if (m_keywords.isEmpty())
|
|
||||||
init();
|
|
||||||
TextEditor::Keywords keywords = TextEditor::Keywords(m_keywords,
|
|
||||||
QStringList(),
|
|
||||||
QMap<QString, QStringList>());
|
|
||||||
return new TextEditor::KeywordsCompletionAssistProcessor(keywords);
|
|
||||||
}
|
|
@@ -1,52 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
** Contact: https://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator.
|
|
||||||
**
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms
|
|
||||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
||||||
** information use the contact form at https://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU
|
|
||||||
** General Public License version 3 as published by the Free Software
|
|
||||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
||||||
** included in the packaging of this file. Please review the following
|
|
||||||
** information to ensure the GNU General Public License requirements will
|
|
||||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <texteditor/codeassist/completionassistprovider.h>
|
|
||||||
|
|
||||||
#include <QStringList>
|
|
||||||
|
|
||||||
namespace Android {
|
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
class JavaCompletionAssistProvider : public TextEditor::CompletionAssistProvider
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
JavaCompletionAssistProvider();
|
|
||||||
~JavaCompletionAssistProvider();
|
|
||||||
|
|
||||||
void init() const;
|
|
||||||
|
|
||||||
TextEditor::IAssistProcessor *createProcessor() const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
mutable QStringList m_keywords;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Internal
|
|
||||||
} // namespace Android
|
|
@@ -26,8 +26,8 @@
|
|||||||
#include "javaeditor.h"
|
#include "javaeditor.h"
|
||||||
#include "javaindenter.h"
|
#include "javaindenter.h"
|
||||||
#include "androidconstants.h"
|
#include "androidconstants.h"
|
||||||
#include "javacompletionassistprovider.h"
|
|
||||||
|
|
||||||
|
#include <texteditor/codeassist/keywordscompletionassist.h>
|
||||||
#include <coreplugin/editormanager/ieditorfactory.h>
|
#include <coreplugin/editormanager/ieditorfactory.h>
|
||||||
#include <texteditor/normalindenter.h>
|
#include <texteditor/normalindenter.h>
|
||||||
#include <texteditor/textdocument.h>
|
#include <texteditor/textdocument.h>
|
||||||
@@ -59,6 +59,14 @@ static TextEditor::TextDocument *createJavaDocument()
|
|||||||
|
|
||||||
JavaEditorFactory::JavaEditorFactory()
|
JavaEditorFactory::JavaEditorFactory()
|
||||||
{
|
{
|
||||||
|
static QStringList keywords = {
|
||||||
|
"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const",
|
||||||
|
"continue", "default", "do", "double", "else", "enum", "extends", "final", "finally",
|
||||||
|
"float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface",
|
||||||
|
"long", "native", "new", "package", "private", "protected", "public", "return", "short",
|
||||||
|
"static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws",
|
||||||
|
"transient", "try", "void", "volatile", "while"
|
||||||
|
};
|
||||||
setId(Constants::JAVA_EDITOR_ID);
|
setId(Constants::JAVA_EDITOR_ID);
|
||||||
setDisplayName(tr("Java Editor"));
|
setDisplayName(tr("Java Editor"));
|
||||||
addMimeType(Constants::JAVA_MIMETYPE);
|
addMimeType(Constants::JAVA_MIMETYPE);
|
||||||
@@ -67,8 +75,8 @@ JavaEditorFactory::JavaEditorFactory()
|
|||||||
setUseGenericHighlighter(true);
|
setUseGenericHighlighter(true);
|
||||||
setCommentDefinition(Utils::CommentDefinition::CppStyle);
|
setCommentDefinition(Utils::CommentDefinition::CppStyle);
|
||||||
setEditorActionHandlers(TextEditor::TextEditorActionHandler::UnCommentSelection);
|
setEditorActionHandlers(TextEditor::TextEditorActionHandler::UnCommentSelection);
|
||||||
setCompletionAssistProvider(new JavaCompletionAssistProvider);
|
|
||||||
setMarksVisible(true);
|
setMarksVisible(true);
|
||||||
|
setCompletionAssistProvider(new TextEditor::KeywordsCompletionAssistProvider(keywords));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
Reference in New Issue
Block a user