Mercurial > vim
view runtime/syntax/avra.vim @ 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 | bdd7fc1a38c0 |
children |
line wrap: on
line source
" Vim syntax file " Language: AVR Assembler (AVRA) " AVRA Home: http://avra.sourceforge.net/index.html " AVRA Version: 1.3.0 " Last Update: 2016 Oct 7 " Maintainer: Marius Ghita <mhitza@gmail.com> let s:cpo_save = &cpo set cpo&vim syn case ignore syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 syn keyword avraRegister r28 r29 r30 r31 syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt syn keyword avraInstr seh clh break nop sleep wdr syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else syn keyword avraDirective .elif .elseif .warning syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2 syn match avraNumericOperator "[-*/+]" syn match avraUnaryOperator "!" syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!=" syn match avraBitwiseOperator "[~&^|]\|&&\|||" syn match avraBinaryNumber "\<0[bB][0-1]*\>" syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>" syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>" syn region avraComment start=";" end="$" syn region avraString start="\"" end="\"\|$" syn match avraLabel "^\s*[^; \t]\+:" hi def link avraBinaryNumber avraNumber hi def link avraHexNumber avraNumber hi def link avraDecNumber avraNumber hi def link avraNumericOperator avraOperator hi def link avraUnaryOperator avraOperator hi def link avraBinaryOperator avraOperator hi def link avraBitwiseOperator avraOperator hi def link avraOperator operator hi def link avraComment comment hi def link avraDirective preproc hi def link avraRegister type hi def link avraNumber constant hi def link avraString String hi def link avraInstr keyword hi def link avraLabel label let b:current_syntax = "avra" let &cpo = s:cpo_save unlet s:cpo_save