mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 13:15:09 -07:00
a98a6996c2
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>
164 lines
5.1 KiB
VimL
164 lines
5.1 KiB
VimL
" Vim syntax file
|
|
" Language: MMIX
|
|
" Maintainer: Dirk Hüsken, <huesken@informatik.uni-tuebingen.de>
|
|
" Last Change: 2012 Jun 01
|
|
" (Dominique Pelle added @Spell)
|
|
" Filenames: *.mms
|
|
" URL: http://homepages.uni-tuebingen.de/student/dirk.huesken/vim/syntax/mmix.vim
|
|
|
|
" Limitations: Comments must start with either % or //
|
|
" (preferably %, Knuth-Style)
|
|
|
|
if version < 600
|
|
syntax clear
|
|
elseif exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syn case ignore
|
|
|
|
" MMIX data types
|
|
syn keyword mmixType byte wyde tetra octa
|
|
|
|
" different literals...
|
|
syn match decNumber "[0-9]*"
|
|
syn match octNumber "0[0-7][0-7]\+"
|
|
syn match hexNumber "#[0-9a-fA-F]\+"
|
|
syn region mmixString start=+"+ skip=+\\"+ end=+"+ contains=@Spell
|
|
syn match mmixChar "'.'"
|
|
|
|
" ...and more special MMIX stuff
|
|
syn match mmixAt "@"
|
|
syn keyword mmixSegments Data_Segment Pool_Segment Stack_Segment
|
|
|
|
syn match mmixIdentifier "[a-z_][a-z0-9_]*"
|
|
|
|
" labels (for branches etc)
|
|
syn match mmixLabel "^[a-z0-9_:][a-z0-9_]*"
|
|
syn match mmixLabel "[0-9][HBF]"
|
|
|
|
" pseudo-operations
|
|
syn keyword mmixPseudo is loc greg
|
|
|
|
" comments
|
|
syn match mmixComment "%.*" contains=@Spell
|
|
syn match mmixComment "//.*" contains=@Spell
|
|
syn match mmixComment "^\*.*" contains=@Spell
|
|
|
|
|
|
syn keyword mmixOpcode trap fcmp fun feql fadd fix fsub fixu
|
|
syn keyword mmixOpcode fmul fcmpe fune feqle fdiv fsqrt frem fint
|
|
|
|
syn keyword mmixOpcode floti flotui sfloti sflotui i
|
|
syn keyword mmixOpcode muli mului divi divui
|
|
syn keyword mmixOpcode addi addui subi subui
|
|
syn keyword mmixOpcode 2addui 4addui 8addui 16addui
|
|
syn keyword mmixOpcode cmpi cmpui negi negui
|
|
syn keyword mmixOpcode sli slui sri srui
|
|
syn keyword mmixOpcode bnb bzb bpb bodb
|
|
syn keyword mmixOpcode bnnb bnzb bnpb bevb
|
|
syn keyword mmixOpcode pbnb pbzb pbpb pbodb
|
|
syn keyword mmixOpcode pbnnb pbnzb pbnpb pbevb
|
|
syn keyword mmixOpcode csni cszi cspi csodi
|
|
syn keyword mmixOpcode csnni csnzi csnpi csevi
|
|
syn keyword mmixOpcode zsni zszi zspi zsodi
|
|
syn keyword mmixOpcode zsnni zsnzi zsnpi zsevi
|
|
syn keyword mmixOpcode ldbi ldbui ldwi ldwui
|
|
syn keyword mmixOpcode ldti ldtui ldoi ldoui
|
|
syn keyword mmixOpcode ldsfi ldhti cswapi ldunci
|
|
syn keyword mmixOpcode ldvtsi preldi pregoi goi
|
|
syn keyword mmixOpcode stbi stbui stwi stwui
|
|
syn keyword mmixOpcode stti sttui stoi stoui
|
|
syn keyword mmixOpcode stsfi sthti stcoi stunci
|
|
syn keyword mmixOpcode syncdi presti syncidi pushgoi
|
|
syn keyword mmixOpcode ori orni nori xori
|
|
syn keyword mmixOpcode andi andni nandi nxori
|
|
syn keyword mmixOpcode bdifi wdifi tdifi odifi
|
|
syn keyword mmixOpcode muxi saddi mori mxori
|
|
syn keyword mmixOpcode muli mului divi divui
|
|
|
|
syn keyword mmixOpcode flot flotu sflot sflotu
|
|
syn keyword mmixOpcode mul mulu div divu
|
|
syn keyword mmixOpcode add addu sub subu
|
|
syn keyword mmixOpcode 2addu 4addu 8addu 16addu
|
|
syn keyword mmixOpcode cmp cmpu neg negu
|
|
syn keyword mmixOpcode sl slu sr sru
|
|
syn keyword mmixOpcode bn bz bp bod
|
|
syn keyword mmixOpcode bnn bnz bnp bev
|
|
syn keyword mmixOpcode pbn pbz pbp pbod
|
|
syn keyword mmixOpcode pbnn pbnz pbnp pbev
|
|
syn keyword mmixOpcode csn csz csp csod
|
|
syn keyword mmixOpcode csnn csnz csnp csev
|
|
syn keyword mmixOpcode zsn zsz zsp zsod
|
|
syn keyword mmixOpcode zsnn zsnz zsnp zsev
|
|
syn keyword mmixOpcode ldb ldbu ldw ldwu
|
|
syn keyword mmixOpcode ldt ldtu ldo ldou
|
|
syn keyword mmixOpcode ldsf ldht cswap ldunc
|
|
syn keyword mmixOpcode ldvts preld prego go
|
|
syn keyword mmixOpcode stb stbu stw stwu
|
|
syn keyword mmixOpcode stt sttu sto stou
|
|
syn keyword mmixOpcode stsf stht stco stunc
|
|
syn keyword mmixOpcode syncd prest syncid pushgo
|
|
syn keyword mmixOpcode or orn nor xor
|
|
syn keyword mmixOpcode and andn nand nxor
|
|
syn keyword mmixOpcode bdif wdif tdif odif
|
|
syn keyword mmixOpcode mux sadd mor mxor
|
|
|
|
syn keyword mmixOpcode seth setmh setml setl inch incmh incml incl
|
|
syn keyword mmixOpcode orh ormh orml orl andh andmh andml andnl
|
|
syn keyword mmixOpcode jmp pushj geta put
|
|
syn keyword mmixOpcode pop resume save unsave sync swym get trip
|
|
syn keyword mmixOpcode set lda
|
|
|
|
" switch back to being case sensitive
|
|
syn case match
|
|
|
|
" general-purpose and special-purpose registers
|
|
syn match mmixRegister "$[0-9]*"
|
|
syn match mmixRegister "r[A-Z]"
|
|
syn keyword mmixRegister rBB rTT rWW rXX rYY rZZ
|
|
|
|
" 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_mmix_syntax_inits")
|
|
if version < 508
|
|
let did_mmix_syntax_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
" The default methods for highlighting. Can be overridden later
|
|
HiLink mmixAt Type
|
|
HiLink mmixPseudo Type
|
|
HiLink mmixRegister Special
|
|
HiLink mmixSegments Type
|
|
|
|
HiLink mmixLabel Special
|
|
HiLink mmixComment Comment
|
|
HiLink mmixOpcode Keyword
|
|
|
|
HiLink hexNumber Number
|
|
HiLink decNumber Number
|
|
HiLink octNumber Number
|
|
|
|
HiLink mmixString String
|
|
HiLink mmixChar String
|
|
|
|
HiLink mmixType Type
|
|
HiLink mmixIdentifier Normal
|
|
HiLink mmixSpecialComment Comment
|
|
|
|
" My default color overrides:
|
|
" hi mmixSpecialComment ctermfg=red
|
|
"hi mmixLabel ctermfg=lightcyan
|
|
" hi mmixType ctermbg=black ctermfg=brown
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "mmix"
|
|
|
|
" vim: ts=8
|