Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QmlHighlighting Namespace Reference

Namespaces

namespace  Utils

Classes

struct  HighlightToken
struct  HighlightsRange
class  HighlightingVisitor

Typedefs

using HighlightsContainer = QMap<int, HighlightToken>
using QmlHighlightKindToLspKind = int (*)(QmlHighlightKind)

Enumerations

enum class  QmlHighlightKind {
  QmlKeyword , QmlType , QmlImportId , QmlNamespace ,
  QmlLocalId , QmlExternalId , QmlProperty , QmlScopeObjectProperty ,
  QmlRootObjectProperty , QmlExternalObjectProperty , QmlMethod , QmlMethodParameter ,
  QmlSignal , QmlSignalHandler , QmlEnumName , QmlEnumMember ,
  QmlPragmaName , QmlPragmaValue , QmlTypeModifier , JsImport ,
  JsGlobalVar , JsGlobalMethod , JsScopeVar , JsLabel ,
  Number , String , Comment , Operator ,
  Field , Unknown
}
enum class  QmlHighlightModifier : uint32_t {
  None = 0 , QmlPropertyDefinition = 1 << 0 , QmlDefaultProperty = 1 << 1 , QmlRequiredProperty = 1 << 2 ,
  QmlReadonlyProperty = 1 << 3 , QmlFinalProperty = 1 << 4 , QmlVirtualProperty = 1 << 5 , QmlOverrideProperty = 1 << 6
}
enum class  HighlightingMode { Default , QtCHighlighting }
enum class  SemanticTokenProtocolTypes {
  Namespace , Type , Enum , Parameter ,
  Variable , Property , EnumMember , Method ,
  Keyword , Comment , String , Number ,
  Regexp , Operator , Decorator , QmlLocalId ,
  QmlExternalId , QmlRootObjectProperty , QmlScopeObjectProperty , QmlExternalObjectProperty ,
  JsScopeVar , JsImportVar , JsGlobalVar , QmlStateName ,
  Field , Unknown
}

Functions

static int mapToProtocolForQtCreator (QmlHighlightKind highlightKind)
static int mapToProtocolDefault (QmlHighlightKind highlightKind)
static std::optional< QmlHighlightKindresolveJsGlobalObjectKind (const DomItem &item, const QString &name)
 Further resolves the type of a JavaScriptIdentifier A global object can be in the object form or in the function form. For example, Date can be used as a constructor function (like new Date()) or as a object (like Date.now()).
static int fromQmlModifierKindToLspTokenType (QmlHighlightModifiers highlightModifier)
static FieldFilter highlightingFilter ()
static std::pair< quint32, quint32newlineCountAndLastLineLength (const QString &text)
static void updateCursorPositionByDiff (const QString &text, QQmlJS::SourceLocation &cursor)
static bool tokenBeforeOffset (const QQmlJS::SourceLocation &t, quint32 offset)
static bool tokenAfterOffset (const QQmlJS::SourceLocation &t, quint32 offset)
static bool insertionInsideToken (const QQmlJS::SourceLocation &token, const QQmlJS::SourceLocation &cursor)
static bool insertionTouchesTokenLeft (const QQmlJS::SourceLocation &token, const QQmlJS::SourceLocation &cursor)
static void shiftTokenAfterInsert (QQmlJS::SourceLocation &t, const QQmlJS::SourceLocation &cursor, int newlines, int lastLen, int diffLen)
static void expandTokenForMiddleInsert (QQmlJS::SourceLocation &t, const QQmlLSUtils::Diff &diff, const QQmlJS::SourceLocation &cursor)
static void expandTokenForLeftOverlap (QQmlJS::SourceLocation &t, const QQmlLSUtils::Diff &diff, const QQmlJS::SourceLocation &cursor, int newlines, int lastLen)
static void updateHighlightsOnInsert (HighlightsContainer &highlights, QQmlJS::SourceLocation &cursor, const QQmlLSUtils::Diff &diff)
static bool spansAcrossDeletion (const QQmlJS::SourceLocation &t, quint32 delStart, quint32 delEnd)
static bool leftFragmentRemains (const QQmlJS::SourceLocation &t, quint32 delStart, quint32 delEnd)
static bool rightFragmentRemains (const QQmlJS::SourceLocation &t, quint32 delStart, quint32 delEnd)
static void shiftTokenAfterDelete (QQmlJS::SourceLocation &t, int newlines, int lastLen, const QQmlJS::SourceLocation &cursor, int diffLen)
static void applyDeletionOverlap (QQmlJS::SourceLocation &t, quint32 delStart, quint32 delEnd, int newlines, quint32 delStartLine, quint32 delStartColumn)
static void updateHighlightsOnDelete (HighlightsContainer &highlights, QQmlJS::SourceLocation &cursor, const QQmlLSUtils::Diff &diff)

