Skip to content

Commit 7c3b16a

Browse files
committed
add option to disable field/alias resolution for semantic highlighting
1 parent c8e8f9f commit 7c3b16a

File tree

4 files changed

+13
-5
lines changed

4 files changed

+13
-5
lines changed

vdc/abothe/comserver/CodeSemantics/IdentifierTypesGenerator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected override string Process(
2525
{
2626
var invalidCodeRegions = new List<ISyntaxRegion>();
2727
var textLocationsToHighlight =
28-
TypeReferenceFinder.Scan(editorData, editorData.CancelToken, true, invalidCodeRegions);
28+
TypeReferenceFinder.Scan(editorData, editorData.CancelToken, resolveTypes, invalidCodeRegions);
2929
return TextLocationsToIdentifierSpans(textLocationsToHighlight);
3030
}
3131
catch (Exception ex)

visuald/dlangsvc.d

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4038,7 +4038,8 @@ else
40384038
Package.GetTaskProvider().updateTaskItems(filename, tasks);
40394039

40404040
if (Package.GetGlobalOptions().semanticHighlighting)
4041-
Package.GetLanguageService().GetIdentifierTypes(this, 0, -1, true, &OnUpdateIdentifierTypes);
4041+
Package.GetLanguageService().GetIdentifierTypes(this, 0, -1, Package.GetGlobalOptions().semanticResolveFields,
4042+
&OnUpdateIdentifierTypes);
40424043
}
40434044

40444045
void updateParseErrors(string err)

visuald/dpackage.d

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1342,6 +1342,7 @@ class GlobalOptions
13421342
bool showTypeInTooltip;
13431343
bool showValueInTooltip;
13441344
bool semanticHighlighting;
1345+
bool semanticResolveFields;
13451346
bool semanticGotoDef = true;
13461347
bool useDParser;
13471348
bool mixinAnalysis;
@@ -1678,7 +1679,8 @@ class GlobalOptions
16781679
expandTrigger = cast(byte) getIntOpt("expandTrigger", 0);
16791680
showTypeInTooltip = getBoolOpt("showTypeInTooltip2", true); // changed default
16801681
showValueInTooltip = getBoolOpt("showValueInTooltip", false);
1681-
semanticHighlighting= getBoolOpt("semanticHighlighting", false);
1682+
semanticHighlighting = getBoolOpt("semanticHighlighting", false);
1683+
semanticResolveFields = getBoolOpt("semanticResolveFields", false);
16821684
//semanticGotoDef = getBoolOpt("semanticGotoDef", true);
16831685
pasteIndent = getBoolOpt("pasteIndent", true);
16841686
fmtIndentCase = getBoolOpt("fmtIndentCase", true);
@@ -1947,6 +1949,7 @@ class GlobalOptions
19471949
keyToolOpts.Set("showTypeInTooltip2", showTypeInTooltip);
19481950
keyToolOpts.Set("showValueInTooltip", showValueInTooltip);
19491951
keyToolOpts.Set("semanticHighlighting", semanticHighlighting);
1952+
keyToolOpts.Set("semanticResolveFields", semanticResolveFields);
19501953
//keyToolOpts.Set("semanticGotoDef", semanticGotoDef);
19511954
keyToolOpts.Set("useDParser2", useDParser);
19521955
keyToolOpts.Set("mixinAnalysis", mixinAnalysis);

visuald/propertypage.d

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2416,15 +2416,16 @@ class ColorizerPropertyPage : GlobalPropertyPage
24162416
this(GlobalOptions options)
24172417
{
24182418
super(options);
2419-
kNeededLines = 14;
2419+
kNeededLines = 15;
24202420
}
24212421

24222422
override void CreateControls()
24232423
{
24242424
mLinesPerMultiLine = 3;
24252425
AddTitleLine("Colorizer");
24262426
AddControl("", mColorizeVersions = new CheckBox(mCanvas, "Colorize version and debug statements"));
2427-
AddControl("", mSemanticHighlighting = new CheckBox(mCanvas, "Colorize types from semantic analysis (experimental)"));
2427+
AddControl("", mSemanticHighlighting = new CheckBox(mCanvas, "Colorize identifiers from semantic analysis (experimental)"));
2428+
AddControl("", mResolveFields = new CheckBox(mCanvas, " resolving fields and aliases (can be slow)"));
24282429
AddControl("Colored types", mUserTypes = new MultiLineText(mCanvas), 1000);
24292430
AddTitleLine("Coverage");
24302431
AddControl("", mColorizeCoverage = new CheckBox(mCanvas, "Colorize coverage from .LST file"));
@@ -2441,6 +2442,7 @@ class ColorizerPropertyPage : GlobalPropertyPage
24412442
{
24422443
mColorizeVersions.setChecked(opts.ColorizeVersions);
24432444
mSemanticHighlighting.setChecked(opts.semanticHighlighting);
2445+
mResolveFields.setChecked(opts.semanticResolveFields);
24442446
mColorizeCoverage.setChecked(opts.ColorizeCoverage);
24452447
mShowCoverageMargin.setChecked(opts.showCoverageMargin);
24462448
mAutoOutlining.setChecked(opts.autoOutlining);
@@ -2457,6 +2459,7 @@ class ColorizerPropertyPage : GlobalPropertyPage
24572459
int changes = 0;
24582460
changes += changeOption(mColorizeVersions.isChecked(), opts.ColorizeVersions, refopts.ColorizeVersions);
24592461
changes += changeOption(mSemanticHighlighting.isChecked(), opts.semanticHighlighting, refopts.semanticHighlighting);
2462+
changes += changeOption(mResolveFields.isChecked(), opts.semanticResolveFields, refopts.semanticResolveFields);
24602463
changes += changeOption(mColorizeCoverage.isChecked(), opts.ColorizeCoverage, refopts.ColorizeCoverage);
24612464
changes += changeOption(mShowCoverageMargin.isChecked(), opts.showCoverageMargin, refopts.showCoverageMargin);
24622465
changes += changeOption(mAutoOutlining.isChecked(), opts.autoOutlining, refopts.autoOutlining);
@@ -2469,6 +2472,7 @@ class ColorizerPropertyPage : GlobalPropertyPage
24692472

24702473
CheckBox mColorizeVersions;
24712474
CheckBox mSemanticHighlighting;
2475+
CheckBox mResolveFields;
24722476
CheckBox mColorizeCoverage;
24732477
CheckBox mShowCoverageMargin;
24742478
CheckBox mAutoOutlining;

0 commit comments

Comments
 (0)