forked from qt-creator/qt-creator
LanguageClient: add current document locator filter
Change-Id: I20442a254e4e016088b2da845d87af6e9f836731 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
#include <texteditor/textdocument.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
#include <utils/textutils.h>
|
||||
#include <utils/utilsicons.h>
|
||||
|
||||
#include <QFile>
|
||||
#include <QTextDocument>
|
||||
@@ -230,4 +231,44 @@ void updateEditorToolBar(Core::IEditor *editor)
|
||||
}
|
||||
}
|
||||
|
||||
const QIcon symbolIcon(int type)
|
||||
{
|
||||
using namespace Utils::CodeModelIcon;
|
||||
static QMap<SymbolKind, QIcon> icons;
|
||||
if (type < int(SymbolKind::FirstSymbolKind) || type > int(SymbolKind::LastSymbolKind))
|
||||
return {};
|
||||
auto kind = static_cast<SymbolKind>(type);
|
||||
if (icons.contains(kind)) {
|
||||
switch (kind) {
|
||||
case SymbolKind::File: icons[kind] = Utils::Icons::NEWFILE.icon(); break;
|
||||
case SymbolKind::Module: icons[kind] = iconForType(Namespace); break;
|
||||
case SymbolKind::Namespace: icons[kind] = iconForType(Namespace); break;
|
||||
case SymbolKind::Package: icons[kind] = iconForType(Namespace); break;
|
||||
case SymbolKind::Class: icons[kind] = iconForType(Class); break;
|
||||
case SymbolKind::Method: icons[kind] = iconForType(FuncPublic); break;
|
||||
case SymbolKind::Property: icons[kind] = iconForType(Property); break;
|
||||
case SymbolKind::Field: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Constructor: icons[kind] = iconForType(Class); break;
|
||||
case SymbolKind::Enum: icons[kind] = iconForType(Enum); break;
|
||||
case SymbolKind::Interface: icons[kind] = iconForType(Class); break;
|
||||
case SymbolKind::Function: icons[kind] = iconForType(FuncPublic); break;
|
||||
case SymbolKind::Variable: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Constant: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::String: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Number: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Boolean: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Array: icons[kind] = iconForType(VarPublic); break;
|
||||
case SymbolKind::Object: icons[kind] = iconForType(Class); break;
|
||||
case SymbolKind::Key: icons[kind] = iconForType(Keyword); break;
|
||||
case SymbolKind::Null: icons[kind] = iconForType(Keyword); break;
|
||||
case SymbolKind::EnumMember: icons[kind] = iconForType(Enumerator); break;
|
||||
case SymbolKind::Struct: icons[kind] = iconForType(Struct); break;
|
||||
case SymbolKind::Event: icons[kind] = iconForType(FuncPublic); break;
|
||||
case SymbolKind::Operator: icons[kind] = iconForType(FuncPublic); break;
|
||||
case SymbolKind::TypeParameter: icons[kind] = iconForType(VarPublic); break;
|
||||
}
|
||||
}
|
||||
return icons[kind];
|
||||
}
|
||||
|
||||
} // namespace LanguageClient
|
||||
|
||||
Reference in New Issue
Block a user