Mercurial > vim
view src/xxd/Make_vms.mms @ 33083:79b2eb83f2df v9.0.1827
patch 9.0.1827: xxd: no color support
Commit: https://github.com/vim/vim/commit/e2528ae11134cdf35c312754b124aba4963d8054
Author: Aapo Rantalainen <aapo.rantalainen@gmail.com>
Date: Thu Aug 31 17:58:13 2023 +0200
patch 9.0.1827: xxd: no color support
Problem: xxd: no color support
Solution: Add color support using xxd -R
Add some basic color support for xxd
The hex-value and value are both colored with the same color depending
on the hex-value, e.g.:
0x00 = white
0xff = blue
printable = green
non-printable = red
tabs and linebreaks = yellow
Each character needs 11 more bytes to contain color. (Same color in a
row could contain only one overhead but the logic how xxd creates colums
must be then changed.) Size of colored output is increased by factor of
~6. Also grepping the output will break when colors is used.
Flag for color is "-R", because less uses "-R".
Color uses parameters auto,always,never same as less and grep (among
others).
E.g.
xxd -R always $FILE | less -R
Add some screen-tests (that currently on work on linux) to verify the
feature works as expected.
closes: #12131
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Aapo Rantalainen <aapo.rantalainen@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 31 Aug 2023 18:15:03 +0200 |
parents | 4481f3b29fc5 |
children |
line wrap: on
line source
# VMS MM[KS] makefile for XXD # tested with MMK and MMS as well. # # Maintained by Zoltan Arpadffy <arpadffy@polarhome.com> # # Edit the lines in the Configuration section below to select. # # To build: use the following command line: # # mms/descrip=Make_vms.mms # or if you use mmk # mmk/descrip=Make_vms.mms # # To cleanup: mms/descrip=Make_vms.mms clean # ###################################################################### # Configuration section. ###################################################################### # Compiler selection. # Comment out if you use the VAXC compiler ###################################################################### # DECC = YES ##################################################################### # Uncomment if want a debug version. Resulting executable is DVIM.EXE ###################################################################### # DEBUG = YES ###################################################################### # End of configuration section. # # Please, do not change anything below without programming experience. ###################################################################### CC = cc .IFDEF DECC CC_DEF = $(CC)/decc PREFIX = /prefix=all .ELSE CC_DEF = $(CC) PREFIX = .ENDIF LD_DEF = link .IFDEF DEBUG TARGET = dxxd.exe CFLAGS = /debug/noopt$(PREFIX)/cross_reference/include=[] LDFLAGS = /debug .ELSE TARGET = xxd.exe CFLAGS = /opt$(PREFIX)/include=[] LDFLAGS = .ENDIF .SUFFIXES : .obj .c SOURCES = xxd.c OBJ = xxd.obj .c.obj : $(CC_DEF) $(CFLAGS) $< $(TARGET) : $(OBJ) $(LD_DEF) $(LDFLAGS) /exe=$(TARGET) $+ clean : -@ if "''F$SEARCH("*.obj")'" .NES. "" then delete/noconfirm/nolog *.obj;* -@ if "''F$SEARCH("*.exe")'" .NES. "" then delete/noconfirm/nolog *.exe;* xxd.obj : xxd.c