rizin/test/db/cmd/cmd_ec
NOT XVilka c351d5f32a
librz/cons: new "underwater" color theme (#6538)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2026-06-20 21:57:01 +08:00

292 lines
13 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NAME=ec fgbg
FILE==
CMDS=<<EOF
eco sepia
ecj
ecc~gui_background
ecc foo_~gui_background
EOF
EXPECT=<<EOF
{"comment":{"rgb":[240,208,144]},"usrcmt":{"rgb":[240,240,240]},"args":{"rgb":[176,176,112]},"fname":{"rgb":[176,176,112]},"floc":{"rgb":[0,255,255]},"fline":{"rgb":[192,160,96]},"flag":{"rgb":[240,240,208]},"label":{"rgb":[112,128,128]},"help":{"rgb":[160,176,112]},"flow":{"rgb":[192,160,96]},"flow2":{"rgb":[240,224,192]},"prompt":{"rgb":[144,96,0]},"offset":{"rgb":[144,96,0]},"input":{"rgb":[192,160,96]},"invalid":{"rgb":[192,96,64]},"other":{"rgb":[176,160,96]},"b0x00":{"rgb":[64,48,16]},"b0x7f":{"rgb":[240,208,144]},"b0xff":{"rgb":[144,96,0]},"math":{"rgb":[208,176,112]},"bin":{"rgb":[240,224,192]},"btext":{"rgb":[240,224,192]},"push":{"rgb":[208,176,112]},"pop":{"rgb":[176,176,112]},"crypto":{"rgb":[0,0,255]},"jmp":{"rgb":[240,224,192]},"cjmp":{"rgb":[240,224,192]},"call":{"rgb":[255,255,255]},"nop":{"rgb":[112,128,128]},"ret":{"rgb":[160,176,112]},"trap":{"rgb":[64,48,16]},"ucall":{"rgb":[255,255,255]},"ujmp":{"rgb":[240,224,192]},"swi":{"rgb":[176,176,112]},"cmp":{"rgb":[192,160,96]},"reg":{"rgb":[192,160,96]},"creg":{"rgb":[144,96,0]},"num":{"rgb":[144,96,0]},"mov":{"rgb":[208,176,112]},"func_var":{"rgb":[240,208,144]},"func_var_type":{"rgb":[128,80,0]},"func_var_addr":{"rgb":[144,96,0]},"widget_bg":{"rgb":[208,176,112]},"widget_sel":{"rgb":[0,0,0]},"meta":{"rgb":[118,118,118]},"ai.read":{"rgb":[192,176,112]},"ai.write":{"rgb":[192,160,96]},"ai.exec":{"rgb":[208,176,112]},"ai.seq":{"rgb":[144,96,0]},"ai.ascii":{"rgb":[240,224,192]},"graph.box":{"rgb":[64,48,16]},"graph.box2":{"rgb":[192,160,96]},"graph.box3":{"rgb":[192,160,96]},"graph.box4":{"rgb":[192,160,96]},"graph.true":{"rgb":[240,208,144]},"graph.false":{"rgb":[64,48,16]},"graph.ujump":{"rgb":[240,208,144]},"graph.current":{"rgb":[0,0,255]},"graph.traced":{"rgb":[0,0,255]},"diff.unknown":{"rgb":[136,23,152]},"diff.new":{"rgb":[197,15,31]},"diff.match":{"rgb":[118,118,118]},"diff.unmatch":{"rgb":[193,156,0]},"gui.cflow":{"rgb":[255,255,0]},"gui.dataoffset":{"rgb":[255,255,0]},"gui.background":{"rgb":[0,0,0]},"gui.alt_background":{"rgb":[255,255,255]},"gui.border":{"rgb":[0,0,0]},"wordhl":{"rgb":[255,0,0]},"linehl":{"rgb":[32,16,0]}}
.gui_background { color: rgb(0, 0, 0); }
.foo_gui_background { color: rgb(0, 0, 0); }
EOF
RUN
NAME=ansicon ecs
FILE==
CMDS=<<EOF
e scr.color=1
ecs
EOF
EXPECT=<<EOF
__ black
__ red
__ white
__ green
__ magenta
__ yellow
__ cyan
__ blue
__ gray
__ bblack
__ bred
__ bwhite
__ bgreen
__ bmagenta
__ byellow
__ bcyan
__ bblue
__ none
EOF
RUN
NAME=ecd and eco bright
FILE==
CMDS=<<EOF
e scr.color=1
ecd
ecl
echo
eco bright
ecl
EOF
EXPECT=<<EOF
## comment Color for code comments
## usrcmt Color for user comments
## args Color for function arguments
## fname Color for function names
## floc Color for function locations
## fline Color for function lines
## flag Color for flags
## label Color for labels
## help Color for help messages
## flow Color for control flow
## flow2 Color for control flow (alternative)
## prompt Color for prompt
## offset Color for offsets
## input Color for user input
## invalid Color for invalid instructions
## other Color for other elements
## b0x00 Color for null bytes (0x00)
## b0x7f Color for 0x7f bytes
## b0xff Color for 0xff bytes
## math Color for math operations
## bin Color for binary information
## btext Color for text in binary
## push Color for push instructions
## pop Color for pop instructions
## crypto Color for crypto instructions
## jmp Color for jump instructions
## cjmp Color for conditional jumps
## call Color for call instructions
## nop Color for nop instructions
## ret Color for return instructions
## trap Color for trap/interrupt instructions
## ucall Color for unknown calls
## ujmp Color for unknown jumps
## swi Color for software interrupts
## cmp Color for compare instructions
## reg Color for registers
## creg Color for changed registers
## num Color for numbers
## mov Color for move instructions
## func_var Color for function variables
## func_var_type Color for function variable types
## func_var_addr Color for function variable addresses
## widget_bg Color for widget background
## widget_sel Color for selected widget
## meta Color for metadata
## ai.read Color for memory read access
## ai.write Color for memory write access
## ai.exec Color for executable memory
## ai.seq Color for sequential memory
## ai.ascii Color for ASCII in memory
## graph.box Color for graph box
## graph.box2 Color for graph box (alternative 2)
## graph.box3 Color for graph box (alternative 3)
## graph.box4 Color for graph box (alternative 4)
## graph.true Color for true branch in graph
## graph.false Color for false branch in graph
## graph.ujump Color for unknown jump in graph
## graph.current Color for current node in graph
## graph.traced Color for traced node in graph
## diff.unknown Color for unknown diff
## diff.new Color for new diff
## diff.match Color for matched diff
## diff.unmatch Color for unmatched diff
## gui.cflow Color for GUI control flow
## gui.dataoffset Color for GUI data offset
## gui.background Color for GUI background
## gui.alt_background Color for GUI alternate background
## gui.border Color for GUI border
## wordhl Color for highlighted word
## linehl Color for highlighted line
## comment Color for code comments
## usrcmt Color for user comments
## args Color for function arguments
## fname Color for function names
## floc Color for function locations
## fline Color for function lines
## flag Color for flags
## label Color for labels
## help Color for help messages
## flow Color for control flow
## flow2 Color for control flow (alternative)
## prompt Color for prompt
## offset Color for offsets
## input Color for user input
## invalid Color for invalid instructions
## other Color for other elements
## b0x00 Color for null bytes (0x00)
## b0x7f Color for 0x7f bytes
## b0xff Color for 0xff bytes
## math Color for math operations
## bin Color for binary information
## btext Color for text in binary
## push Color for push instructions
## pop Color for pop instructions
## crypto Color for crypto instructions
## jmp Color for jump instructions
## cjmp Color for conditional jumps
## call Color for call instructions
## nop Color for nop instructions
## ret Color for return instructions
## trap Color for trap/interrupt instructions
## ucall Color for unknown calls
## ujmp Color for unknown jumps
## swi Color for software interrupts
## cmp Color for compare instructions
## reg Color for registers
## creg Color for changed registers
## num Color for numbers
## mov Color for move instructions
## func_var Color for function variables
## func_var_type Color for function variable types
## func_var_addr Color for function variable addresses
## widget_bg Color for widget background
## widget_sel Color for selected widget
## meta Color for metadata
## ai.read Color for memory read access
## ai.write Color for memory write access
## ai.exec Color for executable memory
## ai.seq Color for sequential memory
## ai.ascii Color for ASCII in memory
## graph.box Color for graph box
## graph.box2 Color for graph box (alternative 2)
## graph.box3 Color for graph box (alternative 3)
## graph.box4 Color for graph box (alternative 4)
## graph.true Color for true branch in graph
## graph.false Color for false branch in graph
## graph.ujump Color for unknown jump in graph
## graph.current Color for current node in graph
## graph.traced Color for traced node in graph
## diff.unknown Color for unknown diff
## diff.new Color for new diff
## diff.match Color for matched diff
## diff.unmatch Color for unmatched diff
## gui.cflow Color for GUI control flow
## gui.dataoffset Color for GUI data offset
## gui.background Color for GUI background
## gui.alt_background Color for GUI alternate background
## gui.border Color for GUI border
## wordhl Color for highlighted word
## linehl Color for highlighted line
EOF
RUN
NAME=ecc and attributes
FILE==
CMDS=<<EOF
eco bright
ec~pop
eco white2
ec~bin
ec~cjmp
ecc~comment
ecc~fname
EOF
EXPECT=<<EOF
r:255 g:0 b:255 pop bold
r:79 g:25 b:0 bin bold
r:55 g:107 b:76 cjmp bold underline
.comment { color: rgb(0, 18, 150); font-style: italic; }
.fname { color: rgb(141, 0, 4); font-weight: bold; font-style: italic; }
EOF
RUN
NAME=ecHi
FILE==
CMDS=ecHi xxxx
EXPECT_ERR=<<EOF
ERROR: core: Unknown color xxxx
EOF
RUN
NAME=Test eco and eco. - list current theme
FILE==
CMDS=<<EOF
eco xvilka
eco.
EOF
EXPECT=<<EOF
xvilka
EOF
RUN
NAME=Test ecHw, ecHj and ecH- add and list highlight rules
FILE==
CMDS=<<EOF
ecHw eax blue
ecH
ecHj
ecH-*
ecH
EOF
EXPECT=<<EOF
ecHi rgb:00007f @ 0x00000000
[{"offset":0,"type":"ecHi","color":"#00007f"}]
EOF
RUN
NAME=Test ecp and ecn- load previous and next theme
FILE==
CMDS=<<EOF
eco sepia
eco.
ecp
eco.
ecn
eco.
EOF
EXPECT=<<EOF
sepia
rasta
sepia
EOF
RUN
NAME=Test ecoj- list themes in JSON
FILE==
CMDS=<<EOF
ecoj
EOF
EXPECT=<<EOF
["ayu","basic","behelit","bold","bright","cga","consonance","cutter","dark","darkda","default","defragger","durian","focus","gb","gentoo","lima","mars","matrix","monokai","nord","ogray","onedark","pink","rasta","sepia","smyck","solarized","tango","twilight","underwater","white","white2","xvilka","zenburn"]
EOF
RUN
NAME=ecl- list colors with descriptions
FILE==
CMDS=<<EOF
ecl~:0
ecl~:2
ecl~:3
EOF
EXPECT=<<EOF
## comment Color for code comments
## args Color for function arguments
## fname Color for function names
EOF
RUN