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 \
|
||||
javaeditor.h \
|
||||
javaindenter.h \
|
||||
javacompletionassistprovider.h \
|
||||
avddialog.h \
|
||||
android_global.h \
|
||||
androidbuildapkstep.h \
|
||||
@@ -86,7 +85,6 @@ SOURCES += \
|
||||
androidsignaloperation.cpp \
|
||||
javaeditor.cpp \
|
||||
javaindenter.cpp \
|
||||
javacompletionassistprovider.cpp \
|
||||
avddialog.cpp \
|
||||
androidbuildapkstep.cpp \
|
||||
androidbuildapkwidget.cpp \
|
||||
|
@@ -107,8 +107,6 @@ Project {
|
||||
"avddialog.h",
|
||||
"certificatesmodel.cpp",
|
||||
"certificatesmodel.h",
|
||||
"javacompletionassistprovider.cpp",
|
||||
"javacompletionassistprovider.h",
|
||||
"javaeditor.cpp",
|
||||
"javaeditor.h",
|
||||
"javaindenter.cpp",
|
||||
|
@@ -42,7 +42,6 @@
|
||||
#include "androidruncontrol.h"
|
||||
#include "androidsettingspage.h"
|
||||
#include "androidtoolchain.h"
|
||||
#include "javacompletionassistprovider.h"
|
||||
#include "javaeditor.h"
|
||||
|
||||
#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 "javaindenter.h"
|
||||
#include "androidconstants.h"
|
||||
#include "javacompletionassistprovider.h"
|
||||
|
||||
#include <texteditor/codeassist/keywordscompletionassist.h>
|
||||
#include <coreplugin/editormanager/ieditorfactory.h>
|
||||
#include <texteditor/normalindenter.h>
|
||||
#include <texteditor/textdocument.h>
|
||||
@@ -59,6 +59,14 @@ static TextEditor::TextDocument *createJavaDocument()
|
||||
|
||||
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);
|
||||
setDisplayName(tr("Java Editor"));
|
||||
addMimeType(Constants::JAVA_MIMETYPE);
|
||||
@@ -67,8 +75,8 @@ JavaEditorFactory::JavaEditorFactory()
|
||||
setUseGenericHighlighter(true);
|
||||
setCommentDefinition(Utils::CommentDefinition::CppStyle);
|
||||
setEditorActionHandlers(TextEditor::TextEditorActionHandler::UnCommentSelection);
|
||||
setCompletionAssistProvider(new JavaCompletionAssistProvider);
|
||||
setMarksVisible(true);
|
||||
setCompletionAssistProvider(new TextEditor::KeywordsCompletionAssistProvider(keywords));
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
Reference in New Issue
Block a user