Igor Kalnitsky avatar Igor Kalnitsky committed b8a84c2

Fix some bugs in VHDL Lexer.

Comments (0)

Files changed (1)

pygments/lexers/hdl.py

     aliases = ['vhdl']
     filenames = ['*.vhdl', '*.vhd']
     mimetypes = ['text/x-vhdl']
+    flags = re.MULTILINE | re.IGNORECASE
 
     tokens = {
         'root': [
             (r'"[^\n\\]*"', String),
 
             (r'(library)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)', bygroups(Keyword, Text, Name.Namespace)),
+            (r'(use)(\s+)(entity)', bygroups(Keyword, Text, Keyword)),
             (r'(use)(\s+)([a-zA-Z_][\.a-zA-Z0-9_]*)', bygroups(Keyword, Text, Name.Namespace)),
             (r'(entity|component)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)', bygroups(Keyword, Text, Name.Class)),
             (r'(architecture|configuration)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)(\s+)(of)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)(\s+)(is)',
             (r'[a-zA-Z_][a-zA-Z0-9_]*', Name),
         ],
         'endblock': [
-            (r'\s+$', Text),
-            (r'[()\[\],.;\']', Punctuation),
-
             include('keywords'),
             (r'[a-zA-Z_][a-zA-Z0-9_]*', Name.Class),
+            (r'(\s+)', Text),
+            (r';', Punctuation, '#pop'),
         ],
         'types': [
             (r'(boolean|bit|character|severity_level|integer|time|delay_length|'
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.