Typedef Documentation

◆ HighlightsContainer

◆ QmlHighlightKindToLspKind

Enumeration Type Documentation

◆ HighlightingMode

Enumerator
Default 
QtCHighlighting 

Definition at line 83 of file qqmlsemantictokens_p.h.

◆ QmlHighlightKind

Enumerator
QmlKeyword 
QmlType 
QmlImportId 
QmlNamespace 
QmlLocalId 
QmlExternalId 
QmlProperty 
QmlScopeObjectProperty 
QmlRootObjectProperty 
QmlExternalObjectProperty 
QmlMethod 
QmlMethodParameter 
QmlSignal 
QmlSignalHandler 
QmlEnumName 
QmlEnumMember 
QmlPragmaName 
QmlPragmaValue 
QmlTypeModifier 
JsImport 
JsGlobalVar 
JsGlobalMethod 
JsScopeVar 
JsLabel 
Number 
String 
Comment 
Operator 
Field 
Unknown 

Definition at line 37 of file qqmlsemantictokens_p.h.

◆ QmlHighlightModifier

enum class QmlHighlighting::QmlHighlightModifier : uint32_t
strong
Enumerator
None 
QmlPropertyDefinition 
QmlDefaultProperty 
QmlRequiredProperty 
QmlReadonlyProperty 
QmlFinalProperty 
QmlVirtualProperty 
QmlOverrideProperty 

Definition at line 70 of file qqmlsemantictokens_p.h.

◆ SemanticTokenProtocolTypes

Enumerator
Namespace 
Type 
Enum 
Parameter 
Variable 
Property 
EnumMember 
Method 
Keyword 
Comment 
String 
Number 
Regexp 
Operator 
Decorator 
QmlLocalId 
QmlExternalId 
QmlRootObjectProperty 
QmlScopeObjectProperty 
QmlExternalObjectProperty 
JsScopeVar 
JsImportVar 
JsGlobalVar 
QmlStateName 
Field 
Unknown 

Definition at line 90 of file qqmlsemantictokens_p.h.

Function Documentation

◆ applyDeletionOverlap()

void QmlHighlighting::applyDeletionOverlap ( QQmlJS::SourceLocation & t,
quint32 delStart,
quint32 delEnd,
int newlines,
quint32 delStartLine,
quint32 delStartColumn )
static

Definition at line 1273 of file qqmlsemantictokens.cpp.

◆ expandTokenForLeftOverlap()

void QmlHighlighting::expandTokenForLeftOverlap ( QQmlJS::SourceLocation & t,
const QQmlLSUtils::Diff & diff,
const QQmlJS::SourceLocation & cursor,
int newlines,
int lastLen )
static

Definition at line 1164 of file qqmlsemantictokens.cpp.

◆ expandTokenForMiddleInsert()

void QmlHighlighting::expandTokenForMiddleInsert ( QQmlJS::SourceLocation & t,
const QQmlLSUtils::Diff & diff,
const QQmlJS::SourceLocation & cursor )
static

Definition at line 1149 of file qqmlsemantictokens.cpp.

◆ fromQmlModifierKindToLspTokenType()

int QmlHighlighting::fromQmlModifierKindToLspTokenType ( QmlHighlightModifiers highlightModifier)
static

◆ highlightingFilter()

FieldFilter QmlHighlighting::highlightingFilter ( )
static

Definition at line 222 of file qqmlsemantictokens.cpp.

