I have various type def'd enums that contains a number of "incorrectly" spelled words. For example, the power states enum for an API I created has elements like "PwrLo" and so on. I don't want to "correctly" spell these words because the "incorrect" spelling matches the spelling that the software running on the UUT uses, and I want the two to match in spelling and capitalization so there's no confusion when a user tries to configure the part.
The spell check VI Analyzer test fails these spellings in every VI that uses these type defs. Obviously, I could add the #via_ignore bookmark to each failing VI, but I can't tie it to just this enum since it's a front panel control. (If I tie it to the control terminal on the block diagram, the test still fails the type def's spelling.) Adding the via_ignore bookmark to all spelling mistakes in every VI that uses a type def'd enum with a misspelling would ignore spelling in up to half of my typical code base for these UUTs since these type defs are so ubiquitous in the code.
Spelling is somewhat trivial in the scheme of things, so I could well just not use the Spell Check test to avoid so many false positives. I could also add exceptions for all of these misspellings, but that just seems tedious and like the wrong tool for the job given how many exceptions I'd have to make and maintain in my user dictionary. Still, it would be nice if I could add the #via_ignore somewhere in the type def itself and have that one bookmark propagate to ignore the spelling of JUST that type def in every one of its callers. Is such a thing even possible? Are there any workarounds for a situation like this other than not doing the spell check test or adding exceptions to my user dictionary?
VI Analyzer Toolkit 2019 and later will ignore instances of a typedef, and just return spell check errors on the source typedef.
I saved the test LLB for 2018, here it is. I gave it a quick test and it appears to work, although make sure you keep a backup of your installed 2018 Spell Check test just in case. You'll want to replace it here:
[LabVIEW 2018]\project\_VI Analyzer\_tests\Documentation\User\Spell Check.llb