From 073e5d6632c8f1a62b260d331aeebe5c35e58c18 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Fri, 9 Aug 2013 11:43:20 +0200 Subject: C++: optionally let the highlighter handle ifdefed-out blocks. Change-Id: I38cc0e55348cac0245d2ab8f3e39c68de76e3e6d Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/cpptoolseditorsupport.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/plugins/cpptools/cpptoolseditorsupport.cpp') diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index 4bec4d9058..e99338bc4a 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -192,6 +192,13 @@ void CppEditorSupport::setExtraDiagnostics(const QString &key, emit diagnosticsChanged(); } +void CppEditorSupport::setIfdefedOutBlocks(const QList &ifdefedOutBlocks) +{ + m_editorUpdates.ifdefedOutBlocks = ifdefedOutBlocks; + + emit diagnosticsChanged(); +} + bool CppEditorSupport::initialized() { return m_initialized; @@ -262,11 +269,13 @@ void CppEditorSupport::onDocumentUpdated(Document::Ptr doc) return; // outdated content, wait for a new document to be parsed // Update the ifdeffed-out blocks: - QList skippedBlocks = doc->skippedBlocks(); - m_editorUpdates.ifdefedOutBlocks.clear(); - m_editorUpdates.ifdefedOutBlocks.reserve(skippedBlocks.size()); - foreach (const Document::Block &block, skippedBlocks) { - m_editorUpdates.ifdefedOutBlocks.append(BlockRange(block.begin(), block.end())); + if (m_highlightingSupport && !m_highlightingSupport->hightlighterHandlesIfdefedOutBlocks()) { + QList skippedBlocks = doc->skippedBlocks(); + QList ifdefedOutBlocks; + ifdefedOutBlocks.reserve(skippedBlocks.size()); + foreach (const Document::Block &block, skippedBlocks) + ifdefedOutBlocks.append(BlockRange(block.begin(), block.end())); + setIfdefedOutBlocks(ifdefedOutBlocks); } if (m_highlightingSupport && !m_highlightingSupport->hightlighterHandlesDiagnostics()) { -- cgit v1.2.1