◆ insertionInsideToken()

bool QmlHighlighting::insertionInsideToken ( const QQmlJS::SourceLocation & token,
const QQmlJS::SourceLocation & cursor )
static

Definition at line 1123 of file qqmlsemantictokens.cpp.

◆ insertionTouchesTokenLeft()

bool QmlHighlighting::insertionTouchesTokenLeft ( const QQmlJS::SourceLocation & token,
const QQmlJS::SourceLocation & cursor )
static

Definition at line 1129 of file qqmlsemantictokens.cpp.

◆ leftFragmentRemains()

bool QmlHighlighting::leftFragmentRemains ( const QQmlJS::SourceLocation & t,
quint32 delStart,
quint32 delEnd )
static

Definition at line 1239 of file qqmlsemantictokens.cpp.

◆ mapToProtocolDefault()

◆ mapToProtocolForQtCreator()

◆ newlineCountAndLastLineLength()

std::pair< quint32, quint32 > QmlHighlighting::newlineCountAndLastLineLength ( const QString & text)
static

Definition at line 1091 of file qqmlsemantictokens.cpp.

◆ resolveJsGlobalObjectKind()

std::optional< QmlHighlightKind > QmlHighlighting::resolveJsGlobalObjectKind ( const DomItem & item,
const QString & name )
static

Further resolves the type of a JavaScriptIdentifier A global object can be in the object form or in the function form. For example, Date can be used as a constructor function (like new Date()) or as a object (like Date.now()).

Definition at line 157 of file qqmlsemantictokens.cpp.

References JsGlobalMethod, and JsGlobalVar.

◆ rightFragmentRemains()

bool QmlHighlighting::rightFragmentRemains ( const QQmlJS::SourceLocation & t,
quint32 delStart,
quint32 delEnd )
static

Definition at line 1244 of file qqmlsemantictokens.cpp.

◆ shiftTokenAfterDelete()

void QmlHighlighting::shiftTokenAfterDelete ( QQmlJS::SourceLocation & t,
int newlines,
int lastLen,
const QQmlJS::SourceLocation & cursor,
int diffLen )
static

Definition at line 1252 of file qqmlsemantictokens.cpp.

◆ shiftTokenAfterInsert()

void QmlHighlighting::shiftTokenAfterInsert ( QQmlJS::SourceLocation & t,
const QQmlJS::SourceLocation & cursor,
int newlines,
int lastLen,
int diffLen )
static

Definition at line 1135 of file qqmlsemantictokens.cpp.

◆ spansAcrossDeletion()

bool QmlHighlighting::spansAcrossDeletion ( const QQmlJS::SourceLocation & t,
quint32 delStart,
quint32 delEnd )
static

Definition at line 1234 of file qqmlsemantictokens.cpp.

◆ tokenAfterOffset()

bool QmlHighlighting::tokenAfterOffset ( const QQmlJS::SourceLocation & t,
quint32 offset )
static

Definition at line 1118 of file qqmlsemantictokens.cpp.

◆ tokenBeforeOffset()

bool QmlHighlighting::tokenBeforeOffset ( const QQmlJS::SourceLocation & t,
quint32 offset )
static

Definition at line 1113 of file qqmlsemantictokens.cpp.

◆ updateCursorPositionByDiff()

void QmlHighlighting::updateCursorPositionByDiff ( const QString & text,
QQmlJS::SourceLocation & cursor )
static

Definition at line 1097 of file qqmlsemantictokens.cpp.

◆ updateHighlightsOnDelete()

void QmlHighlighting::updateHighlightsOnDelete ( HighlightsContainer & highlights,
QQmlJS::SourceLocation & cursor,
const QQmlLSUtils::Diff & diff )
static

Definition at line 1307 of file qqmlsemantictokens.cpp.

◆ updateHighlightsOnInsert()

void QmlHighlighting::updateHighlightsOnInsert ( HighlightsContainer & highlights,
QQmlJS::SourceLocation & cursor,
const QQmlLSUtils::Diff & diff )
static

Definition at line 1193 of file qqmlsemantictokens.cpp.