tools: Enable color from gcc.
This commit is contained in:
parent
cfa591976c
commit
d1867f61ab
5 changed files with 19 additions and 7 deletions
|
|
@ -166,6 +166,10 @@ class TermStr(collections.UserString):
|
||||||
is_bold, is_italic, is_underlined = False, False, False
|
is_bold, is_italic, is_underlined = False, False, False
|
||||||
result_parts = [parts[0]]
|
result_parts = [parts[0]]
|
||||||
for part in parts[1:]:
|
for part in parts[1:]:
|
||||||
|
if part.startswith("[K"):
|
||||||
|
end_index = part.index("K")
|
||||||
|
codes = []
|
||||||
|
else:
|
||||||
end_index = part.index("m")
|
end_index = part.index("m")
|
||||||
codes = part[1:end_index].split(";")
|
codes = part[1:end_index].split(";")
|
||||||
previous_code = None
|
previous_code = None
|
||||||
|
|
@ -173,11 +177,11 @@ class TermStr(collections.UserString):
|
||||||
if code in ["", "0"]: # Normal
|
if code in ["", "0"]: # Normal
|
||||||
is_bold, is_italic, is_underlined = False, False, False
|
is_bold, is_italic, is_underlined = False, False, False
|
||||||
fg_color, bg_color = None, None
|
fg_color, bg_color = None, None
|
||||||
elif code == "1": # bold
|
elif code in ["01", "1"]: # bold
|
||||||
is_bold = True
|
is_bold = True
|
||||||
elif code == "3": # italic
|
elif code in ["03", "3"]: # italic
|
||||||
is_italic = True
|
is_italic = True
|
||||||
elif code == "4": # underline
|
elif code in ["04", "4"]: # underline
|
||||||
is_underlined = True
|
is_underlined = True
|
||||||
elif len(code) == 2 and code.startswith("3"): # 8 fg color
|
elif len(code) == 2 and code.startswith("3"): # 8 fg color
|
||||||
fg_color = int(code[1])
|
fg_color = int(code[1])
|
||||||
|
|
|
||||||
|
|
@ -202,12 +202,14 @@ tools_for_extensions = [
|
||||||
[c_syntax_gcc]
|
[c_syntax_gcc]
|
||||||
dependencies = ["gcc", "g++"]
|
dependencies = ["gcc", "g++"]
|
||||||
url = "https://gcc.gnu.org/"
|
url = "https://gcc.gnu.org/"
|
||||||
command = "gcc -fsyntax-only"
|
command = "gcc -fsyntax-only -fdiagnostics-color=always"
|
||||||
|
has_color = true
|
||||||
|
|
||||||
[cpp_syntax_gcc]
|
[cpp_syntax_gcc]
|
||||||
dependencies = ["gcc", "g++"]
|
dependencies = ["gcc", "g++"]
|
||||||
url = "https://gcc.gnu.org/"
|
url = "https://gcc.gnu.org/"
|
||||||
command = "gcc -fsyntax-only"
|
command = "gcc -fsyntax-only -fdiagnostics-color=always"
|
||||||
|
has_color = true
|
||||||
|
|
||||||
[php7_syntax]
|
[php7_syntax]
|
||||||
dependencies = ["php7.2-cli"]
|
dependencies = ["php7.2-cli"]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
[m
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
[m
|
||||||
|
|
@ -151,6 +151,10 @@ class TermStrTests(unittest.TestCase):
|
||||||
termstr.TermStr("bar"))
|
termstr.TermStr("bar"))
|
||||||
self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[1;3mfoo"),
|
self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[1;3mfoo"),
|
||||||
termstr.TermStr("foo").bold().italic())
|
termstr.TermStr("foo").bold().italic())
|
||||||
|
self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[01mfoo"),
|
||||||
|
termstr.TermStr("foo").bold())
|
||||||
|
self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[Kfoo"),
|
||||||
|
termstr.TermStr("foo"))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue