mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:     PIC16F84 Assembler (Microchip's microcontroller)
 | 
						|
" Maintainer:   Aleksandar Veselinovic <aleksa@cs.cmu.com>
 | 
						|
" Last Change:  2003 May 11
 | 
						|
" URL:		http://galeb.etf.bg.ac.yu/~alexa/vim/syntax/pic.vim
 | 
						|
" Revision:     1.01
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
syn case match
 | 
						|
syn keyword picTodo NOTE TODO XXX contained
 | 
						|
 | 
						|
syn case ignore
 | 
						|
 | 
						|
syn match picIdentifier "[a-z_$][a-z0-9_$]*"
 | 
						|
syn match picLabel      "^[A-Z_$][A-Z0-9_$]*"
 | 
						|
syn match picLabel      "^[A-Z_$][A-Z0-9_$]*:"me=e-1
 | 
						|
 | 
						|
syn match picASCII      "A\='.'"
 | 
						|
syn match picBinary     "B'[0-1]\+'"
 | 
						|
syn match picDecimal    "D'\d\+'"
 | 
						|
syn match picDecimal    "\d\+"
 | 
						|
syn match picHexadecimal "0x\x\+"
 | 
						|
syn match picHexadecimal "H'\x\+'"
 | 
						|
syn match picHexadecimal "[0-9]\x*h"
 | 
						|
syn match picOctal      "O'[0-7]\o*'"
 | 
						|
 | 
						|
 | 
						|
syn match picComment    ";.*" contains=picTodo
 | 
						|
 | 
						|
syn region picString    start=+"+ end=+"+
 | 
						|
 | 
						|
syn keyword picRegister		INDF TMR0 PCL STATUS FSR PORTA PORTB
 | 
						|
syn keyword picRegister		EEDATA EEADR PCLATH INTCON INDF OPTION_REG PCL
 | 
						|
syn keyword picRegister		FSR TRISA TRISB EECON1 EECON2 INTCON OPTION
 | 
						|
 | 
						|
 | 
						|
" Register --- bits
 | 
						|
 | 
						|
" STATUS
 | 
						|
syn keyword picRegisterPart     IRP RP1 RP0 TO PD Z DC C
 | 
						|
 | 
						|
" PORTA
 | 
						|
syn keyword picRegisterPart     T0CKI
 | 
						|
syn match   picRegisterPart     "RA[0-4]"
 | 
						|
 | 
						|
" PORTB
 | 
						|
syn keyword picRegisterPart     INT
 | 
						|
syn match   picRegisterPart     "RB[0-7]"
 | 
						|
 | 
						|
" INTCON
 | 
						|
syn keyword picRegisterPart     GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
 | 
						|
 | 
						|
" OPTION
 | 
						|
syn keyword picRegisterPart     RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
 | 
						|
 | 
						|
" EECON2
 | 
						|
syn keyword picRegisterPart     EEIF WRERR WREN WR RD
 | 
						|
 | 
						|
" INTCON
 | 
						|
syn keyword picRegisterPart     GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
 | 
						|
 | 
						|
 | 
						|
" OpCodes...
 | 
						|
syn keyword picOpcode  ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ
 | 
						|
syn keyword picOpcode  IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF
 | 
						|
syn keyword picOpcode  BCF BSF BTFSC BTFSS
 | 
						|
syn keyword picOpcode  ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE
 | 
						|
syn keyword picOpcode  RETLW RETURN SLEEP SUBLW XORLW
 | 
						|
syn keyword picOpcode  GOTO
 | 
						|
 | 
						|
 | 
						|
" Directives
 | 
						|
syn keyword picDirective __BADRAM BANKISEL BANKSEL CBLOCK CODE __CONFIG
 | 
						|
syn keyword picDirective CONSTANT DATA DB DE DT DW ELSE END ENDC
 | 
						|
syn keyword picDirective ENDIF ENDM ENDW EQU ERROR ERRORLEVEL EXITM EXPAND
 | 
						|
syn keyword picDirective EXTERN FILL GLOBAL IDATA __IDLOCS IF IFDEF IFNDEF
 | 
						|
syn keyword picDirective INCLUDE LIST LOCAL MACRO __MAXRAM MESSG NOEXPAND
 | 
						|
syn keyword picDirective NOLIST ORG PAGE PAGESEL PROCESSOR RADIX RES SET
 | 
						|
syn keyword picDirective SPACE SUBTITLE TITLE UDATA UDATA_OVR UDATA_SHR
 | 
						|
syn keyword picDirective VARIABLE WHILE INCLUDE
 | 
						|
syn match picDirective   "#\=UNDEFINE"
 | 
						|
syn match picDirective   "#\=INCLUDE"
 | 
						|
syn match picDirective   "#\=DEFINE"
 | 
						|
 | 
						|
 | 
						|
" Define the default highlighting.
 | 
						|
" Only when an item doesn't have highlighting yet
 | 
						|
 | 
						|
hi def link picTodo		Todo
 | 
						|
hi def link picComment		Comment
 | 
						|
hi def link picDirective		Statement
 | 
						|
hi def link picLabel		Label
 | 
						|
hi def link picString		String
 | 
						|
 | 
						|
"hi def link picOpcode		Keyword
 | 
						|
"hi def link picRegister		Structure
 | 
						|
"hi def link picRegisterPart	Special
 | 
						|
 | 
						|
hi def link picASCII		String
 | 
						|
hi def link picBinary		Number
 | 
						|
hi def link picDecimal		Number
 | 
						|
hi def link picHexadecimal		Number
 | 
						|
hi def link picOctal		Number
 | 
						|
 | 
						|
hi def link picIdentifier		Identifier
 | 
						|
 | 
						|
 | 
						|
let b:current_syntax = "pic"
 | 
						|
 | 
						|
" vim: ts=8
 |