Syntax highlight file includes
This commit is contained in:
54
rust.mm
54
rust.mm
@@ -153,6 +153,27 @@ SInt32 skipAttribute(BBLMTextIterator &iter)
|
||||
return length;
|
||||
}
|
||||
|
||||
SInt32 skipUse(BBLMTextIterator &iter)
|
||||
{
|
||||
SInt32 length = 0;
|
||||
UniChar ch;
|
||||
|
||||
while ((ch = iter.GetNextChar()))
|
||||
{
|
||||
if (islower(ch) || ch == ':' || ch == '_')
|
||||
{
|
||||
length++;
|
||||
}
|
||||
else
|
||||
{
|
||||
iter--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
SInt32 skipNumber(BBLMTextIterator &iter)
|
||||
{
|
||||
UInt32 length = 0;
|
||||
@@ -493,7 +514,7 @@ OSErr calculateRuns(BBLMParamBlock ¶ms, const BBLMCallbackBlock *callbacks)
|
||||
}
|
||||
}
|
||||
|
||||
else if (ch == 'f')
|
||||
else if (!wordchr && ch == 'f')
|
||||
{
|
||||
ch = iter.GetNextChar();
|
||||
if (ch == 'n')
|
||||
@@ -511,6 +532,37 @@ OSErr calculateRuns(BBLMParamBlock ¶ms, const BBLMCallbackBlock *callbacks)
|
||||
}
|
||||
}
|
||||
|
||||
else if (!wordchr && ch == 'u')
|
||||
{
|
||||
ch = iter.GetNextChar();
|
||||
if (ch == 's')
|
||||
{
|
||||
ch = iter.GetNextChar();
|
||||
if (ch == 'e')
|
||||
{
|
||||
if (!makeCodeRun(iter, runStart, *callbacks)) return noErr;
|
||||
runStart = iter.Offset();
|
||||
runLen = skipWhitespace(iter);
|
||||
runLen += skipUse(iter);
|
||||
if (!addRun(kBBLMFileIncludeRunKind, runStart, runLen, *callbacks)) return noErr;
|
||||
|
||||
runStart = iter.Offset();
|
||||
runLen = skipWord(iter);
|
||||
if (!addRun(identifierColour, runStart, runLen, *callbacks)) return noErr;
|
||||
|
||||
runStart = iter.Offset();
|
||||
}
|
||||
else if (ch)
|
||||
{
|
||||
iter--;
|
||||
}
|
||||
}
|
||||
else if (ch)
|
||||
{
|
||||
iter--;
|
||||
}
|
||||
}
|
||||
|
||||
else if (ch == '/')
|
||||
{
|
||||
ch = iter.GetNextChar();
|
||||
|
||||
Reference in New Issue
Block a user