?? highlight.py
字號:
import re
DEFUALT_DELIMITERS="~!%@^&*()-+=|\"'/{}[]:; , .?"
DEFAULT_IDNETIFIED_HEADER="_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
DEFAULT_IDENTIFIED=DEFAULT_IDNETIFIED_HEADER+"0123456789"
def PrintKey(item, *argv):
if item not in " \n\r\f":
print " | "+item
def findmatch(instr , startpos , sortedlist ,casesenstive, startlen=1):
i=startlen
m=0
n=len(sortedlist)
cur= int(n/2)
if(casesenstive):
compare=cmp
else:
compare=lambda x,y : cmp(x.lower(), y.lower())
while(1):
# print m, cur , n
if ( cur==m or cur==n ):
if( instr[startpos+0:startpos+len(sortedlist[cur][0])]!=sortedlist[cur][0] ):
return None
else:
return sortedlist[cur]
cmresult=compare(instr[startpos+0:startpos+i],sortedlist[cur][0][0:i])
# print i , instr[startpos+0:i] , sortedlist[cur][0] , cmresult
if( cmresult < 0):
n=cur
cur = int((m+cur)/2)
if cur==m :
cur=cur+1
elif( cmresult > 0):
m=cur
t=divmod((n+cur) , 2)
cur = t[0]+t[1]
else:
if i== len(sortedlist[cur][0]) :
return sortedlist[cur]
i=i+1
def HightLightString(aimstr):
global DEFUALT_DELIMITERS
global DEFAULT_IDNETIFIED_HEADER
global DEFAULT_IDENTIFIED
default_action=PrintKey
delimiters=DEFUALT_DELIMITERS
identified_header=DEFAULT_IDNETIFIED_HEADER
identified=DEFAULT_IDENTIFIED
block_signs=[ ("/*" #start pattern
,"*/" #end pattern
,default_action #Action function
)
, ( '"' ,re.compile(r'([^"\\]|(\\.))*"',re.S) , default_action )
, ( "'" ,re.compile(r"([^'\\]|(\\.))*'",re.S) , default_action )
, ( "#" ,"\n", default_action )
]
case_senstive=True
single_signs=[("and",default_action),("as",default_action),("assert",default_action),("break",default_action),("class",default_action),("continue",default_action),("def",default_action),("del",default_action),("elif",default_action),("else",default_action),("except",default_action),("exec",default_action),("finally",default_action),("for",default_action),("from",default_action),("global",default_action),("if",default_action),("import",default_action),("in",default_action),("is",default_action),("lambda",default_action),("not",default_action),("or",default_action),("object",default_action),("pass",default_action),("print",default_action),("raise",default_action),("range",default_action),("return",default_action),("try",default_action),("while",default_action),("yield",default_action),("__import__",default_action),("abs",default_action),("apply",default_action),("basestring",default_action),("bool",default_action),("buffer",default_action),("callable",default_action),("chr",default_action),("classmethod",default_action),("cmp",default_action),("coerce",default_action),("compile",default_action),("complex",default_action),("delattr",default_action),("dict",default_action),("dir",default_action),("divmod",default_action),("enumerate",default_action),("eval",default_action),("execfile",default_action),("Ellipsis",default_action),("file",default_action),("filter",default_action),("float",default_action),("frozenset",default_action),("False",default_action),("getattr",default_action),("globals",default_action),("group",default_action),("hasattr",default_action),("hash",default_action),("help",default_action),("hex",default_action),("id",default_action),("input",default_action),("int",default_action),("intern",default_action),("isinstance",default_action),("issubclass",default_action),("iter",default_action),("joinfields",default_action),("len",default_action),("list",default_action),("local",default_action),("long",default_action),("map",default_action),("match",default_action),("max",default_action),("min",default_action),("None",default_action),("NotImplemented",default_action),("oct",default_action),("open",default_action),("ord",default_action),("pow",default_action),("property",default_action),("raw_input",default_action),("reduce",default_action),("reload",default_action),("repr",default_action),("round",default_action),("search",default_action),("set",default_action),("setattr",default_action),("slice",default_action),("sorted",default_action),("str",default_action),("splitfields",default_action),("tuple",default_action),("type",default_action),("True",default_action),("unichr",default_action),("unicode",default_action),("vars",default_action),("xrange",default_action),("zip",default_action),("__abs__",default_action),("__add__",default_action),("__and__",default_action),("__call__",default_action),("__cmp__",default_action),("__coerce__",default_action),("__contains__",default_action),("__del__",default_action),("__delattr__",default_action),("__delitem__",default_action),("__delslice__",default_action),("__div__",default_action),("__divmod__",default_action),("__eq__",default_action),("__float__",default_action),("__floordiv__",default_action),("",default_action),("__ge__",default_action),("__getattribute__",default_action),("__getitem__",default_action),("__getnewargs__",default_action),("__getslice__",default_action),("__gt__",default_action),("__hash__",default_action),("__hex__",default_action),("__iadd__",default_action),("__iand__",default_action),("__idiv__",default_action),("__ilshift__",default_action),("__imod__",default_action),("__imul__",default_action),("__init__",default_action),("__int__",default_action),("__invert__",default_action),("__ior__",default_action),("__ipow__",default_action),("__irshift__",default_action),("__isub__",default_action),("__iter__",default_action),("__ixor__",default_action),("__le__",default_action),("__len__",default_action),("__long__",default_action),("__lshift__",default_action),("__lt__",default_action),("__mod__",default_action),("__mul__",default_action),("__ne__",default_action),("__neg__",default_action),("__nonzero__",default_action),("__oct__",default_action),("__or__",default_action),("__pos__",default_action),("__pow__",default_action),("__radd__",default_action),("__rand__",default_action),("__rdiv__",default_action),("__rdivmod__",default_action),("__reduce__",default_action),("__reduce_ex__",default_action),("__repr__",default_action),("__reserved__",default_action),("__rfloordiv__",default_action),("__rlshift__",default_action),("__rmod__",default_action),("__rmul__",default_action),("__ror__",default_action),("__rpow__",default_action),("__rlshift__",default_action),("__rrshift__",default_action),("__rshift__",default_action),("__rsub__",default_action),("__rtruediv__",default_action),("__rxor__",default_action),("",default_action),("__setattr__",default_action),("__setitem__",default_action),("__setslice__",default_action),("__str__",default_action),("__sub__",default_action),("__xor__",default_action),("add",default_action),("append",default_action),("capitalize",default_action),("center",default_action),("clear",default_action),("close",default_action),("conjugate",default_action),("copy",default_action),("count",default_action),("decode",default_action),("difference",default_action),("discard",default_action),("Decimal",default_action),("encode",default_action),("endswith",default_action),("expandtabs",default_action),("extend",default_action),("find",default_action),("flush",default_action),("fileno",default_action),("fromkeys",default_action),("get",default_action),("getcontext",default_action),("has_key",default_action),("index",default_action),("insert",default_action),("intersection",default_action),("intersection_update",default_action),("isalnum",default_action),("isalpha",default_action),("isatty",default_action),("isdigit",default_action),("islower",default_action),("isspace",default_action),("issubset",default_action),("issuperset",default_action),("istitle",default_action),("isupper",default_action),("items",default_action),("iteritems",default_action),("iterkeys",default_action),("itervalues",default_action),("join",default_action),("keys",default_action),("ljust",default_action),("lower",default_action),("lstrip",default_action),("next",default_action),("pop",default_action),("popitem",default_action),("read",default_action),("readline",default_action),("readlines",default_action),("remove",default_action),("replace",default_action),("reverse",default_action),("rfind",default_action),("rindex",default_action),("rjust",default_action),("rsplit",default_action),("rstrip",default_action),("seek",default_action),("setdefault",default_action),("sort",default_action),("split",default_action),("splitlines",default_action),("startswith",default_action),("strip",default_action),("swapcase",default_action),("symmetric_difference",default_action),("symmetric_difference_update",default_action),("tell",default_action),("title",default_action),("translate",default_action),("truncate",default_action),("union",default_action),("update",default_action),("upper",default_action),("values",default_action),("write",default_action),("writelines",default_action),("zfill",default_action),("__author__",default_action),("__bases__",default_action),("__class__",default_action),("__dict__",default_action),("__doc__",default_action),("__email__",default_action),("__methods__",default_action),("__members__",default_action),("__name__",default_action),("__slots__",default_action),("__version__",default_action),("ArithmeticError",default_action),("AssertionError",default_action),("AttributeError",default_action),("DeprecationWarning",default_action),("EnvironmentError",default_action),("EOFError",default_action),("Exception",default_action),("FloatingPointError",default_action),("FutureWarning",default_action),("ImportError",default_action),("IndentationError",default_action),("IndexError",default_action),("IOError",default_action),("",default_action),("KeyboardInterrupt",default_action),("KeyError",default_action),("LookupError",default_action),("MemoryError",default_action),("NameError",default_action),("NotImplementedError",default_action),("OSError",default_action),("OverflowWarning",default_action),("OverflowError",default_action),("PendingDeprecationWarning",default_action),("ReferenceError",default_action),("RuntimeError",default_action),("RuntimeWarning",default_action),("StandardError",default_action),("StopIteration",default_action),("SyntaxError",default_action),("SyntaxWarning",default_action),("SystemError",default_action),("SystemExit",default_action),("TabError",default_action),("TypeError",default_action),("UnboundLocalError",default_action),("UnicodeError",default_action),("UnicodeDecodeError",default_action),("UnicodeEncodeError",default_action),("UnicodeTranslateError",default_action),("UserWarning",default_action),("ValueError",default_action),("Warning",default_action),("WindowsError",default_action),("ZeroDivisionError",default_action),("+=",default_action),("",default_action),("-=",default_action),("",default_action),("%=",default_action),("",default_action),("/=",default_action),("",default_action),("**=",default_action),("",default_action),("&=",default_action),("",default_action),("|=",default_action),("",default_action),("^=",default_action),("",default_action),(">>=",default_action),("",default_action),("<<=",default_action),("__builtin__",default_action),("__future__",default_action),("__main__",default_action),("aepack",default_action),("aetools",default_action),("aetypes",default_action),("aifc",default_action),("al",default_action),("anydbm",default_action),("applesingle",default_action),("atexit",default_action),("array",default_action),("asyncore",default_action),("asynchat",default_action),("audioop",default_action),("autoGIL",default_action),("AL",default_action),("AST",default_action),("",default_action),("base64",default_action),("binascii",default_action),("binhex",default_action),("bisect",default_action),("bsddb",default_action),("buildtools",default_action),("bz2",default_action),("BaseHTTPServer",default_action),("Bastion",default_action),("calendar",default_action),("cd",default_action),("cfmfile",default_action),("cgi",default_action),("cgitb",default_action),("chunk",default_action),("cmath",default_action),("cmd",default_action),("code",default_action),("codecs",default_action),("codeop",default_action),("collections",default_action),("colorsys",default_action),("commands",default_action),("compileall",default_action),("cookielib",default_action),("copy_reg",default_action),("cPickle",default_action),("cStringIO",default_action),("csv",default_action),("curses",default_action),("Carbon",default_action),("CGIHTTPServer",default_action),("ColorPicker",default_action),("Complex",default_action),("ConfigParser",default_action),("Cookie",default_action),("datetime",default_action),("dbhash",default_action),("decimal",default_action),("difflib",default_action),("dircache",default_action),("dircmp",default_action),("dis",default_action),("distutils",default_action),("dl",default_action),("doctest",default_action),("dospath",default_action),("dumbdbm",default_action),("dummy_thread",default_action),("dummy_threading",default_action),("DEVICE",default_action),("DocXMLRPCServer",default_action),("emacs",default_action),("email",default_action),("encodings",default_action),("errno",default_action),("exceptions",default_action),("EasyDialogs",default_action),("fcntl",default_action),("filecmp",default_action),("fileinput",default_action),("findertools",default_action),("fl",default_action),("flp",default_action),("fm",default_action),("fmt",default_action),("fnmatch",default_action),("formatter",default_action),("fpectl",default_action),("fpformat",default_action),("ftplib",default_action),("FL",default_action),("FrameWork",default_action),("gc",default_action),("gdbm",default_action),("gensuitemodule",default_action),("getopt",default_action),("getpass",default_action),("gettext",default_action),("gl",default_action),("glob",default_action),("gopherlib",default_action),("grep",default_action),("gzip",default_action),("GL",default_action),("heapq",default_action),("hmac",default_action),("hotshot",default_action),("htmlentitydefs",default_action),("htmllib",default_action),("httplib",default_action),("HTMLParser",default_action),("ic",default_action),("icopen",default_action),("ihooks",default_action),("imaplib",default_action),("imageop",default_action),("imghdr",default_action),("imp",default_action),("imputil",default_action),("inspect",default_action),("itertools",default_action),("jpeg",default_action),("keyword",default_action),("linecache",default_action),("locale",default_action),("lockfile",default_action),("logging",default_action),("mac",default_action),("macerrors",default_action),("macfs",default_action),("macostools",default_action),("macpath",default_action),("macresource",default_action),("macurl2path",default_action),("mailbox",default_action),("mailcap",default_action),("marshal",default_action),("md5",default_action),("mhlib",default_action),("mimetools",default_action),("mimetypes",default_action),("mimify",default_action),("mmap",default_action),("multifile",default_action),("mutex",default_action),("math",default_action),("MacOS",default_action),("MimeWriter",default_action),("MiniAEFrame",default_action),("netrc",default_action),("new",default_action),("newdir",default_action),("ni",default_action),("nis",default_action),("nntplib",default_action),("nsremote",default_action),("ntpath",default_action),("nturl2path",default_action),("operator",default_action),("optparse",default_action),("os",default_action),("ossaudiodev",default_action),("parser",default_action),("pdb",default_action),("pgdb",default_action),("pickle",default_action),("pickletools",default_action),("pipes",default_action),("pkgutil",default_action),("platform",default_action),("poly",default_action),("popen2",default_action),("poplib",default_action),("posixfile",default_action),("posixpath",default_action),("pprint",default_action),("profile",default_action),("pstats",default_action),("py_compile",default_action),("pyclbr",default_action),("pydoc",default_action),("pyexpat",default_action),("pythonprefs",default_action),("Para",default_action),("PixMapWrapper",default_action),("quietconsole",default_action),("quopri",default_action),("Queue",default_action),("rand",default_action),("random",default_action),("re",default_action),("regex",default_action),("regsub",default_action),("resource",default_action),("rexec",default_action),("rfc822",default_action),("rgbimg",default_action),("rlcompleter",default_action),("robotparser",default_action),("rotor",default_action),("sched",default_action),("select",default_action),("sets",default_action),("sgmllib",default_action),("sha",default_action),("shelve",default_action),("shlex",default_action),("shutil",default_action),("signal",default_action),("site",default_action),("smtpd",default_action),("smtplib",default_action),("sndhdr",default_action),("snmp",default_action),("socket",default_action),("stat",default_action),("statcache",default_action),("statvfs",default_action),("string",default_action),("stringprep",default_action),("struct",default_action),("subprocess",default_action),("sunau",default_action),("symbol",default_action),("sys",default_action),("syslog",default_action),("ScrolledText",default_action),("SimpleHTTPServer",default_action),("SimpleXMLRPCServer",default_action),("StringIO",default_action),("SocketServer",default_action),("tabnanny",default_action),("tarfile",default_action),("tb",default_action),("telnetlib",default_action),("tempfile",default_action),("termios",default_action),("test",default_action),("textwrap",default_action),("thread",default_action),("threading",default_action),("time",default_action),("timeit",default_action),("toaiff",default_action),("token",default_action),("tokenize",default_action),("traceback",default_action),("tty",default_action),("turtle",default_action),("types",default_action),("tzparse",default_action),("TERMIOS",default_action),("Tix",default_action),("Tkinter",default_action),("unicodedata",default_action),("unittest",default_action),("urllib",default_action),("urllib2",default_action),("urlparse",default_action),("user",default_action),("util",default_action),("uu",default_action),("UserDict",default_action),("UserList",default_action),("UserString",default_action),("videoreader",default_action),("warnings",default_action),("waste",default_action),("wave",default_action),("weakref",default_action),("webbrowser",default_action),("whatsound",default_action),("whichdb",default_action),("whrandom",default_action),("winsound",default_action),("xdrlib",default_action),("xml",default_action),("xmllib",default_action),("xmlpackage",default_action),("xmlrpclib",default_action),("zipfile",default_action),("zlib",default_action),("zmod",default_action) ]
reg_signs=[]
DEFAULT_ACTION=PrintKey
blank_sign=(re.compile("\s"),DEFAULT_ACTION)
identified_sign=(re.compile("["+identified_header+"]["+identified+"]*"),DEFAULT_ACTION)
curpos=0
single_signs.sort(None ,lambda x : x[0])
single_maps=dict()
for x in single_signs:
if(len(x[0])>0):
if not x[0][0] in single_maps:
single_maps[x[0][0]]={}
#if not x[0][1:2] in single_maps[x[0][0]]:
# single_maps[x[0][0]][x[0][1:2]]={}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -