31 static bool isReservedKeyword (String::CharPointerType token,
const int tokenLength)
noexcept
33 static const char*
const keywords2Char[] =
34 {
"if",
"or",
"in",
"do",
nullptr };
36 static const char*
const keywords3Char[] =
37 {
"and",
"end",
"for",
"nil",
"not",
nullptr };
39 static const char*
const keywords4Char[] =
40 {
"then",
"true",
"else",
nullptr };
42 static const char*
const keywords5Char[] =
43 {
"false",
"local",
"until",
"while",
"break",
nullptr };
45 static const char*
const keywords6Char[] =
46 {
"repeat",
"return",
"elseif",
nullptr};
48 static const char*
const keywordsOther[] =
49 {
"function",
"@interface",
"@end",
"@synthesize",
"@dynamic",
"@public",
50 "@private",
"@property",
"@protected",
"@class",
nullptr };
56 case 2:
k = keywords2Char;
break;
57 case 3:
k = keywords3Char;
break;
58 case 4:
k = keywords4Char;
break;
59 case 5:
k = keywords5Char;
break;
60 case 6:
k = keywords6Char;
break;
63 if (tokenLength < 2 || tokenLength > 16)
70 for (
int i = 0;
k[
i] !=
nullptr; ++
i)
77 template <
typename Iterator>
81 String::CharPointerType::CharType possibleIdentifier[100] = {};
82 String::CharPointerType possible (possibleIdentifier);
86 auto c = source.nextChar();
94 if (tokenLength > 1 && tokenLength <= 16)
98 if (
isReservedKeyword (String::CharPointerType (possibleIdentifier), tokenLength))
105 template <
typename Iterator>
108 source.skipWhitespace();
110 auto firstChar = source.peekNextChar();
117 case '0':
case '1':
case '2':
case '3':
case '4':
118 case '5':
case '6':
case '7':
case '8':
case '9':
127 if (firstChar ==
'.')
161 if (source.peekNextChar() ==
'-')
163 source.skipToEndOfLine();
188 case '|':
case '&':
case '^':
219 {
"Error",
Colour (0xffcc0000) },
220 {
"Comment",
Colour (0xff3c3c3c) },
221 {
"Keyword",
Colour (0xff0000cc) },
222 {
"Operator",
Colour (0xff225500) },
223 {
"Identifier",
Colour (0xff000000) },
224 {
"Integer",
Colour (0xff880000) },
225 {
"Float",
Colour (0xff885500) },
226 {
"String",
Colour (0xff990099) },
227 {
"Bracket",
Colour (0xff000055) },
228 {
"Punctuation",
Colour (0xff004400) }
233 for (
auto&
t : types)
Definition juce_CharPointer_ASCII.h:38
Definition juce_CodeDocument.h:360
Definition juce_Colour.h:38
int readNextToken(CodeDocument::Iterator &) override
Definition juce_LuaCodeTokeniser.cpp:210
@ tokenType_bracket
Definition juce_LuaCodeTokeniser.h:56
@ tokenType_keyword
Definition juce_LuaCodeTokeniser.h:50
@ tokenType_comment
Definition juce_LuaCodeTokeniser.h:49
@ tokenType_string
Definition juce_LuaCodeTokeniser.h:55
@ tokenType_punctuation
Definition juce_LuaCodeTokeniser.h:57
@ tokenType_error
Definition juce_LuaCodeTokeniser.h:48
@ tokenType_operator
Definition juce_LuaCodeTokeniser.h:51
@ tokenType_identifier
Definition juce_LuaCodeTokeniser.h:52
CodeEditorComponent::ColourScheme getDefaultColourScheme() override
Definition juce_LuaCodeTokeniser.cpp:215
~LuaTokeniser() override
Definition juce_LuaCodeTokeniser.cpp:208
LuaTokeniser()
Definition juce_LuaCodeTokeniser.cpp:207
struct huft * t
Definition inflate.c:943
register unsigned k
Definition inflate.c:946
register unsigned i
Definition inflate.c:1575
Definition carla_juce.cpp:31
Definition juce_CodeEditorComponent.h:228
Definition juce_CodeEditorComponent.h:225
void set(const String &name, Colour colour)
Definition juce_CodeEditorComponent.cpp:1691
static bool isIdentifierStart(const juce_wchar c) noexcept
Definition juce_CPlusPlusCodeTokeniserFunctions.h:36
static bool isIdentifierBody(const juce_wchar c) noexcept
Definition juce_CPlusPlusCodeTokeniserFunctions.h:42
static void skipQuotedString(Iterator &source) noexcept
Definition juce_CPlusPlusCodeTokeniserFunctions.h:318
static void skipIfNextCharMatches(Iterator &source, const juce_wchar c) noexcept
Definition juce_CPlusPlusCodeTokeniserFunctions.h:394
static int parseNumber(Iterator &source)
Definition juce_CPlusPlusCodeTokeniserFunctions.h:298
Definition juce_LuaCodeTokeniser.cpp:30
static int readNextToken(Iterator &source)
Definition juce_LuaCodeTokeniser.cpp:106
static int parseIdentifier(Iterator &source) noexcept
Definition juce_LuaCodeTokeniser.cpp:78
static bool isReservedKeyword(String::CharPointerType token, const int tokenLength) noexcept
Definition juce_LuaCodeTokeniser.cpp:31
return c
Definition crypt.c:175
int result
Definition process.c:1455