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);
|
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)
|
void Highlighter::addCustomHighlighterPath(const Utils::FileName &path)
|
||||||
{
|
{
|
||||||
highlightRepository()->addCustomSearchPath(path.toString());
|
highlightRepository()->addCustomSearchPath(path.toString());
|
||||||
|
@@ -40,12 +40,17 @@ class Highlighter : public SyntaxHighlighter, public KSyntaxHighlighting::Abstra
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using Definition = KSyntaxHighlighting::Definition;
|
using Definition = KSyntaxHighlighting::Definition;
|
||||||
|
using Definitions = QList<Definition>;
|
||||||
Highlighter();
|
Highlighter();
|
||||||
|
|
||||||
static Definition definitionForDocument(const TextDocument *document);
|
static Definition definitionForDocument(const TextDocument *document);
|
||||||
static Definition definitionForMimeType(const QString &mimeType);
|
static Definition definitionForMimeType(const QString &mimeType);
|
||||||
static Definition definitionForFileName(const QString &fileName);
|
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 addCustomHighlighterPath(const Utils::FileName &path);
|
||||||
static void updateDefinitions(std::function<void()> callback = nullptr);
|
static void updateDefinitions(std::function<void()> callback = nullptr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user