.. include:: includes.rst Case Rules ---------- case_001 ######## |phase_4| |error| |indent| This rule checks the indent of **case**, **when**, and **end case** keywords. **Violation** .. code-block:: vhdl case data is when 0 => when 1 => when 3 => end case; **Fix** .. code-block:: vhdl case data is when 0 => when 1 => when 3 => end case; case_002 ######## |phase_2| |error| |whitespace| This rule checks for a single space after the **case** keyword. |configuring_whitespace_rules_link| **Violation** .. code-block:: vhdl case data is **Fix** .. code-block:: vhdl case data is case_003 ######## |phase_2| |error| |whitespace| This rule checks for a single space before the **is** keyword. |configuring_whitespace_rules_link| **Violation** .. code-block:: vhdl case data is **Fix** .. code-block:: vhdl case data is case_004 ######## |phase_2| |error| |whitespace| This rule checks for a single space after the **when** keyword. |configuring_whitespace_rules_link| **Violation** .. code-block:: vhdl case data is when 3 => **Fix** .. code-block:: vhdl case data is when 3 => case_005 ######## |phase_2| |error| |whitespace| This rule checks for a single space before the **=>** operator. |configuring_whitespace_rules_link| **Violation** .. code-block:: vhdl case data is when 3 => **Fix** .. code-block:: vhdl case data is when 3 => case_006 ######## |phase_2| |error| |whitespace| This rule checks for a single space between the **end** and **case** keywords. |configuring_whitespace_rules_link| **Violation** .. code-block:: vhdl case data is end case; **Fix** .. code-block:: vhdl case data is end case; case_007 ######## |phase_3| |error| |blank_line| This rule checks for blank lines or comments above the **case** keyword. |configuring_previous_line_rules_link| The default style is :code:`no_code`. **Violation** .. code-block:: vhdl a <= '1'; case data is -- This is a comment case data is **Fix** .. code-block:: vhdl a <= '1'; case data is -- This is a comment case data is case_008 ######## The function of this rule has been included in rule case_201. case_009 ######## |phase_3| |error| |blank_line| This rule checks for blank lines or comments above the **end** keyword. |configuring_blank_lines_link| **Violation** .. code-block:: vhdl when others => null; end case; **Fix** .. code-block:: vhdl when others => null; end case; case_010 ######## |phase_3| |error| |blank_line| This rule checks for a blank line below the **end case** keywords. |configuring_blank_lines_link| **Violation** .. code-block:: vhdl end case; a <= '1'; **Fix** .. code-block:: vhdl end case; a <= '1'; case_011 ######## |phase_4| |error| |alignment| This rule checks the alignment of multiline **when** statements. **Violation** .. code-block:: vhdl case data is when 0 | 1 | 2 | 3 4 | 5 | 7 => **Fix** .. code-block:: vhdl case data is when 0 | 1 | 2 | 3 4 | 5 | 7 => case_012 ######## |phase_1| |error| |structure| This rule checks for code after the **=>** operator. **Violation** .. code-block:: vhdl when 0 => a <= '1'; **Fix** .. code-block:: vhdl when 0 => a <= '1'; case_013 ######## |phase_4| |error| |indent| This rule checks the indent of the **null** keyword. **Violation** .. code-block:: vhdl when others => null; when others => null; **Fix** .. code-block:: vhdl when others => null; when others => null; case_014 ######## |phase_6| |error| |case| |case_keyword| This rule checks the **case** keyword has proper case. |configuring_uppercase_and_lowercase_rules_link| **Violation** .. code-block:: vhdl CASE address is Case address is case address is **Fix** .. code-block:: vhdl case address is case address is case address is case_015 ######## |phase_6| |error| |case| |case_keyword| This rule checks the **is** keyword has proper case. |configuring_uppercase_and_lowercase_rules_link| **Violation** .. code-block:: vhdl case address IS case address Is case address iS **Fix** .. code-block:: vhdl case address is case address is case address is case_016 ######## |phase_6| |error| |case| |case_keyword| This rule checks the **when** has proper case. |configuring_uppercase_and_lowercase_rules_link| **Violation** .. code-block:: vhdl WHEN a => When b => when c => **Fix** .. code-block:: vhdl when a => when b => when c => case_017 ######## |phase_6| |error| |case| |case_keyword| This rule checks the **end** keyword in the **end case** has proper case. |configuring_uppercase_and_lowercase_rules_link| **Violation** .. code-block:: vhdl End case; END case; end case; **Fix** .. code-block:: vhdl end case; end case; end case; case_018 ######## |phase_6| |error| |case| |case_keyword| This rule checks the **case** keyword has proper case in the **end case**. |configuring_uppercase_and_lowercase_rules_link| **Violation** .. code-block:: vhdl end CASE; end CAse; end case; **Fix** .. code-block:: vhdl end case; end case; end case; case_019 ######## |phase_1| |error| |structure| This rule checks for labels before the **case** keyword. The label should be removed. The preference is to have comments above the case statement. **Violation** .. code-block:: vhdl CASE_LABEL : case address is CASE_LABEL: case address is case address is **Fix** .. code-block:: vhdl case address is case address is case address is case_020 ######## |phase_1| |error| |structure| This rule checks for labels after the **end case** keywords. The label should be removed. The preference is to have comments above the case statement. **Violation** .. code-block:: vhdl end case CASE_LABEL; end case; **Fix** .. code-block:: vhdl end case; end case; case_021 ######## The function of this rule has been superseded with comment indent updates and is handled by rule comment_010. case_200 ######## |phase_3| |error| |blank_line| This rule checks for a blank line below the **=>** keyword. |configuring_blank_lines_link| **Violation** .. code-block:: vhdl when 0 => a <= b; **Fix** .. code-block:: vhdl when 0 => a <= b; case_201 ######## |phase_3| |error| |blank_line| This rule checks for blank lines or comments above the **when** keyword. |configuring_previous_line_rules_link| The default style is :code:`allow_comment`. **Violation** .. code-block:: vhdl case data is when 3 => -- Comment when 4 => **Fix** .. code-block:: vhdl case data is when 3 => -- Comment when 4 =>