syntaxhighlighter / html2.py

from highlighter import PartitionScanner, Token, Scanner, SyntaxHighlighter

formats = [
  ("comment", ("#a0a0a0", False, True)),
  ("tag", ("blue", True)),
  ("attr", ("lightblue")),
  ("value", dict(color="lightblue", italic=True)),
  ("text", ("black",))
]

parts = [
  ("comment", "<!--", "-->", True),
  ("tag", "<", ">", True)
]


tag_scanner = [
  ("attr", "[A-Za-z_]\w*"),
  ("equals", "="),
  ("value", '"[^"]*"')
]



if __name__ == "__main__":
	from PyQt4.QtGui import QApplication, QPlainTextEdit
	app = QApplication([])
	edit = QPlainTextEdit(None)
	sh = SyntaxHighlighter(edit.document(), parts, {"tag":tag_scanner}, formats)
	edit.resize(800, 600)
	edit.setPlainText('<!-- comment--> text <tag attr="value">')
	edit.show()
	app.exec_()
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.