Highlight module names in 'use...as' statements

This commit is contained in:
Ben S
2015-02-21 13:27:05 +00:00
parent 2c05ab8682
commit 1154b0df63
2 changed files with 32 additions and 1 deletions

22
rust.mm
View File

@@ -763,11 +763,31 @@ OSErr calculateRuns(BBLMParamBlock &params, const BBLMCallbackBlock *callbacks)
if (!addRun(kBBLMFileIncludeRunKind, runStart, runLen, *callbacks)) return noErr;
break;
}
else
else if (ch)
{
spacey = isspace(ch) || ch == ':' || ch == '{';
runLen++;
}
else
{
break;
}
if (iter.strcmp(" as ", 4) == 0)
{
if (!addRun(kBBLMFileIncludeRunKind, runStart, runLen, *callbacks)) return noErr;
runStart = iter.Offset();
iter += 4;
if (!addRun(kBBLMCodeRunKind, runStart, 4, *callbacks)) return noErr;
runStart = iter.Offset();
runLen = skipWord(iter);
if (!addRun(moduleColour, runStart, runLen, *callbacks)) return noErr;
iter++;
runLen = 0;
break;
}
}
if (!addRun(kBBLMFileIncludeRunKind, runStart, runLen, *callbacks)) return noErr;

View File

@@ -118,3 +118,14 @@
macro_rules! parse {
($thing: expr) => { $thing };
}
// `use` statements
// ----------------
use flux;
use flux::capacitor;
use flux::capacitor::Component::*;
use flux::capacitor::Component::{ImpurePalladium, ThinkingAluminium, TimeyWimeyDevice};
use flux::capacitor as cap;
use super;
use self;