add clang theme
This commit is contained in:
parent
1bb4d60513
commit
6a8fe89969
1 changed files with 85 additions and 1 deletions
|
|
@ -1 +0,0 @@
|
|||
colout_g++.py
|
||||
85
colout/colout_clang.py
Normal file
85
colout/colout_clang.py
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
#encoding: utf-8
|
||||
|
||||
def default_gettext( msg ):
|
||||
return msg
|
||||
|
||||
def theme(context):
|
||||
import os
|
||||
import gettext
|
||||
import locale
|
||||
|
||||
section="blue"
|
||||
|
||||
# get g++ version
|
||||
gv = os.popen("g++ -dumpversion").read().strip()
|
||||
|
||||
# get the current translations of gcc
|
||||
try:
|
||||
t = gettext.translation("gcc-"+gv)
|
||||
except IOError:
|
||||
_ = default_gettext
|
||||
else:
|
||||
_ = t.gettext
|
||||
# _("msg") will return the given message, translated
|
||||
|
||||
# if the locale is unicode
|
||||
enc = locale.getpreferredencoding()
|
||||
if "UTF" in enc:
|
||||
# gcc will use unicode quotes
|
||||
qo = "[‘`]"
|
||||
qc = "[’']"
|
||||
else:
|
||||
# rather than ascii ones
|
||||
qo = "['`]"
|
||||
qc = "'"
|
||||
|
||||
return context,[
|
||||
# Command line
|
||||
[ "[/\s]([cg]\+\+-*[0-9]*\.*[0-9]*)", "white", "bold" ],
|
||||
[ "\s(\-D)(\s*[^\s]+)", "none,green", "normal,bold" ],
|
||||
[ "\s(-g)", "green", "normal" ],
|
||||
[ "\s-O[0-4]", "green", "normal" ],
|
||||
[ "\s-[Wf][^\s]*", "magenta", "normal" ],
|
||||
[ "\s-pedantic", "magenta", "normal" ],
|
||||
[ "\s(-I)(/*[^\s]+/)([^/\s]+)", "none,blue", "normal,normal,bold" ],
|
||||
[ "\s(-L)(/*[^\s]+/)([^/\s]+)", "none,cyan", "normal,normal,bold" ],
|
||||
[ "\s(-l)([^/\s]+)", "none,cyan", "normal,bold" ],
|
||||
[ "\s-[oc]", "red", "bold" ],
|
||||
[ "\s(-+std(?:lib)?)=?([^\s]+)", "red", "normal,bold" ],
|
||||
|
||||
# Important messages
|
||||
[ _("error: "), "red", "bold" ],
|
||||
[ _("fatal error: "), "red", "bold" ],
|
||||
[ _("warning: "), "magenta", "bold" ],
|
||||
[ _("undefined reference to "), "red", "bold" ],
|
||||
# [-Wflag]
|
||||
[ "\[-W.*\]", "magenta"],
|
||||
|
||||
# Highlight message start:
|
||||
# path file ext : line : col …
|
||||
[ "(/.*?)/([^/:]+): (In .*)"+qo,
|
||||
section,
|
||||
"normal,normal,bold" ],
|
||||
|
||||
[ "(/.*?)/([^/:]+): (At .*)",
|
||||
section,
|
||||
"normal,normal,bold" ],
|
||||
|
||||
[ _("In file included from"), section ],
|
||||
|
||||
# Highlight locations:
|
||||
# path file ext : line : col …
|
||||
[ "(/.*?)/([^/:]+):([0-9]+):*([0-9]*)(.*)",
|
||||
"none,white,yellow,none,none",
|
||||
"normal,normal,normal,normal" ],
|
||||
|
||||
# source code in single quotes
|
||||
[ qo+"(.*?)"+qc, "Cpp", "monokai" ],
|
||||
|
||||
# source code after a "note: candidate are/is:"
|
||||
[ _("note: ")+"((?!.*("+qo+"|"+qc+")).*)$", "Cpp", "monokai" ],
|
||||
# [ _("note: ")+"(candidate:)(.*)$", "green,Cpp", "normal,monokai" ],
|
||||
# after the code part, to avoid matching ANSI escape chars
|
||||
[ _("note: "), "green", "normal" ]
|
||||
]
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue