Skip to content

Commit 677a401

Browse files
committed
UDA to disable linting: use key instead of linter type
1 parent a4a5734 commit 677a401

File tree

4 files changed

+23
-17
lines changed

4 files changed

+23
-17
lines changed

src/dscanner/analysis/base.d

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -467,57 +467,57 @@ protected:
467467
deprecated("Use the overload taking start and end locations or a Node instead")
468468
void addErrorMessage(size_t line, size_t column, string key, string message)
469469
{
470-
if(noLint.containsCheck(this.getName()))
470+
if(noLint.containsCheck(key))
471471
return;
472472
_messages.insert(Message(fileName, line, column, key, message, getName()));
473473
}
474474

475475
void addErrorMessage(const BaseNode node, string key, string message, AutoFix[] autofixes = null)
476476
{
477-
if(noLint.containsCheck(this.getName()))
477+
if(noLint.containsCheck(key))
478478
return;
479479
addErrorMessage(Message.Diagnostic.from(fileName, node, message), key, autofixes);
480480
}
481481

482482
void addErrorMessage(const Token token, string key, string message, AutoFix[] autofixes = null)
483483
{
484-
if(noLint.containsCheck(this.getName()))
484+
if(noLint.containsCheck(key))
485485
return;
486486
addErrorMessage(Message.Diagnostic.from(fileName, token, message), key, autofixes);
487487
}
488488

489489
void addErrorMessage(const Token[] tokens, string key, string message, AutoFix[] autofixes = null)
490490
{
491-
if(noLint.containsCheck(this.getName()))
491+
if(noLint.containsCheck(key))
492492
return;
493493
addErrorMessage(Message.Diagnostic.from(fileName, tokens, message), key, autofixes);
494494
}
495495

496496
void addErrorMessage(size_t[2] index, size_t line, size_t[2] columns, string key, string message, AutoFix[] autofixes = null)
497497
{
498-
if(noLint.containsCheck(this.getName()))
498+
if(noLint.containsCheck(key))
499499
return;
500500
addErrorMessage(index, [line, line], columns, key, message, autofixes);
501501
}
502502

503503
void addErrorMessage(size_t[2] index, size_t[2] lines, size_t[2] columns, string key, string message, AutoFix[] autofixes = null)
504504
{
505-
if(noLint.containsCheck(this.getName()))
505+
if(noLint.containsCheck(key))
506506
return;
507507
auto d = Message.Diagnostic.from(fileName, index, lines, columns, message);
508508
_messages.insert(Message(d, key, getName(), autofixes));
509509
}
510510

511511
void addErrorMessage(Message.Diagnostic diagnostic, string key, AutoFix[] autofixes = null)
512512
{
513-
if(noLint.containsCheck(this.getName()))
513+
if(noLint.containsCheck(key))
514514
return;
515515
_messages.insert(Message(diagnostic, key, getName(), autofixes));
516516
}
517517

518518
void addErrorMessage(Message.Diagnostic diagnostic, Message.Diagnostic[] supplemental, string key, AutoFix[] autofixes = null)
519519
{
520-
if(noLint.containsCheck(this.getName()))
520+
if(noLint.containsCheck(key))
521521
return;
522522
_messages.insert(Message(diagnostic, supplemental, key, getName(), autofixes));
523523
}

src/dscanner/analysis/nolint.d

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ private:
178178
// into a NoLint struct
179179
static Nullable!NoLint fromString(in string str)
180180
{
181-
auto re = regex(`\w+`, "g");
181+
auto re = regex(`[\w-_.]+`, "g");
182182
auto matches = matchAll(str, re);
183183

184184
if(!matches)
@@ -212,7 +212,8 @@ unittest
212212
const s1 = "nolint(abc)";
213213
const s2 = "nolint(abc, efg, hij)";
214214
const s3 = " nolint ( abc , efg ) ";
215-
const s4 = "OtherUda(abc)";
215+
const s4 = "nolint(dscanner.style.abc_efg-ijh)";
216+
const s5 = "OtherUda(abc)";
216217

217218
assert(NoLintFactory.fromString(s1).get.containsCheck("abc"));
218219

@@ -223,5 +224,10 @@ unittest
223224
assert(NoLintFactory.fromString(s3).get.containsCheck("abc"));
224225
assert(NoLintFactory.fromString(s3).get.containsCheck("efg"));
225226

226-
assert(NoLintFactory.fromString(s4).isNull);
227+
assert(NoLintFactory.fromString(s4).get.containsCheck("dscanner.style.abc_efg-ijh"));
228+
229+
assert(NoLintFactory.fromString(s5).isNull);
230+
231+
import std.stdio: stderr, writeln;
232+
stderr.writeln("Unittest for NoLint passed.");
227233
}

src/dscanner/analysis/style.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ unittest
238238
}c, sac);
239239

240240
assertAnalyzerWarnings(q{
241-
@("nolint(style_check)")
241+
@("nolint(dscanner.style.phobos_naming_convention)")
242242
module AMODULE;
243243
}c, sac);
244244

src/dscanner/analysis/useless_initializer.d

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -370,27 +370,27 @@ public:
370370

371371
// passes
372372
assertAnalyzerWarnings(q{
373-
@("nolint(useless_initializer)")
373+
@("nolint(dscanner.useless-initializer)")
374374
int a = 0;
375375
int a = 0; /+
376376
^ [warn]: X +/
377377

378-
@("nolint(useless_initializer)")
378+
@("nolint(dscanner.useless-initializer)")
379379
int f() {
380380
int a = 0;
381381
}
382382

383383
struct nolint { string s; }
384384

385-
@nolint("useless_initializer")
385+
@nolint("dscanner.useless-initializer")
386386
int a = 0;
387387
int a = 0; /+
388388
^ [warn]: X +/
389389

390-
@("nolint(other_check, useless_initializer, another_one)")
390+
@("nolint(other_check, dscanner.useless-initializer, another_one)")
391391
int a = 0;
392392

393-
@nolint("other_check", "another_one", "useless_initializer")
393+
@nolint("other_check", "another_one", "dscanner.useless-initializer")
394394
int a = 0;
395395

396396
}, sac);

0 commit comments

Comments
 (0)