Comments (6)
Evening @maltaisn ,
The prefix and suffix exceptions are applied at the same time. So the configuration you have would be checking the following:
P_comp_S : component comp
port map (
a => a,
b => b
);
Since your first instantiation is missing the suffix _S
it is considered a violation.
The second instance is missing the prefix _P
so it is also considered a violation.
I scanned the documentation and there is nothing that covers using both prefix and suffix exceptions at the same time.
The question is, how would you like to proceed?
--Jeremy
from vhdl-style-guide.
I would have expected the check to succeed if either a prefix is present, a suffix, or one of both.
from vhdl-style-guide.
@maltaisn This is a comment from an outside of what you're working on, but I believe it wouldn't be impossible to create a rule that enforces one of both. There are two base rules (rules that are the foundation for many of the full set of VSG's built in rules) that manage prefix and suffix rules: vsg.rules.token_prefix.py and vsg.rules.token_suffix.py. While the standard way to create a rule usually involves extending your rule off of one of these base rules, in order to capture the functionality of both of these rules, you could create a unique rule that instantiates both these rules as objects, runs their analysis manually, and adds violations based on the violations present within those objects.
--Benito
from vhdl-style-guide.
Evening @maltaisn and @Benito-E ,
I reviewed the implementation and I believe the best course of action would be to update the prefix/suffix base rule to check for all permutations of prefix and suffix exceptions if both are defined. I should have considered those permutations when I first added the exceptions.
I have pushed an update for this to issue-1177
branch. When you get a chance could you check it out on your end and let me know if it is working for you?
Thanks,
--Jeremy
from vhdl-style-guide.
It works for me, thanks!
from vhdl-style-guide.
Awesome I will merge this to master.
from vhdl-style-guide.
Related Issues (20)
- Consider removing vsg/rules/__init__.py and vsg/vhdlFile/extract/__init__.py import index files
- Enable pylint in project
- Documentation issues
- Subtype exceptions HOT 6
- pytest occasionally reports an issue but does not fail
- Manifest.in is out of date.
- `Configuring Use Clause Indenting` documentation issue HOT 4
- --vsg_off length_003 does not disable the rule HOT 3
- IndexError: pop from empty list when having lots of parenthesis in a package body HOT 6
- Extended configurability HOT 14
- Rule for "space around operators" (?) HOT 3
- Local Rule Creation Documentation HOT 5
- Multiple local_rule Directories HOT 5
- Rule for new lines between end of generic map and port map HOT 5
- Rule concerning label presence after end keyword on component declaration HOT 4
- PascalCase/camelCase and acronyms HOT 7
- Options for merging config files HOT 1
- Forcing single space when disabling alignment rules HOT 3
- record element is incorrectly recognized as type element
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vhdl-style-guide.