mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
  Amiga icons (*.info, icons/)
  doc/hangulin.txt
  tutor/
  spell/
  lang/ (only used for menu translations)
  macros/maze/, macros/hanoi/, macros/life/, macros/urm/
      These were used to test vi compatibility.
  termcap
      "Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
		
	
		
			
				
	
	
		
			167 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	xa 6502 cross assembler
 | 
						|
" Maintainer:	Clemens Kirchgatterer <clemens@1541.org>
 | 
						|
" Last Change:	2014 Jan 05
 | 
						|
 | 
						|
" For version 5.x: Clear all syntax items
 | 
						|
" For version 6.x: Quit when a syntax file was already loaded
 | 
						|
if version < 600
 | 
						|
  syntax clear
 | 
						|
elseif exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
syn case ignore
 | 
						|
 | 
						|
" Opcodes
 | 
						|
syn match a65Opcode	"\<PHP\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PLA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PLX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PLY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<SEC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CLD\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<SED\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CLI\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BVC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BVS\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BCS\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BCC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<DEY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<DEC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CMP\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CPX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BIT\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<ROL\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<ROR\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<ASL\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TXA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TYA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TSX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TXS\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<LDA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<LDX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<LDY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<STA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PLP\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BRK\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<RTI\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<NOP\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<SEI\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CLV\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PHA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PHX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BRA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<JMP\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<JSR\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<RTS\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CPY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BNE\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BEQ\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BMI\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<LSR\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<INX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<INY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<INC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<ADC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<SBC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<AND\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<ORA\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<STX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<STY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<STZ\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<EOR\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<DEX\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BPL\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<CLC\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<PHY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TRB\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BBR\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<BBS\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<RMB\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<SMB\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TAY\($\|\s\)" nextgroup=a65Address
 | 
						|
syn match a65Opcode	"\<TAX\($\|\s\)" nextgroup=a65Address
 | 
						|
 | 
						|
" Addresses
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{2}\($\|\s\)"
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{4}\($\|\s\)"
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{2},X\($\|\s\)"
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{4},X\($\|\s\)"
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{2},Y\($\|\s\)"
 | 
						|
syn match a65Address	"\s*!\=$[0-9A-F]\{4},Y\($\|\s\)"
 | 
						|
syn match a65Address	"\s*($[0-9A-F]\{2})\($\|\s\)"
 | 
						|
syn match a65Address	"\s*($[0-9A-F]\{4})\($\|\s\)"
 | 
						|
syn match a65Address	"\s*($[0-9A-F]\{2},X)\($\|\s\)"
 | 
						|
syn match a65Address	"\s*($[0-9A-F]\{2}),Y\($\|\s\)"
 | 
						|
 | 
						|
" Numbers
 | 
						|
syn match a65Number	"#\=[0-9]*\>"
 | 
						|
syn match a65Number	"#\=$[0-9A-F]*\>"
 | 
						|
syn match a65Number	"#\=&[0-7]*\>"
 | 
						|
syn match a65Number	"#\=%[01]*\>"
 | 
						|
 | 
						|
syn case match
 | 
						|
 | 
						|
" Types
 | 
						|
syn match a65Type	"\(^\|\s\)\.byt\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.word\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.asc\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.dsb\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.fopt\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.text\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.data\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.bss\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.zero\($\|\s\)"
 | 
						|
syn match a65Type	"\(^\|\s\)\.align\($\|\s\)"
 | 
						|
 | 
						|
" Blocks
 | 
						|
syn match a65Section	"\(^\|\s\)\.(\($\|\s\)"
 | 
						|
syn match a65Section	"\(^\|\s\)\.)\($\|\s\)"
 | 
						|
 | 
						|
" Strings
 | 
						|
syn match a65String	"\".*\""
 | 
						|
 | 
						|
" Programm Counter
 | 
						|
syn region a65PC	start="\*=" end="\>" keepend
 | 
						|
 | 
						|
" HI/LO Byte
 | 
						|
syn region a65HiLo	start="#[<>]" end="$\|\s" contains=a65Comment keepend
 | 
						|
 | 
						|
" Comments
 | 
						|
syn keyword a65Todo	TODO XXX FIXME BUG contained
 | 
						|
syn match   a65Comment	";.*"hs=s+1 contains=a65Todo
 | 
						|
syn region  a65Comment	start="/\*" end="\*/" contains=a65Todo,a65Comment
 | 
						|
 | 
						|
" Preprocessor
 | 
						|
syn region a65PreProc	start="^#" end="$" contains=a65Comment,a65Continue
 | 
						|
syn match  a65End			excludenl /end$/ contained
 | 
						|
syn match  a65Continue	"\\$" contained
 | 
						|
 | 
						|
" Define the default highlighting.
 | 
						|
" For version 5.7 and earlier: only when not done already
 | 
						|
" For version 5.8 and later: only when an item doesn't have highlighting yet
 | 
						|
if version >= 508 || !exists("did_a65_syntax_inits")
 | 
						|
  if version < 508
 | 
						|
    let did_a65_syntax_inits = 1
 | 
						|
    command -nargs=+ HiLink hi link <args>
 | 
						|
  else
 | 
						|
    command -nargs=+ HiLink hi def link <args>
 | 
						|
  endif
 | 
						|
 | 
						|
  HiLink a65Section	Special
 | 
						|
  HiLink a65Address	Special
 | 
						|
  HiLink a65Comment	Comment
 | 
						|
  HiLink a65PreProc	PreProc
 | 
						|
  HiLink a65Number	Number
 | 
						|
  HiLink a65String	String
 | 
						|
  HiLink a65Type	Statement
 | 
						|
  HiLink a65Opcode	Type
 | 
						|
  HiLink a65PC		Error
 | 
						|
  HiLink a65Todo	Todo
 | 
						|
  HiLink a65HiLo	Number
 | 
						|
 | 
						|
  delcommand HiLink
 | 
						|
endif
 | 
						|
 | 
						|
let b:current_syntax = "a65"
 |