Default to a basic DFHack-specific pygments lexer (supporting comments and prompts)
							parent
							
								
									09f262a0c2
								
							
						
					
					
						commit
						a5f85e256d
					
				| @ -0,0 +1,34 @@ | ||||
| # adapted from: | ||||
| #   https://stackoverflow.com/a/16470058 | ||||
| #   https://pygments.org/docs/lexerdevelopment/ | ||||
| 
 | ||||
| import re | ||||
| 
 | ||||
| from pygments.lexer import RegexLexer | ||||
| from pygments.token import Comment, Generic, Text | ||||
| from sphinx.highlighting import lexers | ||||
| 
 | ||||
| class DFHackLexer(RegexLexer): | ||||
|     name = 'DFHack' | ||||
|     aliases = ['dfhack'] | ||||
|     flags = re.IGNORECASE | re.MULTILINE | ||||
| 
 | ||||
|     tokens = { | ||||
|         'root': [ | ||||
|             (r'\#.+$', Comment.Single), | ||||
|             (r'^\[[a-z]+\]\# ', Generic.Prompt), | ||||
|             (r'.+?', Text), | ||||
|         ] | ||||
|     } | ||||
| 
 | ||||
| def register_lexer(app): | ||||
|     lexers['dfhack'] = DFHackLexer() | ||||
| 
 | ||||
| def setup(app): | ||||
|     app.connect('builder-inited', register_lexer) | ||||
| 
 | ||||
|     return { | ||||
|         'version': '0.1', | ||||
|         'parallel_read_safe': True, | ||||
|         'parallel_write_safe': True, | ||||
|     } | ||||
		Loading…
	
		Reference in New Issue