forked from qt-creator/qt-creator
TextEditor: return all definitions for a file name/mimetype/document
Change-Id: Ifd4ee9ab71b95a66cf11e30e2de688d421094a4a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -121,6 +121,27 @@ Highlighter::Definition Highlighter::definitionForFileName(const QString &fileNa
|
||||
return highlightRepository()->definitionForFileName(fileName);
|
||||
}
|
||||
|
||||
Highlighter::Definitions Highlighter::definitionsForDocument(const TextDocument *document)
|
||||
{
|
||||
const Utils::MimeType mimeType = Utils::mimeTypeForName(document->mimeType());
|
||||
Definitions definitions;
|
||||
if (mimeType.isValid())
|
||||
definitions = Highlighter::definitionsForMimeType(mimeType.name());
|
||||
if (definitions.isEmpty())
|
||||
definitions = Highlighter::definitionsForFileName(document->filePath().fileName());
|
||||
return definitions;
|
||||
}
|
||||
|
||||
Highlighter::Definitions Highlighter::definitionsForMimeType(const QString &mimeType)
|
||||
{
|
||||
return highlightRepository()->definitionsForMimeType(mimeType).toList();
|
||||
}
|
||||
|
||||
Highlighter::Definitions Highlighter::definitionsForFileName(const QString &fileName)
|
||||
{
|
||||
return highlightRepository()->definitionsForFileName(fileName).toList();
|
||||
}
|
||||
|
||||
void Highlighter::addCustomHighlighterPath(const Utils::FileName &path)
|
||||
{
|
||||
highlightRepository()->addCustomSearchPath(path.toString());
|
||||
|
@@ -40,12 +40,17 @@ class Highlighter : public SyntaxHighlighter, public KSyntaxHighlighting::Abstra
|
||||
{
|
||||
public:
|
||||
using Definition = KSyntaxHighlighting::Definition;
|
||||
using Definitions = QList<Definition>;
|
||||
Highlighter();
|
||||
|
||||
static Definition definitionForDocument(const TextDocument *document);
|
||||
static Definition definitionForMimeType(const QString &mimeType);
|
||||
static Definition definitionForFileName(const QString &fileName);
|
||||
|
||||
static Definitions definitionsForDocument(const TextDocument *document);
|
||||
static Definitions definitionsForMimeType(const QString &mimeType);
|
||||
static Definitions definitionsForFileName(const QString &fileName);
|
||||
|
||||
static void addCustomHighlighterPath(const Utils::FileName &path);
|
||||
static void updateDefinitions(std::function<void()> callback = nullptr);
|
||||
|
||||
|
Reference in New Issue
Block a user