UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SyntaxTokenizer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Containers/Array.h"
6#include "CoreMinimal.h"
7#include "HAL/Platform.h"
10
12{
13public:
15 enum class ETokenType : uint8
16 {
18 Syntax,
20 Literal,
21 };
22
24 struct FToken
25 {
26 FToken(const ETokenType InType, const FTextRange& InRange)
27 : Type(InType)
28 , Range(InRange)
29 {
30 }
31
34 };
35
42
43 virtual ~ISyntaxTokenizer() {};
44
45 virtual void Process(TArray<FTokenizedLine>& OutTokenizedLines, const FString& Input) = 0;
46};
47
52{
53public:
55 struct FRule
56 {
59 {
60 }
61
62 FString MatchText;
63 };
64
70
72
73 SLATE_API virtual void Process(TArray<FTokenizedLine>& OutTokenizedLines, const FString& Input) override;
74
75private:
76
78
79 void TokenizeLineRanges(const FString& Input, const TArray<FTextRange>& LineRanges, TArray<FTokenizedLine>& OutTokenizedLines);
80
82 TArray<FRule> Rules;
83
84};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition SyntaxTokenizer.h:52
virtual SLATE_API ~FSyntaxTokenizer()
Definition SyntaxTokenizer.cpp:12
Definition SyntaxTokenizer.h:12
virtual ~ISyntaxTokenizer()
Definition SyntaxTokenizer.h:43
virtual void Process(TArray< FTokenizedLine > &OutTokenizedLines, const FString &Input)=0
ETokenType
Definition SyntaxTokenizer.h:16
Definition Array.h:670
Definition SharedPointer.h:153
Definition SyntaxTokenizer.h:56
FRule(FString InMatchText)
Definition SyntaxTokenizer.h:57
FString MatchText
Definition SyntaxTokenizer.h:62
Definition UnrealString.h:234
Definition SyntaxTokenizer.h:25
FTextRange Range
Definition SyntaxTokenizer.h:33
FToken(const ETokenType InType, const FTextRange &InRange)
Definition SyntaxTokenizer.h:26
ETokenType Type
Definition SyntaxTokenizer.h:32
Definition SyntaxTokenizer.h:38
FTextRange Range
Definition SyntaxTokenizer.h:39
TArray< FToken > Tokens
Definition SyntaxTokenizer.h:40