def func(self): "Show color tables" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes col1 = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[6:14] ] col2 = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[14:22] ] col3 = [ "%s%s|n" % (code.replace("\\", ""), code.replace( "|", "||").replace("\\", "")) for code, _ in ap.ext_ansi_map[-8:] ] col2.extend(["" for i in range(len(col1) - len(col2))]) table = utils.format_table([col1, col2, col3]) string = "ANSI colors:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg( "||X : black. ||/ : return, ||- : tab, ||_ : space, ||* : invert, ||u : underline" ) self.msg( "To combine background and foreground, add background marker last, e.g. ||r||[B." ) elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("|%i%i%i%s|n" % (ir, ig, ib, "||%i%i%i" % (ir, ig, ib))) # background table table[6 + ir].append( "|[%i%i%i|%i%i%i%s|n" % (ir, ig, ib, 5 - ir, 5 - ig, 5 - ib, "||[%i%i%i" % (ir, ig, ib))) table = self.table_format(table) string = "Xterm256 colors (if not all hues show, your client might not report that it can handle xterm256):" for row in table: string += "\n" + "".join(row) self.msg(string) #self.msg("(e.g. %%123 and %%[123 also work)") else: # malformed input self.msg("Usage: @color ansi||xterm256")
def func(self): "Show color tables" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes col1 = ["%s%s{n" % (code, code.replace("{", "{{")) for code, _ in ap.ext_ansi_map[6:14]] col2 = ["%s%s{n" % (code, code.replace("{", "{{")) for code, _ in ap.ext_ansi_map[14:22]] col3 = [ "%s%s{n" % (code.replace("\\", ""), code.replace("{", "{{").replace("\\", "")) for code, _ in ap.ext_ansi_map[-8:] ] col2.extend(["" for i in range(len(col1) - len(col2))]) # hi = "%ch" # col2 = ["%s%s{n" % (code, code.replace("%", "%%")) for code, _ in ap.mux_ansi_map[6:]] # col3 = ["%s%s{n" % (hi + code, (hi + code).replace("%", "%%")) for code, _ in ap.mux_ansi_map[3:-2]] table = utils.format_table([col1, col2, col3]) string = "ANSI colors:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg("{{X : black. {{/ : return, {{- : tab, {{_ : space, {{* : invert, {{u : underline") self.msg("To combine background and foreground, add background marker last, e.g. {{r{{[b.") elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("{%i%i%i%s{n" % (ir, ig, ib, "{{%i%i%i" % (ir, ig, ib))) # background table table[6 + ir].append( "{[%i%i%i{%i%i%i%s{n" % (ir, ig, ib, 5 - ir, 5 - ig, 5 - ib, "{{[%i%i%i" % (ir, ig, ib)) ) table = self.table_format(table) string = "Xterm256 colors (if not all hues show, your client might not report that it can handle xterm256):" for row in table: string += "\n" + "".join(row) self.msg(string) # self.msg("(e.g. %%123 and %%[123 also work)") else: # malformed input self.msg("Usage: @color ansi|xterm256")
def func(self): "Show color tables" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes col1 = ["%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[48:56]] col2 = ["%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[56:64]] col3 = ["%s%s|n" % (code.replace("\\",""), code.replace("|", "||").replace("\\", "")) for code, _ in ap.ext_ansi_map[-8:]] col4 = ["%s%s|n" % (code.replace("\\",""), code.replace("|", "||").replace("\\", "")) for code, _ in ap.ansi_bright_bgs[-8:]] col2.extend(["" for i in range(len(col1)-len(col2))]) table = utils.format_table([col1, col2, col4, col3]) string = "ANSI colors:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg("||X : black. ||/ : return, ||- : tab, ||_ : space, ||* : invert, ||u : underline\n" "To combine background and foreground, add background marker last, e.g. ||r||[B.\n" "Note: bright backgrounds like ||[r requires your client handling Xterm256 colors.") elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("|%i%i%i%s|n" % (ir, ig, ib, "||%i%i%i" % (ir, ig, ib))) # background table table[6+ir].append("|%i%i%i|[%i%i%i%s|n" % (5 - ir, 5 - ig, 5 - ib, ir, ig, ib, "||[%i%i%i" % (ir, ig, ib))) table = self.table_format(table) string = "Xterm256 colors (if not all hues show, your client might not report that it can handle xterm256):" for row in table: string += "\n" + "".join(row) self.msg(string) #self.msg("(e.g. %%123 and %%[123 also work)") else: # malformed input self.msg("Usage: @color ansi||xterm256")
def func(self): """Show color tables""" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes bright_fg = ["%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ansi_map[self.slice_bright_fg]] dark_fg = ["%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ansi_map[self.slice_dark_fg]] dark_bg = ["%s%s|n" % (code.replace("\\", ""), code.replace("|", "||").replace("\\", "")) for code, _ in ap.ansi_map[self.slice_dark_bg]] bright_bg = ["%s%s|n" % (code.replace("\\", ""), code.replace("|", "||").replace("\\", "")) for code, _ in ap.ansi_xterm256_bright_bg_map[self.slice_bright_bg]] dark_fg.extend(["" for _ in range(len(bright_fg) - len(dark_fg))]) table = utils.format_table([bright_fg, dark_fg, bright_bg, dark_bg]) string = "ANSI colors:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg("||X : black. ||/ : return, ||- : tab, ||_ : space, ||* : invert, ||u : underline\n" "To combine background and foreground, add background marker last, e.g. ||r||[B.\n" "Note: bright backgrounds like ||[r requires your client handling Xterm256 colors.") elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("|%i%i%i%s|n" % (ir, ig, ib, "||%i%i%i" % (ir, ig, ib))) # background table table[6 + ir].append("|%i%i%i|[%i%i%i%s|n" % (5 - ir, 5 - ig, 5 - ib, ir, ig, ib, "||[%i%i%i" % (ir, ig, ib))) table = self.table_format(table) string = "Xterm256 colors (if not all hues show, your client might not report that it can handle xterm256):" string += "\n" + "\n".join("".join(row) for row in table) table = [[], [], [], [], [], [], [], [], [], [], [], []] for ibatch in range(4): for igray in range(6): letter = chr(97 + (ibatch * 6 + igray)) inverse = chr(122 - (ibatch * 6 + igray)) table[0 + igray].append("|=%s%s |n" % (letter, "||=%s" % letter)) table[6 + igray].append("|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter)) for igray in range(6): # the last row (y, z) has empty columns if igray < 2: letter = chr(121 + igray) inverse = chr(98 - igray) fg = "|=%s%s |n" % (letter, "||=%s" % letter) bg = "|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter) else: fg, bg = " ", " " table[0 + igray].append(fg) table[6 + igray].append(bg) table = self.table_format(table) string += "\n" + "\n".join("".join(row) for row in table) self.msg(string) else: # malformed input self.msg("Usage: @color ansi||xterm256")
def func(self): """Show color tables""" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes col1 = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[48:56] ] col2 = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ext_ansi_map[56:64] ] col3 = [ "%s%s|n" % (code.replace("\\", ""), code.replace( "|", "||").replace("\\", "")) for code, _ in ap.ext_ansi_map[-8:] ] col4 = [ "%s%s|n" % (code.replace("\\", ""), code.replace( "|", "||").replace("\\", "")) for code, _ in ap.ansi_bright_bgs[-8:] ] col2.extend(["" for _ in range(len(col1) - len(col2))]) table = utils.format_table([col1, col2, col4, col3]) string = "ANSI colors:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg( "||X : black. ||/ : return, ||- : tab, ||_ : space, ||* : invert, ||u : underline\n" "To combine background and foreground, add background marker last, e.g. ||r||[B.\n" "Note: bright backgrounds like ||[r requires your client handling Xterm256 colors." ) elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("|%i%i%i%s|n" % (ir, ig, ib, "||%i%i%i" % (ir, ig, ib))) # background table table[6 + ir].append( "|%i%i%i|[%i%i%i%s|n" % (5 - ir, 5 - ig, 5 - ib, ir, ig, ib, "||[%i%i%i" % (ir, ig, ib))) table = self.table_format(table) string = "Xterm256 colors (if not all hues show, your client might not report that it can handle xterm256):" string += "\n" + "\n".join("".join(row) for row in table) table = [[], [], [], [], [], [], [], [], [], [], [], []] for ibatch in range(4): for igray in range(6): letter = chr(97 + (ibatch * 6 + igray)) inverse = chr(122 - (ibatch * 6 + igray)) table[0 + igray].append("|=%s%s |n" % (letter, "||=%s" % letter)) table[6 + igray].append("|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter)) for igray in range(6): # the last row (y, z) has empty columns if igray < 2: letter = chr(121 + igray) inverse = chr(98 - igray) fg = "|=%s%s |n" % (letter, "||=%s" % letter) bg = "|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter) else: fg, bg = " ", " " table[0 + igray].append(fg) table[6 + igray].append(bg) table = self.table_format(table) string += "\n" + "\n".join("".join(row) for row in table) self.msg(string) else: # malformed input self.msg("Usage: @color ansi||xterm256")
def func(self): """Show color tables""" if self.args.startswith("a"): # show ansi 16-color table from evennia.utils import ansi ap = ansi.ANSI_PARSER # ansi colors # show all ansi color-related codes bright_fg = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ansi_map[self.slice_bright_fg] ] dark_fg = [ "%s%s|n" % (code, code.replace("|", "||")) for code, _ in ap.ansi_map[self.slice_dark_fg] ] dark_bg = [ "%s%s|n" % (code.replace("\\", ""), code.replace( "|", "||").replace("\\", "")) for code, _ in ap.ansi_map[self.slice_dark_bg] ] bright_bg = [ "%s%s|n" % (code.replace("\\", ""), code.replace( "|", "||").replace("\\", "")) for code, _ in ap.ansi_xterm256_bright_bg_map[self.slice_bright_bg] ] dark_fg.extend(["" for _ in range(len(bright_fg) - len(dark_fg))]) table = utils.format_table( [bright_fg, dark_fg, bright_bg, dark_bg]) string = "Couleurs ANSI:" for row in table: string += "\n " + " ".join(row) self.msg(string) self.msg( "||X : noir. ||/ : retour à la ligne, ||- : tabulation, " "||_ : espace, ||* : inverser, ||u : souligner\n" "Pour combiner les couleurs d'arrière-plan et de premier " "plan, ajoutez en dernier le marqueur d'arrière-plan, par " "example : ||r||[B.\n" "Note : les arrières-plans brillants comme ||[r nécessite que " "votre client gère les couleurs Xterm256.") elif self.args.startswith("x"): # show xterm256 table table = [[], [], [], [], [], [], [], [], [], [], [], []] for ir in range(6): for ig in range(6): for ib in range(6): # foreground table table[ir].append("|%i%i%i%s|n" % (ir, ig, ib, "||%i%i%i" % (ir, ig, ib))) # background table table[6 + ir].append( "|%i%i%i|[%i%i%i%s|n" % (5 - ir, 5 - ig, 5 - ib, ir, ig, ib, "||[%i%i%i" % (ir, ig, ib))) table = self.table_format(table) string = "Couleurs Xterm256 (si toutes les teintes ne s'affichent pas, votre client risque de ne pas signaler qu'il peut gérer xterm256) :" string += "\n" + "\n".join("".join(row) for row in table) table = [[], [], [], [], [], [], [], [], [], [], [], []] for ibatch in range(4): for igray in range(6): letter = chr(97 + (ibatch * 6 + igray)) inverse = chr(122 - (ibatch * 6 + igray)) table[0 + igray].append("|=%s%s |n" % (letter, "||=%s" % letter)) table[6 + igray].append("|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter)) for igray in range(6): # the last row (y, z) has empty columns if igray < 2: letter = chr(121 + igray) inverse = chr(98 - igray) fg = "|=%s%s |n" % (letter, "||=%s" % letter) bg = "|=%s|[=%s%s |n" % (inverse, letter, "||[=%s" % letter) else: fg, bg = " ", " " table[0 + igray].append(fg) table[6 + igray].append(bg) table = self.table_format(table) string += "\n" + "\n".join("".join(row) for row in table) self.msg(string) else: # malformed input self.msg("Utilisation : couleur ansi||xterm256")