igogiko

Syntax Highlight

Feb 22nd, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.99 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import sys
  5. import re
  6.  
  7. import win32clipboard
  8. import win32con
  9.  
  10. import pygments
  11. import pygments.lexers
  12. import pygments.formatters
  13. import pygments.styles
  14.  
  15. hf_format = lambda text: (
  16.     u"%s" % pygments.highlight(text,
  17.                       pygments.lexers.get_lexer_by_name("python"),
  18.                        pygments.formatters.bbcode.BBCodeFormatter(
  19.                            style="monokai")).replace(u" ", u"\u00a0")).replace(u"\t", u"\u00a0" * 2)
  20.  
  21. fix_hf = lambda text: text.replace(u"[color=#ffffff]", "[color=white]")
  22.  
  23. def main():
  24.     win32clipboard.OpenClipboard()
  25.     data = win32clipboard.GetClipboardData()
  26.  
  27.     data = "[font=Courier]" + fix_hf(hf_format(data)) + "[/font]"
  28.  
  29.     win32clipboard.EmptyClipboard()
  30.     win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, data)
  31.     win32clipboard.CloseClipboard()
  32.  
  33. if __name__ == '__main__':
  34.     if sys.platform != 'win32':
  35.         raise NotImplementedError
  36.     main()
Advertisement
Add Comment
Please, Sign In to add comment