vsg.utilities¶
This module provides functions for rules to use.
-
vsg.utils.
begin_of_line_index
(oLine)¶ Finds the left most non whitespace character. Returns the index of the first non whitespace character.
Parameters:
oLine: (line object)Returns: (integer)
-
vsg.utils.
change_word
(oLine, sWord, sNewWord, iMax=1)¶ Changes one word in the line to another.
Parameters:
oLine: (line object)
sWord: (string)
sNewWord: (string)
-
vsg.utils.
clear_keyword_from_line
(oLine, sKeyword)¶ Removes a keyword from a line.
Parameters:
oLine: (line object)
sKeyword: (string)
-
vsg.utils.
copy_line
(oFile, iLineNumber)¶ Creates a copy of the line at iLineNumber and inserts it below iLineNumber.
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
-
vsg.utils.
end_of_line_index
(oLine)¶ Finds the end of the code on a line ignoring comments. Returns the index of the last code character.
Parameters:
oLine: (line object)Returns: (integer)
-
vsg.utils.
extract_class_identifier_list
(oLine)¶ Returns a class identifiers list.
Parameters:
oLine: (line object)Returns: (list of strings)
-
vsg.utils.
extract_class_name
(oLine)¶ Returns the name of a type in a type declaration.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_component_identifier
(oLine)¶ Returns the entity identifier.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_end_label
(oLine)¶ Returns the end label.
Parameters:
oLine: (line object)Returns: (one element or empty list of strings)
-
vsg.utils.
extract_entity_identifier
(oLine)¶ Returns the entity identifier.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_first_keyword
(oLine)¶ Returns first keyword from line.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_generics
(oLine)¶ Returns a generics list.
Parameters:
oLine: (line object)Returns: (list of strings)
-
vsg.utils.
extract_label
(oLine)¶ Returns the label.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_non_keywords
(sString)¶ - Returns a keyword list with the following removed:
- :’s commas semicolons vhdl keywords double quotes numbers ticks comments
Parameters:
sString: (string)Returns: (list of strings)
-
vsg.utils.
extract_port_name
(oLine)¶ Returns port name from line.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_port_names_from_port_map
(oLine)¶ Returns port names from port assignment inside port map. Parameters:
oLine: (line object)Returns: (list of strings)
-
vsg.utils.
extract_type_identifier
(oLine)¶ Returns the type identifier from type declaration.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_type_name
(oLine)¶ Returns the name of a type in various declarations.
Parameters:
oLine: (line object)Returns: (zero or one element list of strings)
-
vsg.utils.
extract_type_name_from_port
(oLine)¶ Returns the name of a type in port declaration.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_type_name_from_port_vhdl_only
(oLine)¶ Returns the name of a VHDL only types in port declaration.
Parameters:
oLine: (line object)Returns: (one element list of strings)
-
vsg.utils.
extract_type_name_vhdl_only
(oLine)¶ Returns the name of a VHDL only types in various declarations.
Parameters:
oLine: (line object)Returns: (one element or empty list of strings)
-
vsg.utils.
extract_words
(oLine, words)¶ Returns words from line. Case insensitive, however returned words preserve their case.
Parameters:
oLine: (line object)
words: (list of words to extract)
Returns: (list of strings)
-
vsg.utils.
get_first_word
(oLine)¶ Returns the first word from a line at iIndex.
Parameters:
oLine: (line object)Returns: (string)
-
vsg.utils.
get_word
(oLine, iIndex)¶ Returns a word from a line at iIndex.
Parameters:
oLine: (line object)
iIndex: (integer)
Returns: (string)
-
vsg.utils.
insert_line
(oFile, iIndex)¶ Inserts a blank line at iIndex into the file line list.
Parameters:
oFile: (File Object)
iIndex: (integer)
Returns: Nothing
-
vsg.utils.
is_number
(sString)¶ Returns boolean if the string passed is a number.
Parameters:
sLine: (string)Returns: boolean
-
vsg.utils.
is_port_mode
(sWord)¶ Returns True if given word is a valid port mode.
Returns False if given word is not a valid port mode.
Parameters:
sWord: (string)Returns: (boolean)
-
vsg.utils.
is_vhdl_keyword
(sWord)¶ Returns True if given word is a VHDL keyword.
Returns False if given word is not a VHDL keyword.
Parameters:
sWord: (string)Returns: (boolean)
-
vsg.utils.
reclassify_line
(oFile, iLineNumber)¶ Updates the following attributes on the current and next line:
- isFunctionReturn
- insideVariableAssignment
- isVariableAssignmentEnd
- isVariableAssignment
- insideSequential
- isSequentialEnd
- isSequential
- hasComment
- hasInlineComment
- commentColumn
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
-
vsg.utils.
remove_blank_line
(oFile, iLineNumber)¶ Removes a line if it is blank.
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
-
vsg.utils.
remove_closing_parenthesis_and_semicolon
(oLine)¶ Parameters:
oLine: (line object)Returns: (line object)
-
vsg.utils.
remove_comment
(sString)¶ Returns a string without comments.
Parameters:
sString: (string)Returns: (string)
-
vsg.utils.
remove_comment_attributes_from_line
(oLine)¶ Sets all comment attributes on a line to indicate no comment is present.
Parameters:
oLine: (line object)
-
vsg.utils.
remove_line
(oFile, iLineNumber)¶ Removes a line from the file line list.
Parameters:
oFile: (File Object)
iLineNumber : (integer)
Returns: Nothing
-
vsg.utils.
remove_lines
(oFile, iStartLine, iEndLine)¶ Removes a series of lines from the file line list.
Parameters:
oFile: (File Object)
iStartLine: (integer)
iEndLine: (integer)
Returns: Nothing
-
vsg.utils.
remove_parenthesis_from_word
(sWord)¶ Removes parenthesis from words:
Hello(there) => Hello Hello => HelloParameters:
sWord: (string)Returns: (string)
-
vsg.utils.
remove_text_after_word
(sKeyword, sWord)¶ Removes all text after a keyword.
Parameters:
sKeyword: (string)
sWord: (string)
-
vsg.utils.
replace_word_by_index
(oLine, iIndex, sWord)¶ Replaces text in a line at a given index with a given word.
Parameters:
oLine: (Line Object)
iIndex: (integer)
sWord: (string)
Returns: Nothing
-
vsg.utils.
search_for_and_remove_keyword
(oFile, iLineNumber, sKeyword)¶ Searches for a keyword on lines below the current line and removes it if discovered.
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
sKeyword: (string)
-
vsg.utils.
split_line_after_word
(oFile, iLineNumber, sWord)¶ Splits the line after the word given and inserts it after the current line.
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
sWord: (string)
-
vsg.utils.
split_line_before_word
(oFile, iLineNumber, sWord)¶ Splits the line before the word given and inserts it after the current line.
Parameters:
oFile: (vhdlFile object)
iLineNumber: (integer)
sWord: (string)
-
vsg.utils.
strip_semicolon_from_word
(sWord)¶ Removes trailing semicolon from a word:
case; => case entity; => entityParameters:
sWord: (string)Returns: (string)
-
vsg.utils.
update_comment_line_attributes
(oLine)¶ Updates the following attributes on a line:
self.isComment self.hasComment self.hasInLineComment self.commentColumnParameters:
oLine: (Line Object)Returns: Nothing