configs  Check-in [54a56ecbaf]

Overview
Comment:Add vim config
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 54a56ecbafa50df655ca8cad8ff2bafe160220d0d9f7c70e912aaff13b49459d
User & Date: js 2014-03-19 00:17:20
Context
2014-05-09
17:07
Import Xdefaults check-in: 4f9e1dedbd user: js tags: trunk
2014-03-19
00:17
Add vim config check-in: 54a56ecbaf user: js tags: trunk
2014-03-18
23:33
Add gitconfig check-in: bbdb9e2e7d user: js tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added vim/after/syntax/objc.vim.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
" Author:       Michael Sanders (msanders42 [at] gmail [dot] com)
"		Some modifications by Jonathan Schleifer <js@webkeks.org>
" Description:  Better syntax highlighting for Objective-C files (part of the
"               cocoa.vim plugin).
" Last Updated: May 6, 2011
"
" Put to ~/.vim/after/syntax/objc.vim

syn match objcDirective '@synthesize\|@property\|@optional\|@required\|@autoreleasepool' display
syn keyword objcType IBOutlet IBAction Method __block instancetype
syn keyword objcType __unsafe_unretained __bridge __bridge_retained __bridge_transfer __autoreleasing __strong __weak
syn keyword objcType of_unichar_t of_char16_t of_char32_t of_comparison_result_t
syn keyword objcType of_byte_order_t of_range_t of_point_t of_dimension_t
syn keyword objcType of_rectangle_t of_string_encoding_t of_time_interval_t
syn keyword objcType of_resolver_result_t of_udp_socket_address_t
syn keyword objcConstant YES NO TRUE FALSE

syn region objcImp start='@implementation' end='@end' transparent
syn region objcHeader start='@interface' end='@end' transparent

syn match objcSubclass '\(@implementation\|@interface\)\@<=\s*\k\+' display contained containedin=objcImp,objcHeader
syn match objcSuperclass '\(@\(implementation\|interface\)\s*\k\+\s*:\)\@<=\s*\k*' display contained containedin=objcImp,objcHeader

" Matches "bar" in "[NSObject bar]" or "bar" in "[[NSObject foo: baz] bar]",
" but NOT "bar" in "[NSObject foo: bar]".
syn match objcMessageName '\(\[\s*\k\+\s\+\|\]\s*\)\@<=\k*\s*\]'me=e-1 display contained containedin=objcMessage
" Matches "foo:" in "[NSObject foo: bar]" or "[[NSObject new] foo: bar]"
syn match objcMessageColon '\(\_\S\+\_\s\+\)\@<=\k\+\s*:' display contained containedin=objcMessage
" Matches "foo:" in above
syn match objcMessageArg ')\@<=\s*\k\+' contained containedin=objcMessage

" Don't match these in this strange group for edge cases...
syn cluster cMultiGroup add=objcMessageColon,objcMessageName

hi link objcMessageArg Identifier

hi link objcMessageName objcMessageArg
hi link objcMessageColon objcMessageName
hi link objcMessageReceiver Special

hi link objcSubclass objcMethodName
hi link objcSuperclass String

hi link objcError Error

Added vim/autoload/go/complete.vim.















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" This file provides a utility function that performs auto-completion of
" package names, for use by other commands.

let s:goos = $GOOS
let s:goarch = $GOARCH

if len(s:goos) == 0
  if exists('g:golang_goos')
    let s:goos = g:golang_goos
  elseif has('win32') || has('win64')
    let s:goos = 'windows'
  elseif has('macunix')
    let s:goos = 'darwin'
  else
    let s:goos = '*'
  endif
endif

if len(s:goarch) == 0
  if exists('g:golang_goarch')
    let s:goarch = g:golang_goarch
  else
    let s:goarch = '*'
  endif
endif

function! go#complete#Package(ArgLead, CmdLine, CursorPos)
  let dirs = []

  if executable('go')
      let goroot = substitute(system('go env GOROOT'), '\n', '', 'g')
      if v:shell_error
          echo '\'go env GOROOT\' failed'
      endif
  else
      let goroot = $GOROOT
  endif

  if len(goroot) != 0 && isdirectory(goroot)
    let dirs += [ goroot ]
  endif

  let workspaces = split($GOPATH, ':')
  if workspaces != []
      let dirs += workspaces
  endif

  if len(dirs) == 0
      " should not happen
      return []
  endif

  let ret = {}
  for dir in dirs
    let root = expand(dir . '/pkg/' . s:goos . '_' . s:goarch)
    for i in split(globpath(root, a:ArgLead.'*'), "\n")
      if isdirectory(i)
        let i .= '/'
      elseif i !~ '\.a$'
        continue
      endif
      let i = substitute(substitute(i[len(root)+1:], '[\\]', '/', 'g'), '\.a$', '', 'g')
      let ret[i] = i
    endfor
  endfor
  return sort(keys(ret))
endfunction

Added vim/colors/blackbeauty.vim.





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
" Vim color file
"  Maintainer: Surya
"  Last Change: 12/23/2003 10:32:41 . 
"     version: 1.0
" This color scheme uses a dark background.
set background=dark
hi clear
if exists("syntax_on")
   syntax reset 
endif

let g:colors_name = "koehler"
hi Normal		  guifg=white  guibg=black
hi Scrollbar	  guibg=darkgray guifg=darkgray
hi Menu			  guifg=black guibg=gray
hi SpecialKey	  term=bold  cterm=bold  ctermfg=darkred  guifg=Blue
hi NonText		  term=bold  cterm=bold  ctermfg=darkred  gui=bold	guifg=Blue
hi Directory	  term=bold  cterm=bold  ctermfg=brown	guifg=Blue
hi ErrorMsg		  term=standout  cterm=bold  ctermfg=grey  ctermbg=blue  gui=bold guifg=White  guibg=brown
hi Search		  term=reverse	ctermfg=white  ctermbg=red	gui=bold guifg=#000000 guibg=Magenta
hi MoreMsg		  term=bold  cterm=bold  ctermfg=darkgreen	gui=bold  guifg=SeaGreen
hi ModeMsg		  term=bold  cterm=bold  gui=bold  guifg=White	guibg=Blue
hi LineNr		  term=underline  cterm=bold  ctermfg=darkcyan	guibg=brown guifg=white
hi Question		  term=standout  cterm=bold  ctermfg=darkgreen	gui=bold  guifg=Green
hi StatusLine	  term=bold,reverse  cterm=bold ctermfg=lightblue ctermbg=white gui=bold guibg=white guifg=brown
hi StatusLineNC   term=reverse	ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Title		  term=bold  cterm=bold  ctermfg=darkmagenta  gui=bold	guifg=Magenta
hi Visual		  term=reverse	cterm=reverse  gui=reverse
hi WarningMsg	  term=standout  cterm=bold  ctermfg=darkblue  gui=bold guifg=cyan guibg=Black
hi Cursor		  guifg=bg	guibg=cyan
hi Comment		  term=bold  cterm=bold ctermfg=cyan  guifg=#80a0ff
hi Constant		  term=underline  cterm=bold ctermfg=magenta  guifg=#ffa0a0
hi String		  term=underline  cterm=bold ctermfg=magenta  gui=bold guifg=brown guibg=darkgray
hi Number		  term=underline  cterm=bold ctermfg=magenta  guifg=#00ffff
hi Special		  term=bold  gui=bold cterm=bold ctermfg=red  guifg=Orange
hi Identifier	  term=underline   ctermfg=brown  guifg=#40ffff
hi Statement	  term=bold  cterm=bold ctermfg=yellow	gui=bold  guifg=#ffff60
hi PreProc		  term=underline  ctermfg=darkblue	guifg=#ff80ff
hi Type			  term=underline  cterm=bold ctermfg=lightgreen  gui=bold  guifg=#60ff60
hi Error		    gui=bold guifg=Yellow	guibg=Black
hi Todo			  term=standout  ctermfg=black	ctermbg=darkcyan  guifg=Blue  guibg=Yellow
"hi VertSplit	guifg=#00FFFF guibg=#000000 gui=bold
hi link IncSearch		Visual
hi link Character		Constant
hi link Boolean			Constant
hi link Float			Number
hi link Function		Identifier
hi link Conditional		Statement
hi link Repeat			Statement
hi link Label			Statement
hi link Operator		Statement
hi link Keyword			Statement
hi link Exception		Statement
hi link Include			PreProc
hi link Define			PreProc
hi link Macro			PreProc
hi link PreCondit		PreProc
hi link StorageClass	Type
hi link Structure		Type
hi link Typedef			Type
hi link Tag				Special
hi link SpecialChar		Special
hi link Delimiter		Special
hi link SpecialComment	Special
hi link Debug			Special

Added vim/colors/candycode.vim.





























































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
" Vim color file -- candycode
" Maintainer:   Justin Constantino <goflyapig-at-gmail-com>
" Last Change:  2006 Aug 12

set background=dark
highlight clear
let g:colors_name="candycode"

let save_cpo = &cpo
set cpo&vim

" basic highlight groups (:help highlight-groups) 

" text 

hi Normal       guifg=#ffffff       guibg=#050505       gui=NONE
            \   ctermfg=white       ctermbg=black       cterm=NONE

hi Folded       guifg=#c2bfa5       guibg=#050505       gui=underline
            \   ctermfg=lightgray   ctermbg=black       cterm=underline

hi LineNr       guifg=#928c75       guibg=NONE          gui=NONE
            \   ctermfg=darkgray    ctermbg=NONE        cterm=NONE

hi Directory    guifg=#00bbdd       guibg=NONE          gui=NONE
            \   ctermfg=cyan        ctermbg=NONE        cterm=NONE
hi NonText      guifg=#77ff22       guibg=NONE          gui=bold
            \   ctermfg=yellow      ctermbg=NONE        cterm=NONE
hi SpecialKey   guifg=#559933       guibg=NONE          gui=NONE
            \   ctermfg=green       ctermbg=NONE        cterm=NONE

hi SpellBad     guifg=NONE          guibg=NONE          gui=undercurl
            \   ctermfg=white       ctermbg=darkred     guisp=#ff0011
hi SpellCap     guifg=NONE          guibg=NONE          gui=undercurl
            \   ctermfg=white       ctermbg=darkblue    guisp=#0044ff
hi SpellLocal   guifg=NONE          guibg=NONE          gui=undercurl
            \   ctermfg=black       ctermbg=cyan        guisp=#00dd99   
hi SpellRare    guifg=NONE          guibg=NONE          gui=undercurl
            \   ctermfg=white       ctermbg=darkmagenta guisp=#ff22ee   

hi DiffAdd      guifg=#ffffff       guibg=#126493       gui=NONE
            \   ctermfg=white       ctermbg=darkblue    cterm=NONE
hi DiffChange   guifg=#000000       guibg=#976398       gui=NONE
            \   ctermfg=black       ctermbg=darkmagenta cterm=NONE
hi DiffDelete   guifg=#000000       guibg=#be1923       gui=bold
            \   ctermfg=black       ctermbg=red         cterm=bold
hi DiffText     guifg=#ffffff       guibg=#976398       gui=bold
            \   ctermfg=white       ctermbg=green       cterm=bold

" 
" borders / separators / menus 

hi FoldColumn   guifg=#c8bcb9       guibg=#786d65       gui=bold            
            \   ctermfg=lightgray   ctermbg=darkgray    cterm=NONE
hi SignColumn   guifg=#c8bcb9       guibg=#786d65       gui=bold
            \   ctermfg=lightgray   ctermbg=darkgray    cterm=NONE

hi Pmenu        guifg=#000000       guibg=#a6a190       gui=NONE
            \   ctermfg=white       ctermbg=darkgray    cterm=NONE
hi PmenuSel     guifg=#ffffff       guibg=#133293       gui=NONE
            \   ctermfg=white       ctermbg=lightblue   cterm=NONE
hi PmenuSbar    guifg=NONE          guibg=#555555       gui=NONE
            \   ctermfg=black       ctermbg=black       cterm=NONE
hi PmenuThumb   guifg=NONE          guibg=#cccccc       gui=NONE
            \   ctermfg=gray        ctermbg=gray        cterm=NONE

hi StatusLine   guifg=#000000       guibg=#c2bfa5       gui=bold    
            \   ctermfg=black       ctermbg=white       cterm=bold
hi StatusLineNC guifg=#444444       guibg=#c2bfa5       gui=NONE    
            \   ctermfg=darkgray    ctermbg=white       cterm=NONE
hi WildMenu     guifg=#ffffff       guibg=#133293       gui=bold
            \   ctermfg=white       ctermbg=darkblue    cterm=bold
hi VertSplit    guifg=#c2bfa5       guibg=#c2bfa5       gui=NONE
            \   ctermfg=white       ctermbg=white       cterm=NONE

hi TabLine      guifg=#000000       guibg=#c2bfa5       gui=NONE
            \   ctermfg=black       ctermbg=white       cterm=NONE
hi TabLineFill  guifg=#000000       guibg=#c2bfa5       gui=NONE
            \   ctermfg=black       ctermbg=white       cterm=NONE
hi TabLineSel   guifg=#ffffff       guibg=#133293       gui=NONE
            \   ctermfg=white       ctermbg=black       cterm=NONE

"hi Menu
"hi Scrollbar
"hi Tooltip

" 
" cursor / dynamic / other 

hi Cursor       guifg=#000000       guibg=#ffff99       gui=NONE
            \   ctermfg=black       ctermbg=white       cterm=NONE
hi CursorIM     guifg=#000000       guibg=#aaccff       gui=NONE
            \   ctermfg=black       ctermbg=white       cterm=reverse
hi CursorLine   guifg=NONE          guibg=#1b1b1b       gui=NONE
            \   ctermfg=NONE        ctermbg=NONE        cterm=NONE
hi CursorColumn guifg=NONE          guibg=#1b1b1b       gui=NONE
            \   ctermfg=NONE        ctermbg=NONE        cterm=NONE

hi Visual       guifg=#ffffff       guibg=#606070       gui=NONE
            \   ctermfg=white       ctermbg=lightblue   cterm=NONE

hi IncSearch    guifg=#000000       guibg=#eedd33       gui=bold 
            \   ctermfg=white       ctermbg=yellow      cterm=NONE
hi Search       guifg=#efefd0       guibg=#937340       gui=NONE
            \   ctermfg=white       ctermbg=darkgreen   cterm=NONE

hi MatchParen   guifg=NONE          guibg=#3377aa       gui=NONE
            \   ctermfg=white       ctermbg=blue        cterm=NONE

"hi VisualNOS

" 
" listings / messages 

hi ModeMsg      guifg=#eecc18       guibg=NONE          gui=NONE
            \   ctermfg=yellow      ctermbg=NONE        cterm=NONE
hi Title        guifg=#dd4452       guibg=NONE          gui=bold
            \   ctermfg=red         ctermbg=NONE        cterm=bold
hi Question     guifg=#66d077       guibg=NONE          gui=NONE
            \   ctermfg=green       ctermbg=NONE        cterm=NONE
hi MoreMsg      guifg=#39d049       guibg=NONE          gui=NONE
            \   ctermfg=green       ctermbg=NONE        cterm=NONE

hi ErrorMsg     guifg=#ffffff       guibg=#ff0000       gui=bold
            \   ctermfg=white       ctermbg=red         cterm=bold
hi WarningMsg   guifg=#ccae22       guibg=NONE          gui=bold    
            \   ctermfg=yellow      ctermbg=NONE        cterm=bold

" 

" 
" syntax highlighting groups (:help group-name) 

hi Comment      guifg=#ff9922       guibg=NONE          gui=NONE
            \   ctermfg=brown       ctermbg=NONE        cterm=NONE

hi Constant     guifg=#ff6050       guibg=NONE          gui=NONE
            \   ctermfg=red         ctermbg=NONE        cterm=NONE
hi Boolean      guifg=#ff6050       guibg=NONE          gui=bold  
            \   ctermfg=red         ctermbg=NONE        cterm=bold

hi Identifier   guifg=#eecc44       guibg=NONE          gui=NONE
            \   ctermfg=yellow      ctermbg=NONE        cterm=NONE

hi Statement    guifg=#66d077       guibg=NONE          gui=bold
            \   ctermfg=green       ctermbg=NONE        cterm=bold

hi PreProc      guifg=#bb88dd       guibg=NONE          gui=NONE
            \   ctermfg=darkmagenta ctermbg=NONE        cterm=NONE

hi Type         guifg=#4093cc       guibg=NONE          gui=bold
            \   ctermfg=lightblue   ctermbg=NONE        cterm=bold

hi Special      guifg=#9999aa       guibg=NONE          gui=bold  
            \   ctermfg=lightgray   ctermbg=NONE        cterm=bold

hi Underlined   guifg=#80a0ff       guibg=NONE          gui=underline
            \   ctermfg=NONE        ctermbg=NONE        cterm=underline
            \   term=underline 

hi Ignore       guifg=#888888       guibg=NONE          gui=NONE
            \   ctermfg=darkgray    ctermbg=NONE        cterm=NONE

hi Error        guifg=#ffffff       guibg=#ff0000       gui=NONE
            \   ctermfg=white       ctermbg=red         cterm=NONE

hi Todo         guifg=#ffffff       guibg=#ee7700       gui=bold
            \   ctermfg=black       ctermbg=yellow      cterm=bold

" 

let &cpo = save_cpo

" vim: fdm=marker fdl=0

Added vim/colors/dante.vim.







































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" File: "/home/caciano/.vim/dante.vim"
" Created: "Thu, 23 May 2002 00:12:20 -0300 (caciano)"
" Updated: "Sat, 24 Aug 2002 14:04:21 -0300 (caciano)"
" Copyright (C) 2002, Caciano Machado <caciano@inf.ufrgs.br>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Colorscheme Option:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
hi clear
if exists("syntax on")
	syntax reset
endif
let g:colors_name = "dante"

" General colors
hi Normal	ctermfg=gray guifg=peachpuff3 guibg=black
hi Directory	term=bold ctermfg=blue guifg=royalblue
hi ErrorMsg	term=standout ctermfg=white ctermbg=red guifg=white guibg=red3
hi NonText	term=bold ctermfg=darkgray guibg=gray3 guifg=gray20
hi SpecialKey	term=bold ctermfg=darkgray guifg=gray30
hi LineNr	term=underline ctermfg=darkgray guifg=ivory4 guibg=gray4
hi IncSearch	term=reverse cterm=reverse gui=reverse,bold guifg=darkgoldenrod2
hi Search	term=reverse ctermfg=black ctermbg=yellow guifg=gray10 guibg=gold2
hi Visual	term=bold,reverse cterm=bold,reverse ctermfg=gray ctermbg=black gui=bold,reverse guifg=gray40 guibg=black
hi VisualNOS	term=bold,underline cterm=bold,underline gui=bold,underline
hi MoreMsg	term=bold ctermfg=green gui=bold guifg=olivedrab1
hi ModeMsg	term=bold cterm=bold gui=bold
hi Question	term=standout ctermfg=green gui=bold guifg=olivedrab1
hi WarningMsg	term=standout ctermfg=red gui=bold guifg=red3
hi WildMenu	term=standout ctermfg=black ctermbg=yellow guifg=black guibg=gold2
hi Folded	term=standout ctermfg=blue ctermbg=white guifg=royalblue1 guibg=white
hi FoldColumn	term=standout ctermfg=blue ctermbg=white guifg=royalblue3 guibg=white
hi DiffAdd	term=bold ctermbg=blue guibg=royalblue2
hi DiffChange	term=bold ctermbg=darkmagenta guibg=maroon
hi DiffDelete	term=bold cterm=bold ctermfg=lightblue ctermbg=cyan gui=bold guifg=lightblue guibg=cyan4
hi DiffText	term=reverse cterm=bold ctermbg=red gui=bold guibg=red3
hi Cursor	guifg=bg guibg=fg
hi lCursor	guifg=bg guibg=fg
hi StatusLine	term=reverse cterm=reverse gui=reverse guifg=gray60
hi StatusLineNC	term=reverse cterm=reverse gui=reverse guifg=gray40
hi VertSplit	term=reverse cterm=reverse gui=bold,reverse guifg=gray40
hi Title	term=bold ctermfg=magenta gui=bold guifg=aquamarine

" syntax hi colors
hi Comment	term=bold ctermfg=darkcyan guifg=cyan4
hi PreProc	term=underline ctermfg=darkblue guifg=dodgerblue4
hi Constant	term=underline ctermfg=darkred guifg=firebrick3
hi Type		term=underline ctermfg=darkgreen gui=none guifg=chartreuse3
hi Statement	term=bold ctermfg=darkyellow gui=none guifg=gold3
hi Identifier	term=underline ctermfg=darkgreen guifg=darkolivegreen4
hi Ignore	term=bold ctermfg=darkgray guifg=gray45
hi Special	term=underline ctermfg=brown guifg=sienna
hi Error	term=reverse ctermfg=gray ctermbg=red guifg=gray guibg=red3
hi Todo		term=standout ctermfg=black ctermbg=yellow gui=bold guifg=gray10 guibg=yellow4
hi Underlined	term=underline cterm=underline ctermfg=darkblue gui=underline guifg=slateblue
hi Number	term=underline ctermfg=darkred guifg=red2
" syntax hi links
hi link String		Constant
hi link Character	Constant
hi link Number		Constant
hi link Boolean		Constant
hi link Float		Number
hi link Function	Identifier
hi link Number		Constant
hi link Conditional	Statement
hi link Repeat		Statement
hi link Label		Statement
hi link Keyword		Statement
hi link Exception	Statement
hi link Operator	Statement
hi link Include		PreProc
hi link Define		PreProc
hi link Macro		PreProc
hi link PreCondit	PreProc
hi link StorageClass	Type
hi link Structure	Type
hi link Typedef		Type
hi link Tag		Special
hi link SpecialChar	Special
hi link Delimiter	Special
hi link SpecialComment	Special
hi link Debug		Special
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Added vim/colors/darkburn.vim.

























































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
"=============================================================================
" Vim color file
" File:       darkburn.vim
" Maintainer: Taurus Olson <taurusolson@gmail.com>
" License:    GPL
" Created:    2009-03-27 20:25:21 CET
" Modified:   2009-06-06 21:18:55 CET
" Version:    1.2

" Modified version of zenburn originally created by: 
" Maintainer:   Jani Nurminen <slinky@iki.fi>
" Last Change:  $Id: zenburn.vim,v 2.4 2008/11/18 20:43:18 slinky Exp $
" URL:      	http://slinky.imukuppi.org/zenburnpage/
" License:      GPL
"=============================================================================
"
" Credits:
"  - Jani Nurminen - original Zenburn
"  - Steve Hall & Cream posse - higher-contrast Visual selection
"  - Kurt Maier - 256 color console coloring, low and high contrast toggle,
"                 bug fixing
"  - Charlie - spotted too bright StatusLine in non-high contrast mode
"  - Pablo Castellazzi - CursorLine fix for 256 color mode
"  - Tim Smith - force dark background
"
" CONFIGURABLE PARAMETERS:
" 
" You can use the default (don't set any parameters), or you can
" set some parameters to tweak the Zenburn colours.
"
" * You can now set a darker background for bright environments. To activate, use:
"   contrast Zenburn, use:
"
     let g:darkburn_high_Contrast = 1
"
" * To get more contrast to the Visual selection, use
"   
"     let g:darkburn_alternate_Visual = 1
" 
" * To use alternate colouring for Error message, use
"     
      let g:darkburn_alternate_Error = 1
"
" * The new default for Include is a duller orange. To use the original
"   colouring for Include, use
"     
      let g:darkburn_alternate_Include = 1
"
" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
"   as light values, and sets background to light for some people. If you have
"   this problem, use:
"
      let g:darkburn_force_dark_Background = 1
"
" * To turn the parameter(s) back to defaults, use UNLET:
"
"      unlet g:darkburn_alternate_Include
"
"   Setting to 0 won't work!
"
" That's it, enjoy!
" 
" TODO
"   - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
"   - IME colouring (CursorIM)

set background=dark
hi clear          
if exists("syntax_on")
    syntax reset
endif
let g:colors_name="darkburn"

hi Boolean         guifg=#dca3a3
hi Character       guifg=#dca3a3 gui=bold
hi Comment         guifg=#7f9f7f gui=italic
hi Conditional     guifg=#f0dfaf gui=bold
hi Constant        guifg=#dca3a3 gui=bold
hi Cursor          guifg=#000d18 guibg=#8faf9f gui=bold
hi Debug           guifg=#bca3a3 gui=bold
hi Define          guifg=#ffcfaf gui=bold
hi Delimiter       guifg=#8f8f8f
hi DiffAdd         guifg=#709080 guibg=#313c36 gui=bold
hi DiffChange      guibg=#333333
hi DiffDelete      guifg=#333333 guibg=#464646
hi DiffText        guifg=#ecbcbc guibg=#41363c gui=bold
hi Directory       guifg=#dcdccc gui=bold
hi ErrorMsg        guifg=#80d4aa guibg=#2f2f2f gui=bold
hi Exception       guifg=#c3bf9f gui=bold
hi Float           guifg=#c0bed1
hi FoldColumn      guifg=#93b3a3 guibg=#3f4040
hi Folded          guifg=#93b3a3 guibg=#3f4040
hi Function        guifg=#efef8f
hi Identifier      guifg=#dcdcdc
hi IncSearch       guibg=#f8f893 guifg=#385f38
hi Keyword         guifg=#f0dfaf gui=bold
hi Label           guifg=#dfcfaf gui=underline
hi LineNr          guifg=#9fafaf guibg=#262626
hi Macro           guifg=#ffcfaf gui=bold
hi ModeMsg         guifg=#6fb86f gui=none
hi MoreMsg         guifg=#ffffff gui=bold
hi NonText         guifg=#404040
hi Number          guifg=#8cd0d3
hi Operator        guifg=#f0efd0
hi PreCondit       guifg=#dfaf8f gui=bold
hi PreProc         guifg=#ffb23f gui=bold
hi Question        guifg=#ffffff gui=bold
hi Repeat          guifg=#ffd7a7 gui=bold
hi Search          guifg=#ffffe0 guibg=#284f28
hi SpecialChar     guifg=#9fbfd6 gui=bold
hi SpecialComment  guifg=#82a282 gui=bold
hi Special         guifg=#9fbfd6
hi SpecialKey      guifg=#9ece9e
hi Statement       guifg=#6fb86f  gui=none
hi StatusLine      guifg=#313633 guibg=#ccdc90
hi StatusLineNC    guifg=#2e3330 guibg=#88b090
hi StorageClass    guifg=#c3bf9f gui=bold
hi String          guifg=#b75151
hi Structure       guifg=#efefaf gui=bold
hi Tag             guifg=#e89393 gui=bold
hi Title           guifg=#efefef gui=bold
hi Todo            guifg=#dfdfdf guibg=bg gui=bold
hi Typedef         guifg=#dfe4cf gui=bold
hi Type            guifg=#dfdfbf gui=bold
hi Underlined      guifg=#dcdccc gui=underline
hi VertSplit       guifg=#2e3330 guibg=#688060
hi VisualNOS       guifg=#333333 guibg=#f18c96 gui=bold,underline
hi WarningMsg      guifg=#ffffff guibg=#333333 gui=bold
hi WildMenu        guibg=#2c302d guifg=#cbecd0 gui=underline

hi SpellBad   guisp=#bc6c4c guifg=#dc8c6c
hi SpellCap   guisp=#6c6c9c guifg=#8c8cbc
hi SpellRare  guisp=#bc6c9c guifg=#bc8cbc
hi SpellLocal guisp=#7cac7c guifg=#9ccc9c

" Entering Kurt zone
if &t_Co > 255
    hi Boolean         ctermfg=181  
    hi Character       ctermfg=181   cterm=bold
    hi Comment         ctermfg=108   
    hi Conditional     ctermfg=223   cterm=bold
    hi Constant        ctermfg=181   cterm=bold
    hi Cursor          ctermfg=233   ctermbg=109     cterm=bold
    hi Debug           ctermfg=181   cterm=bold
    hi Define          ctermfg=223   cterm=bold
    hi Delimiter       ctermfg=245  
    hi DiffAdd         ctermfg=66    ctermbg=237     cterm=bold
    hi DiffChange      ctermbg=236  
    hi DiffDelete      ctermfg=236   ctermbg=238    
    hi DiffText        ctermfg=217   ctermbg=237     cterm=bold
    hi Directory       ctermfg=188   cterm=bold
    hi ErrorMsg        ctermfg=115   ctermbg=236     cterm=bold
    hi Exception       ctermfg=249   cterm=bold
    hi Float           ctermfg=251  
    hi FoldColumn      ctermfg=109   ctermbg=238    
    hi Folded          ctermfg=109   ctermbg=238    
    hi Function        ctermfg=228  
    hi Identifier      ctermfg=223  
    hi IncSearch       ctermbg=228   ctermfg=238    
    hi Keyword         ctermfg=223   cterm=bold
    hi Label           ctermfg=187   cterm=underline
    hi LineNr          ctermfg=248   ctermbg=235    
    hi Macro           ctermfg=223   cterm=bold
    hi ModeMsg         ctermfg=223   cterm=none
    hi MoreMsg         ctermfg=15    cterm=bold
    hi NonText         ctermfg=238  
    hi Number          ctermfg=116  
    hi Operator        ctermfg=230  
    hi PreCondit       ctermfg=180   cterm=bold
    hi PreProc         ctermfg=223   cterm=bold
    hi Question        ctermfg=15    cterm=bold
    hi Repeat          ctermfg=223   cterm=bold
    hi Search          ctermfg=230   ctermbg=236    
    hi SpecialChar     ctermfg=181   cterm=bold
    hi SpecialComment  ctermfg=108   cterm=bold
    hi Special         ctermfg=181  
    hi SpecialKey      ctermfg=151  
    hi Statement       ctermfg=187   ctermbg=234     cterm=none
    hi StatusLine      ctermfg=236   ctermbg=186    
    hi StatusLineNC    ctermfg=235   ctermbg=108    
    hi StorageClass    ctermfg=249   cterm=bold
    hi String          ctermfg=174  
    hi Structure       ctermfg=229   cterm=bold
    hi Tag             ctermfg=181   cterm=bold
    hi Title           ctermfg=7     ctermbg=234     cterm=bold
    hi Todo            ctermfg=108   ctermbg=234     cterm=bold
    hi Typedef         ctermfg=253   cterm=bold
    hi Type            ctermfg=187   cterm=bold
    hi Underlined      ctermfg=188   ctermbg=234     cterm=bold
    hi VertSplit       ctermfg=236   ctermbg=65 
    hi VisualNOS       ctermfg=236   ctermbg=210     cterm=bold
    hi WarningMsg      ctermfg=15    ctermbg=236     cterm=bold
    hi WildMenu        ctermbg=236   ctermfg=194     cterm=bold
    hi CursorLine      ctermbg=236   cterm=none

    " spellchecking, always "bright" background
    hi SpellLocal ctermfg=14  ctermbg=237
    hi SpellBad   ctermfg=9   ctermbg=237
    hi SpellCap   ctermfg=12  ctermbg=237
    hi SpellRare  ctermfg=13  ctermbg=237
  
    " pmenu
    hi PMenu      ctermfg=248  ctermbg=0
    hi PMenuSel   ctermfg=223 ctermbg=235

    if exists("g:darkburn_high_Contrast")
        hi Normal ctermfg=188 ctermbg=234
    else
        hi Normal ctermfg=188 ctermbg=237
        hi Cursor          ctermbg=109
        hi diffadd         ctermbg=237
        hi diffdelete      ctermbg=238
        hi difftext        ctermbg=237
        hi errormsg        ctermbg=237
        hi foldcolumn      ctermbg=238
        hi folded          ctermbg=238
        hi incsearch       ctermbg=228
        hi linenr          ctermbg=238  
        hi search          ctermbg=238
        hi statement       ctermbg=237
        hi statusline      ctermbg=144
        hi statuslinenc    ctermbg=108
        hi title           ctermbg=237
        hi todo            ctermbg=237
        hi underlined      ctermbg=237
        hi vertsplit       ctermbg=65 
        hi visualnos       ctermbg=210
        hi warningmsg      ctermbg=236
        hi wildmenu        ctermbg=236
    endif
endif

if exists("g:darkburn_force_dark_Background")
    " Force dark background, because of a bug in VIM:  VIM sets background
    " automatically during "hi Normal ctermfg=X"; it misinterprets the high
    " value (234 or 237 above) as a light color, and wrongly sets background to
    " light.  See ":help highlight" for details.
    set background=dark
endif

if exists("g:darkburn_high_Contrast")
    " use new darker background
    hi Normal          guifg=#ffffff guibg=#1f1f1f
    hi CursorLine      guibg=#121212 gui=bold
    hi Pmenu           guibg=#242424 guifg=#ccccbc
    hi PMenuSel        guibg=#353a37 guifg=#ccdc90 gui=bold
    hi PmenuSbar       guibg=#2e3330 guifg=#000000
    hi PMenuThumb      guibg=#a0afa0 guifg=#040404 
    hi MatchParen      guifg=#f0f0c0 guibg=#383838 gui=bold
    hi SignColumn      guifg=#9fafaf guibg=#181818 gui=bold
    hi TabLineFill     guifg=#cfcfaf guibg=#181818 gui=bold
    hi TabLineSel      guifg=#efefef guibg=#1c1c1b gui=bold
    hi TabLine         guifg=#b6bf98 guibg=#181818 gui=bold
    hi CursorColumn    guifg=#dcdccc guibg=#2b2b2b
else
    " Original, lighter background
    hi Normal          guifg=#dcdccc guibg=#3f3f3f
    hi CursorLine      guibg=#434443
    hi Pmenu           guibg=#2c2e2e guifg=#9f9f9f
    hi PMenuSel        guibg=#242424 guifg=#d0d0a0 gui=bold
    hi PmenuSbar       guibg=#2e3330 guifg=#000000
    hi PMenuThumb      guibg=#a0afa0 guifg=#040404 
    hi MatchParen      guifg=#b2b2a0 guibg=#2e2e2e gui=bold
    hi SignColumn      guifg=#9fafaf guibg=#343434 gui=bold
    hi TabLineFill     guifg=#cfcfaf guibg=#353535 gui=bold
    hi TabLineSel      guifg=#efefef guibg=#3a3a39 gui=bold
    hi TabLine         guifg=#b6bf98 guibg=#353535 gui=bold
    hi CursorColumn    guifg=#dcdccc guibg=#4f4f4f
endif
    

if exists("g:darkburn_alternate_Visual")
    " Visual with more contrast, thanks to Steve Hall & Cream posse
    " gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
    hi Visual          guifg=#000000 guibg=#71d3b4 gui=none
    hi VisualNOS       guifg=#000000 guibg=#71d3b4 gui=none
else
    " use default visual
    hi Visual          guifg=#71d3b4 guibg=#233323 gui=none
    hi VisualNOS       guifg=#71d3b4 guibg=#233323 gui=none
endif

if exists("g:darkburn_alternate_Error")
    " use a bit different Error
    hi Error           guifg=#ef9f9f guibg=#201010 gui=bold  
else
    " default
    hi Error           guifg=#e37170 guibg=#332323 gui=none
endif

if exists("g:darkburn_alternate_Include")
    " original setting
    hi Include         guifg=#ffcfaf  gui=bold
else
    " new, less contrasted one
    hi Include         guifg=#dfaf8f gui=bold
endif
    " TODO check for more obscure syntax groups that they're ok

" vim: :

Added vim/colors/desert.vim.

























































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
" Vim color file
" Maintainer:	Hans Fugal <hans@fugal.net>
" Last Change:	$Date: 2003/07/24 00:57:11 $
" Last Change:	$Date: 2003/07/24 00:57:11 $
" URL:		http://hans.fugal.net/vim/colors/desert.vim
" Version:	$Id: desert.vim,v 1.7 2003/07/24 00:57:11 fugalh Exp $

" cool help screens
" :he group-name
" :he highlight-groups
" :he cterm-colors

set background=dark
if version > 580
    " no guarantees for version 5.8 and below, but this makes it stop
    " complaining
    hi clear
    if exists("syntax_on")
	syntax reset
    endif
endif
let g:colors_name="desert"

hi Normal	guifg=White guibg=grey20

" highlight groups
hi Cursor	guibg=indianred guifg=khaki
"hi CursorIM
"hi Directory
"hi DiffAdd
"hi DiffChange
"hi DiffDelete
"hi DiffText
"hi ErrorMsg
hi VertSplit	guibg=#c2bfa5 guifg=grey50 gui=none
hi Folded	guibg=grey30 guifg=gold
hi FoldColumn	guibg=grey30 guifg=tan
hi IncSearch	guifg=slategrey guibg=khaki
"hi LineNr
hi ModeMsg	guifg=goldenrod
hi MoreMsg	guifg=SeaGreen
hi NonText	guifg=LightBlue guibg=grey30
hi Question	guifg=springgreen
hi Search	guibg=olivedrab guifg=wheat
hi SpecialKey	guifg=yellowgreen
hi StatusLine	guibg=#c2bfa5 guifg=black gui=none
hi StatusLineNC	guibg=#c2bfa5 guifg=grey50 gui=none
hi Title	guifg=indianred
hi Visual	gui=none guifg=khaki guibg=olivedrab
"hi VisualNOS
hi WarningMsg	guifg=salmon
"hi WildMenu
"hi Menu
"hi Scrollbar
"hi Tooltip

" syntax highlighting groups
hi Comment	guifg=SkyBlue
hi Constant	guifg=#ffa0a0
hi Identifier	guifg=palegreen
hi Statement	guifg=khaki
hi PreProc	guifg=indianred
hi Type		guifg=darkkhaki
hi Special	guifg=navajowhite
"hi Underlined
hi Ignore	guifg=grey40
"hi Error
hi Todo		guifg=orangered guibg=yellow2

" color terminal definitions
hi SpecialKey	ctermfg=darkgreen
hi NonText	cterm=bold ctermfg=darkblue
hi Directory	ctermfg=darkcyan
hi ErrorMsg	cterm=bold ctermfg=7 ctermbg=1
hi IncSearch	cterm=NONE ctermfg=yellow ctermbg=green
hi Search	cterm=NONE ctermfg=grey ctermbg=blue
hi MoreMsg	ctermfg=darkgreen
hi ModeMsg	cterm=NONE ctermfg=brown
hi LineNr	ctermfg=3
hi Question	ctermfg=green
hi StatusLine	cterm=bold,reverse
hi StatusLineNC cterm=reverse
hi VertSplit	cterm=reverse
hi Title	ctermfg=5
hi Visual	cterm=reverse
hi VisualNOS	cterm=bold,underline
hi WarningMsg	ctermfg=1
hi WildMenu	ctermfg=0 ctermbg=3
hi Folded	ctermfg=darkgrey ctermbg=NONE
hi FoldColumn	ctermfg=darkgrey ctermbg=NONE
hi DiffAdd	ctermbg=4
hi DiffChange	ctermbg=5
hi DiffDelete	cterm=bold ctermfg=4 ctermbg=6
hi DiffText	cterm=bold ctermbg=1
hi Comment	ctermfg=darkcyan
hi Constant	ctermfg=brown
hi Special	ctermfg=5
hi Identifier	ctermfg=6
hi Statement	ctermfg=3
hi PreProc	ctermfg=5
hi Type		ctermfg=2
hi Underlined	cterm=underline ctermfg=5
hi Ignore	cterm=bold ctermfg=7
hi Ignore	ctermfg=darkgrey
hi Error	cterm=bold ctermfg=7 ctermbg=1


"vim: sw=4

Added vim/colors/desert256.vim.





































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
" Vim color file
" Maintainer: Henry So, Jr. <henryso@panix.com>

" These are the colors of the "desert" theme by Hans Fugal with a few small
" modifications (namely that I lowered the intensity of the normal white and
" made the normal and nontext backgrounds black), modified to work with 88-
" and 256-color xterms.
"
" The original "desert" theme is available as part of the vim distribution or
" at http://hans.fugal.net/vim/colors/.
"
" The real feature of this color scheme, with a wink to the "inkpot" theme, is
" the programmatic approximation of the gui colors to the palettes of 88- and
" 256- color xterms.  The functions that do this (folded away, for
" readability) are calibrated to the colors used for Thomas E. Dickey's xterm
" (version 200), which is available at http://dickey.his.com/xterm/xterm.html.
"
" I struggled with trying to parse the rgb.txt file to avoid the necessity of
" converting color names to #rrggbb form, but decided it was just not worth
" the effort.  Maybe someone seeing this may decide otherwise...

set background=dark
if version > 580
    " no guarantees for version 5.8 and below, but this makes it stop
    " complaining
    hi clear
    if exists("syntax_on")
        syntax reset
    endif
endif
let g:colors_name="desert256"

if has("gui_running") || &t_Co == 88 || &t_Co == 256
    " functions 
    " returns an approximate grey index for the given grey level
    fun <SID>grey_number(x)
        if &t_Co == 88
            if a:x < 23
                return 0
            elseif a:x < 69
                return 1
            elseif a:x < 103
                return 2
            elseif a:x < 127
                return 3
            elseif a:x < 150
                return 4
            elseif a:x < 173
                return 5
            elseif a:x < 196
                return 6
            elseif a:x < 219
                return 7
            elseif a:x < 243
                return 8
            else
                return 9
            endif
        else
            if a:x < 14
                return 0
            else
                let l:n = (a:x - 8) / 10
                let l:m = (a:x - 8) % 10
                if l:m < 5
                    return l:n
                else
                    return l:n + 1
                endif
            endif
        endif
    endfun

    " returns the actual grey level represented by the grey index
    fun <SID>grey_level(n)
        if &t_Co == 88
            if a:n == 0
                return 0
            elseif a:n == 1
                return 46
            elseif a:n == 2
                return 92
            elseif a:n == 3
                return 115
            elseif a:n == 4
                return 139
            elseif a:n == 5
                return 162
            elseif a:n == 6
                return 185
            elseif a:n == 7
                return 208
            elseif a:n == 8
                return 231
            else
                return 255
            endif
        else
            if a:n == 0
                return 0
            else
                return 8 + (a:n * 10)
            endif
        endif
    endfun

    " returns the palette index for the given grey index
    fun <SID>grey_color(n)
        if &t_Co == 88
            if a:n == 0
                return 16
            elseif a:n == 9
                return 79
            else
                return 79 + a:n
            endif
        else
            if a:n == 0
                return 16
            elseif a:n == 25
                return 231
            else
                return 231 + a:n
            endif
        endif
    endfun

    " returns an approximate color index for the given color level
    fun <SID>rgb_number(x)
        if &t_Co == 88
            if a:x < 69
                return 0
            elseif a:x < 172
                return 1
            elseif a:x < 230
                return 2
            else
                return 3
            endif
        else
            if a:x < 75
                return 0
            else
                let l:n = (a:x - 55) / 40
                let l:m = (a:x - 55) % 40
                if l:m < 20
                    return l:n
                else
                    return l:n + 1
                endif
            endif
        endif
    endfun

    " returns the actual color level for the given color index
    fun <SID>rgb_level(n)
        if &t_Co == 88
            if a:n == 0
                return 0
            elseif a:n == 1
                return 139
            elseif a:n == 2
                return 205
            else
                return 255
            endif
        else
            if a:n == 0
                return 0
            else
                return 55 + (a:n * 40)
            endif
        endif
    endfun

    " returns the palette index for the given R/G/B color indices
    fun <SID>rgb_color(x, y, z)
        if &t_Co == 88
            return 16 + (a:x * 16) + (a:y * 4) + a:z
        else
            return 16 + (a:x * 36) + (a:y * 6) + a:z
        endif
    endfun

    " returns the palette index to approximate the given R/G/B color levels
    fun <SID>color(r, g, b)
        " get the closest grey
        let l:gx = <SID>grey_number(a:r)
        let l:gy = <SID>grey_number(a:g)
        let l:gz = <SID>grey_number(a:b)

        " get the closest color
        let l:x = <SID>rgb_number(a:r)
        let l:y = <SID>rgb_number(a:g)
        let l:z = <SID>rgb_number(a:b)

        if l:gx == l:gy && l:gy == l:gz
            " there are two possibilities
            let l:dgr = <SID>grey_level(l:gx) - a:r
            let l:dgg = <SID>grey_level(l:gy) - a:g
            let l:dgb = <SID>grey_level(l:gz) - a:b
            let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
            let l:dr = <SID>rgb_level(l:gx) - a:r
            let l:dg = <SID>rgb_level(l:gy) - a:g
            let l:db = <SID>rgb_level(l:gz) - a:b
            let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
            if l:dgrey < l:drgb
                " use the grey
                return <SID>grey_color(l:gx)
            else
                " use the color
                return <SID>rgb_color(l:x, l:y, l:z)
            endif
        else
            " only one possibility
            return <SID>rgb_color(l:x, l:y, l:z)
        endif
    endfun

    " returns the palette index to approximate the 'rrggbb' hex string
    fun <SID>rgb(rgb)
        let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
        let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
        let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0

        return <SID>color(l:r, l:g, l:b)
    endfun

    " sets the highlighting for the given group
    fun <SID>X(group, fg, bg, attr)
        if a:fg != ""
            exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
        endif
        if a:bg != ""
            exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
        endif
        if a:attr != ""
            exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
        endif
    endfun
    " 

    call <SID>X("Normal", "cccccc", "000000", "")

    " highlight groups
    call <SID>X("Cursor", "708090", "f0e68c", "")
    "CursorIM
    "Directory
    "DiffAdd
    "DiffChange
    "DiffDelete
    "DiffText
    "ErrorMsg
    call <SID>X("VertSplit", "c2bfa5", "7f7f7f", "reverse")
    call <SID>X("Folded", "ffd700", "4d4d4d", "")
    call <SID>X("FoldColumn", "d2b48c", "4d4d4d", "")
    call <SID>X("IncSearch", "708090", "f0e68c", "")
    "LineNr
    call <SID>X("ModeMsg", "daa520", "", "")
    call <SID>X("MoreMsg", "2e8b57", "", "")
    call <SID>X("NonText", "addbe7", "000000", "bold")
    call <SID>X("Question", "00ff7f", "", "")
    call <SID>X("Search", "f5deb3", "cd853f", "")
    call <SID>X("SpecialKey", "9acd32", "", "")
    call <SID>X("StatusLine", "c2bfa5", "000000", "reverse")
    call <SID>X("StatusLineNC", "c2bfa5", "7f7f7f", "reverse")
    call <SID>X("Title", "cd5c5c", "", "")
    call <SID>X("Visual", "6b8e23", "f0e68c", "reverse")
    "VisualNOS
    call <SID>X("WarningMsg", "fa8072", "", "")
    "WildMenu
    "Menu
    "Scrollbar
    "Tooltip

    " syntax highlighting groups
    call <SID>X("Comment", "87ceeb", "", "")
    call <SID>X("Constant", "ffa0a0", "", "")
    call <SID>X("Identifier", "98fb98", "", "none")
    call <SID>X("Statement", "f0e68c", "", "bold")
    call <SID>X("PreProc", "cd5c5c", "", "")
    call <SID>X("Type", "bdb76b", "", "bold")
    call <SID>X("Special", "ffdead", "", "")
    "Underlined
    call <SID>X("Ignore", "666666", "", "")
    "Error
    call <SID>X("Todo", "ff4500", "eeee00", "")

    " delete functions 
    delf <SID>X
    delf <SID>rgb
    delf <SID>color
    delf <SID>rgb_color
    delf <SID>rgb_level
    delf <SID>rgb_number
    delf <SID>grey_color
    delf <SID>grey_level
    delf <SID>grey_number
    " 
else
    " color terminal definitions
    hi SpecialKey    ctermfg=darkgreen
    hi NonText       cterm=bold ctermfg=darkblue
    hi Directory     ctermfg=darkcyan
    hi ErrorMsg      cterm=bold ctermfg=7 ctermbg=1
    hi IncSearch     cterm=NONE ctermfg=yellow ctermbg=green
    hi Search        cterm=NONE ctermfg=grey ctermbg=blue
    hi MoreMsg       ctermfg=darkgreen
    hi ModeMsg       cterm=NONE ctermfg=brown
    hi LineNr        ctermfg=3
    hi Question      ctermfg=green
    hi StatusLine    cterm=bold,reverse
    hi StatusLineNC  cterm=reverse
    hi VertSplit     cterm=reverse
    hi Title         ctermfg=5
    hi Visual        cterm=reverse
    hi VisualNOS     cterm=bold,underline
    hi WarningMsg    ctermfg=1
    hi WildMenu      ctermfg=0 ctermbg=3
    hi Folded        ctermfg=darkgrey ctermbg=NONE
    hi FoldColumn    ctermfg=darkgrey ctermbg=NONE
    hi DiffAdd       ctermbg=4
    hi DiffChange    ctermbg=5
    hi DiffDelete    cterm=bold ctermfg=4 ctermbg=6
    hi DiffText      cterm=bold ctermbg=1
    hi Comment       ctermfg=darkcyan
    hi Constant      ctermfg=brown
    hi Special       ctermfg=5
    hi Identifier    ctermfg=6
    hi Statement     ctermfg=3
    hi PreProc       ctermfg=5
    hi Type          ctermfg=2
    hi Underlined    cterm=underline ctermfg=5
    hi Ignore        ctermfg=darkgrey
    hi Error         cterm=bold ctermfg=7 ctermbg=1
endif

" vim: set fdl=0 fdm=marker:

Added vim/colors/freya.vim.































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
set background=dark

hi clear

if exists("syntax_on")
    syntax reset
endif

let colors_name = "freya"

hi Normal ctermbg=0 ctermfg=7 cterm=none guibg=#2a2a2a guifg=#dcdccc gui=none

hi Cursor guibg=fg guifg=bg gui=none
hi CursorColumn guibg=#3f3f3f gui=none
hi CursorLine guibg=#3f3f3f gui=none
hi DiffAdd guibg=#008b00 guifg=fg gui=none
hi DiffChange guibg=#00008b guifg=fg gui=none
hi DiffDelete guibg=#8b0000 guifg=fg gui=none
hi DiffText guibg=#0000cd guifg=fg gui=bold
hi Directory guibg=bg guifg=#d4b064 gui=none
hi ErrorMsg guibg=bg guifg=#f07070 gui=bold
hi FoldColumn ctermbg=bg guibg=bg guifg=#c2b680 gui=none
hi Folded guibg=#101010 guifg=#c2b680 gui=none
hi IncSearch guibg=#866a4f guifg=fg gui=none
hi LineNr guibg=bg guifg=#9f8f80 gui=none
hi ModeMsg guibg=bg guifg=fg gui=bold
hi MoreMsg guibg=bg guifg=#dabfa5 gui=bold
hi NonText ctermfg=8 guibg=bg guifg=#9f8f80 gui=bold
hi Pmenu guibg=#a78869 guifg=#000000 gui=none
hi PmenuSbar guibg=#B99F86 guifg=fg gui=none
hi PmenuSel guibg=#c0aa94 guifg=bg gui=none
hi PmenuThumb guibg=#f7f7f1 guifg=bg gui=none
hi Question guibg=bg guifg=#dabfa5 gui=bold
hi Search guibg=#c0aa94 guifg=bg gui=none
hi SignColumn ctermbg=bg guibg=bg guifg=#c2b680 gui=none
hi SpecialKey guibg=bg guifg=#d4b064 gui=none
if has("spell")
    hi SpellBad guisp=#f07070 gui=undercurl
    hi SpellCap guisp=#7070f0 gui=undercurl
    hi SpellLocal guisp=#70f0f0 gui=undercurl
    hi SpellRare guisp=#f070f0 gui=undercurl
endif
hi StatusLine ctermbg=7 ctermfg=0 guibg=#736559 guifg=#f7f7f1 gui=bold
hi StatusLineNC ctermbg=8 ctermfg=0 guibg=#564d43 guifg=#f7f7f1 gui=none
hi TabLine guibg=#564d43 guifg=#f7f7f1 gui=underline
hi TabLineFill guibg=#564d43 guifg=#f7f7f1 gui=underline
hi TabLineSel guibg=bg guifg=#f7f7f1 gui=bold
hi Title ctermbg=0 ctermfg=15 guifg=#f7f7f1 gui=bold
hi VertSplit ctermbg=7 ctermfg=0 guibg=#564d43 guifg=#f7f7f1 gui=none
if version >= 700
    hi Visual ctermbg=7 ctermfg=0 guibg=#5f5f5f gui=none
else
    hi Visual ctermbg=7 ctermfg=0 guibg=#5f5f5f guifg=fg gui=none
endif
hi VisualNOS guibg=bg guifg=#c0aa94 gui=bold,underline
hi WarningMsg guibg=bg guifg=#f07070 gui=none
hi WildMenu guibg=#c0aa94 guifg=bg gui=bold

hi Comment guibg=bg guifg=#c2b680 gui=none
hi Constant guibg=bg guifg=#afe091 gui=none
hi Error guibg=bg guifg=#f07070 gui=none
hi Identifier guibg=bg guifg=#dabfa5 gui=none
hi Ignore guibg=bg guifg=bg gui=none
hi lCursor guibg=#c0aa94 guifg=bg gui=none
hi MatchParen guibg=#008b8b gui=none
hi PreProc guibg=bg guifg=#c2aed0 gui=none
hi Special guibg=bg guifg=#d4b064 gui=none
hi Statement guibg=bg guifg=#e0af91 gui=bold
hi Todo guibg=#aed0ae guifg=bg gui=none
hi Type guibg=bg guifg=#dabfa5 gui=bold
hi Underlined guibg=bg guifg=#d4b064 gui=underline

hi htmlBold ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold
hi htmlItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=italic
hi htmlUnderline ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=underline
hi htmlBoldItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,italic
hi htmlBoldUnderline ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,underline
hi htmlBoldUnderlineItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=bold,underline,italic
hi htmlUnderlineItalic ctermbg=0 ctermfg=15 guibg=bg guifg=fg gui=underline,italic

Added vim/colors/fruity.vim.







































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
"
" Fruity Color Scheme
" ===================
"
" Author:   Armin Ronacher <armin.ronacher@active-4.com>
" Version:  0.2
"
set background=dark

hi clear
if exists("syntax_on")
    syntax reset
endif

let colors_name = "fruity"

" Default Colors
hi Normal       guifg=#ffffff   guibg=#111111
hi NonText      guifg=#444444   guibg=#000000
hi Cursor       guibg=#aaaaaa
hi lCursor      guibg=#aaaaaa

" Search
hi Search       guifg=#800000   guibg=#ffae00
hi IncSearch    guifg=#800000   guibg=#ffae00

" Window Elements
hi StatusLine   guifg=#ffffff   guibg=#8090a0   gui=bold
hi StatusLineNC guifg=#506070   guibg=#a0b0c0
hi VertSplit    guifg=#a0b0c0   guibg=#a0b0c0
hi Folded       guifg=#111111   guibg=#8090a0
hi IncSearch    guifg=#708090   guibg=#f0e68c
hi Pmenu        guifg=#ffffff   guibg=#cb2f27
hi SignColumn   guibg=#111111
hi CursorLine   guibg=#181818
hi LineNr       guifg=#aaaaaa   guibg=#222222

" Specials
hi Todo         guifg=#e50808   guibg=#520000   gui=bold
hi Title        guifg=#ffffff                   gui=bold
hi Special      guifg=#fd8900

" Syntax Elements
hi String       guifg=#0086d2
hi Constant     guifg=#0086d2
hi Number       guifg=#0086f7                   gui=bold
hi Statement    guifg=#fb660a                   gui=bold
hi Function     guifg=#ff0086                   gui=bold
hi PreProc      guifg=#ff0007                   gui=bold
hi Comment      guifg=#00d2ff   guibg=#0f140f   gui=italic
hi Type         guifg=#cdcaa9                   gui=bold
hi Error        guifg=#ffffff   guibg=#ab0000
hi Identifier   guifg=#ff0086                   gui=bold
hi Label        guifg=#ff0086

" Python Highlighting for python.vim
hi pythonCoding guifg=#ff0086
hi pythonRun    guifg=#ff0086
hi pythonBuiltinObj     guifg=#2b6ba2           gui=bold
hi pythonBuiltinFunc    guifg=#2b6ba2           gui=bold
hi pythonException      guifg=#ee0000           gui=bold
hi pythonExClass        guifg=#66cd66           gui=bold
hi pythonSpaceError     guibg=#270000
hi pythonDocTest    guifg=#2f5f49
hi pythonDocTest2   guifg=#3b916a
hi pythonFunction   guifg=#ee0000               gui=bold
hi pythonClass      guifg=#ff0086               gui=bold

" JavaScript Highlighting
hi javaScript                   guifg=#ffffff
hi javaScriptRegexpString       guifg=#aa6600
hi javaScriptDocComment         guifg=#aaaaaa
hi javaScriptCssStyles          guifg=#dd7700
hi javaScriptDomElemFuncs       guifg=#66cd66
hi javaScriptHtmlElemFuncs      guifg=#dd7700
hi javaScriptLabel              guifg=#00bdec   gui=italic
hi javaScriptPrototype          guifg=#00bdec
hi javaScriptConditional        guifg=#ff0007   gui=bold
hi javaScriptRepeat             guifg=#ff0007   gui=bold
hi javaScriptFunction           guifg=#ff0086   gui=bold

" CSS Highlighting
hi cssIdentifier            guifg=#66cd66       gui=bold
hi cssBraces                guifg=#00bdec       gui=bold

" Ruby Highlighting
hi rubyFunction     guifg=#0066bb               gui=bold
hi rubyClass        guifg=#ff0086               gui=bold
hi rubyModule       guifg=#ff0086               gui=bold,underline
hi rubyKeyword      guifg=#008800               gui=bold
hi rubySymbol       guifg=#aa6600
hi rubyIndentifier              guifg=#008aff
hi rubyGlobalVariable           guifg=#dd7700
hi rubyConstant                 guifg=#5894d2   gui=bold
hi rubyBlockParameter           guifg=#66cd66
hi rubyPredefinedIdentifier     guifg=#555555   gui=bold
hi rubyString           guifg=#0086d2
hi rubyStringDelimiter  guifg=#dd7700
hi rubySpaceError       guibg=#270000
hi rubyDocumentation    guifg=#aaaaaa
hi rubyData             guifg=#555555

" XML Highlighting
hi xmlTag           guifg=#00bdec
hi xmlTagName       guifg=#00bdec
hi xmlEndTag        guifg=#00bdec
hi xmlNamespace     guifg=#00bdec                   gui=underline
hi xmlAttribPunct   guifg=#cccaa9                   gui=bold
hi xmlEqual         guifg=#cccaa9                   gui=bold
hi xmlCdata         guifg=#bf0945                   gui=bold
hi xmlCdataCdata	guifg=#ac1446   guibg=#23010c   gui=none
hi xmlCdataStart	guifg=#bf0945                   gui=bold
hi xmlCdataEnd		guifg=#bf0945                   gui=bold

" HTML Highlighting
hi htmlTag          guifg=#00bdec               gui=bold
hi htmlEndTag       guifg=#00bdec               gui=bold
hi htmlSpecialTagName   guifg=#66cd66
hi htmlTagName      guifg=#66cd66
hi htmlTagN         guifg=#66cd66
hi htmlEvent        guifg=#ffffff

" Django Highlighting
hi djangoTagBlock   guifg=#ff0007   guibg=#200000   gui=bold
hi djangoVarBlock   guifg=#ff0007   guibg=#200000
hi djangoArgument   guifg=#0086d2   guibg=#200000
hi djangoStatement  guifg=#fb660a   guibg=#200000   gui=bold
hi djangoComment    guifg=#008800   guibg=#002300   gui=italic
hi djangoFilter     guifg=#ff0086   guibg=#200000   gui=italic

" Jinja Highlighting
hi jinjaTagBlock    guifg=#ff0007   guibg=#200000   gui=bold
hi jinjaVarBlock    guifg=#ff0007   guibg=#200000
hi jinjaString      guifg=#0086d2   guibg=#200000
hi jinjaNumber      guifg=#bf0945   guibg=#200000   gui=bold
hi jinjaStatement   guifg=#fb660a   guibg=#200000   gui=bold
hi jinjaComment     guifg=#008800   guibg=#002300   gui=italic
hi jinjaFilter      guifg=#ff0086   guibg=#200000
hi jinjaRaw         guifg=#aaaaaa   guibg=#200000
hi jinjaOperator    guifg=#ffffff   guibg=#200000
hi jinjaVariable    guifg=#92cd35   guibg=#200000
hi jinjaAttribute   guifg=#dd7700   guibg=#200000
hi jinjaSpecial     guifg=#008ffd   guibg=#200000

" ERuby Highlighting (for my eruby.vim)
hi erubyRubyDelim   guifg=#2c8a16                   gui=bold
hi erubyComment     guifg=#4d9b3a                   gui=italic

Added vim/colors/fu.vim.



















































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
" Vim color file
"
"         Name: fu.vim
"      Version: 1.1
"   Maintainer: Aaron Mueller <mail@aaron-mueller.de>
" Contributors: Florian Eitel <feitel@indeedgeek.de>
"               Tinou <tinoucas@gmail.com>
"
" This is a compositon from railscast, mustang and xoria256 with a lot of
" improvemts in the colors. Want to change toe colors to your needs? Go to
" this page to see what number is set wo what color:
" http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html
"
" History:
"   2010-06-09 - Merge changes from Florian Eitel in this file. There was many
"                whitespace issues and some unused highlight settings which are removed
"                now. Also merged Tinous GUI version of the whole colorscheme. Thanks a
"                lot dudes!
"
"   2010-06-09 - Initial setup and creation of this file. Additional colors for
"                Ruby and the diff view are added.
"

if &t_Co != 256 && ! has("gui_running")
  echomsg "err: please use GUI or a 256-color terminal (so that t_Co=256 could be set)"
  finish
endif

set background=dark
hi clear

if exists("syntax_on")
  syntax reset
endif
let colors_name = "fu"


" General colors
hi Normal         ctermfg=252   ctermbg=234                  guifg=#d0d0d0  guibg=#1c1c1c
hi CursorColumn                 ctermbg=238                                 guibg=#444444
hi Cursor                       ctermbg=214                                 guibg=#ffaf00
hi CursorLine                   ctermbg=238                                 guibg=#444444
hi FoldColumn     ctermfg=248   ctermbg=bg                   guifg=#a8a8a8  guibg=#000000
hi Folded         ctermfg=255   ctermbg=60                   guifg=#eeeeee  guibg=#5f5f87
hi IncSearch      ctermfg=0     ctermbg=223                  guifg=#000000  guibg=#ffd7af
hi NonText        ctermfg=248   ctermbg=233   cterm=bold     guifg=#a8a8a8  guibg=#121212
hi Search         ctermfg=0     ctermbg=149                  guifg=#000000  guibg=#afd75f
hi SignColumn     ctermfg=248                                guifg=#a8a8a8
hi SpecialKey     ctermfg=77                                 guifg=#5fd75f
hi StatusLine     ctermfg=232   ctermbg=255                  guifg=#080808  guibg=#eeeeee
hi StatusLineNC   ctermfg=237   ctermbg=253                  guifg=#3a3a3a  guibg=#dadada
hi TabLine        ctermfg=253   ctermbg=237                  guifg=#dadada  guibg=#3a3a3a
hi TabLineFill    ctermfg=0     ctermbg=0                    guifg=#000000  guibg=#000000
hi TabLineSel     ctermfg=255   ctermbg=33                   guifg=#eeeeee  guibg=#0087ff
hi VertSplit      ctermfg=237   ctermbg=237                  guifg=#3a3a3a  guibg=#3a3a3a
hi Visual         ctermfg=24    ctermbg=153                  guifg=#005f87  guibg=#afd7ff
hi VIsualNOS      ctermfg=24    ctermbg=153                  guifg=#005f87  guibg=#afd7ff
hi LineNr         ctermfg=248   ctermbg=232                  guifg=#a8a8a8  guibg=#080808
hi ModeMsg        ctermfg=220                                guifg=#ffd700

hi ErrorMsg       ctermfg=196   ctermbg=52                   guifg=#ff0000  guibg=#5f0000
hi SpellBad       ctermfg=196   ctermbg=52

if version >= 700
  hi CursorLine   ctermbg=236                                               guibg=#303030
  hi CursorColumn ctermbg=236                                               guibg=#303030
  hi MatchParen   ctermfg=157   ctermbg=237   cterm=bold     guifg=#afffaf  guibg=#3a3a3a
  hi Pmenu        ctermfg=255   ctermbg=236                  guifg=#eeeeee  guibg=#303030
  hi PmenuSel     ctermfg=0     ctermbg=74                   guifg=#000000  guibg=#5fafd7
  hi PmenuSbar                  ctermbg=243                                 guibg=#767676
  hi PmenuThumb                 ctermbg=252                                 guibg=#d0d0d0
  hi WildMenu     ctermfg=255   ctermbg=33                   guifg=#eeeeee  guibg=#0087ff
endif

" Syntax highlighting
hi Comment        ctermfg=244                                guifg=#808080

hi Constant       ctermfg=220                 cterm=bold     guifg=#ffd700
hi String         ctermfg=107   ctermbg=233                  guifg=#87af5f  guibg=#121212
hi Character      ctermfg=228   ctermbg=16                   guifg=#ffff87  guibg=#000000
hi Number         ctermfg=214                                guifg=#ffaf00
hi Boolean        ctermfg=148                                guifg=#afd700

hi Identifier     ctermfg=149                                guifg=#afd75f
hi Function       ctermfg=231                                guifg=#ffffff

hi Statement      ctermfg=103                                guifg=#8787af
hi Conditional    ctermfg=105                                guifg=#8787ff
hi Repeat         ctermfg=105                                guifg=#8787ff
hi Label          ctermfg=105                                guifg=#8787ff
hi Operator       ctermfg=243                                guifg=#767676
hi Keyword        ctermfg=190                                guifg=#d7ff00
hi Exception      ctermfg=166   ctermbg=0                    guifg=#d75f00  guibg=#000000

hi PreProc 		    ctermfg=229                                guifg=#ffffaf

hi Type           ctermfg=111                                guifg=#87afff
hi Structure      ctermfg=111   ctermbg=233                  guifg=#87afff  guibg=#121212

hi Special        ctermfg=220                                guifg=#ffd700
hi SpecialComment ctermfg=228   ctermbg=16                   guifg=#ffff87  guibg=#000000

hi Error          ctermfg=196   ctermbg=52                   guifg=#ff0000  guibg=#5f0000
hi Todo           ctermfg=46    ctermbg=22                   guifg=#00ff00  guibg=#005f00

" Diff
hi diffAdd        ctermfg=bg    ctermbg=151                  guifg=#afd787
hi diffDelete     ctermfg=bg    ctermbg=246                  guifg=#d78787
hi diffChange     ctermfg=bg    ctermbg=181                  guifg=#000000  guibg=#afd7af 
hi diffText       ctermfg=bg    ctermbg=174   cterm=bold     guifg=#000000  guibg=#949494

" Ruby
hi rubyBlockParameter        ctermfg=27                      guifg=#005fff
hi rubyClass                 ctermfg=75                      guifg=#5fafff
hi rubyConstant              ctermfg=167                     guifg=#d75f5f
hi rubyInterpolation         ctermfg=107                     guifg=#87af5f
hi rubyLocalVariableOrMethod ctermfg=189                     guifg=#d7d7ff
hi rubyPredefinedConstant    ctermfg=167                     guifg=#d75f5f
hi rubyPseudoVariable        ctermfg=221                     guifg=#ffd75f
hi rubyStringDelimiter       ctermfg=143                     guifg=#afaf5f

Added vim/colors/herald.vim.



































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
" Vim color file
" Name:       herald.vim
" Author:     Fabio Cevasco <h3rald@h3rald.com>
" Version:    0.2.0
" Notes:      Supports 8, 16, 256 and 16,777,216 (RGB) color modes

hi clear

if exists("syntax_on")
	syntax reset
endif

let colors_name = "herald"

set background=dark

" Set some syntax-related variables
let ruby_operators = 1

if has("gui_running")

	" -> Text; Miscellaneous
	hi Normal         guibg=#1F1F1F guifg=#D0D0D0 gui=none
	hi SpecialKey     guibg=#1F1F1F guifg=#E783E9 gui=none
	hi VertSplit      guibg=#1F1F1F guifg=#FFEE68 gui=none
	hi SignColumn     guibg=#1F1F1F guifg=#BF81FA gui=none
	hi NonText        guibg=#1F1F1F guifg=#FC6984 gui=none
	hi Directory      guibg=#1F1F1F guifg=#FFEE68 gui=none 
	hi Title          guibg=#1F1F1F guifg=#6DF584 gui=bold

	" -> Cursor 
	hi Cursor         guibg=#FFEE68 guifg=#1F1F1F gui=none
	hi CursorIM       guibg=#FFEE68 guifg=#1F1F1F gui=none
	hi CursorColumn   guibg=#000000               gui=none
	hi CursorLine     guibg=#000000               gui=none

	" -> Folding
	hi FoldColumn     guibg=#001336 guifg=#003DAD gui=none
	hi Folded         guibg=#001336 guifg=#003DAD gui=none

	" -> Line info  
	hi LineNr         guibg=#000000 guifg=#696567 gui=none
	hi StatusLine     guibg=#000000 guifg=#696567 gui=none
	hi StatusLineNC   guibg=#25365a guifg=#696567 gui=none

	" -> Messages
	hi ErrorMsg       guibg=#A32024 guifg=#D0D0D0 gui=none
	hi Question       guibg=#1F1F1F guifg=#FFA500 gui=none
	hi WarningMsg     guibg=#FFA500 guifg=#000000 gui=none
	hi MoreMsg        guibg=#1F1F1F guifg=#FFA500 gui=none
	hi ModeMsg        guibg=#1F1F1F guifg=#FFA500 gui=none

	" -> Search 
	hi Search         guibg=#696567 guifg=#FFEE68 gui=none 
	hi IncSearch      guibg=#696567 guifg=#FFEE68 gui=none

	" -> Diff
	hi DiffAdd        guibg=#006124 guifg=#ED9000 gui=none
	hi DiffChange     guibg=#0B294A guifg=#A36000 gui=none
	hi DiffDelete     guibg=#081F38 guifg=#ED9000 gui=none
	hi DiffText       guibg=#12457D guifg=#ED9000 gui=underline

	" -> Menu
	hi Pmenu          guibg=#140100 guifg=#660300 gui=none
	hi PmenuSel       guibg=#F17A00 guifg=#4C0200 gui=none
	hi PmenuSbar      guibg=#430300               gui=none
	hi PmenuThumb     guibg=#720300               gui=none
	hi PmenuSel       guibg=#F17A00 guifg=#4C0200 gui=none

	" -> Tabs
	hi TabLine        guibg=#141414 guifg=#1F1F1F gui=none
	hi TabLineFill    guibg=#000000               gui=none
	hi TabLineSel     guibg=#1F1F1F guifg=#D0D0D0 gui=bold  
	"
	" -> Visual Mode
	hi Visual         guibg=#000000 guifg=#FFB539 gui=none
	hi VisualNOS      guibg=#000000 guifg=#696567 gui=none

	" -> Code
	hi Comment        guibg=#1F1F1F guifg=#696567 gui=none
	hi Constant       guibg=#1F1F1F guifg=#6DF584 gui=none
	hi String         guibg=#1F1F1F guifg=#FFB539 gui=none
	hi Error          guibg=#1F1F1F guifg=#FC4234 gui=none
	hi Identifier     guibg=#1F1F1F guifg=#70BDF1 gui=none
	hi Function       guibg=#1F1F1F guifg=#90CBF1 gui=none
	hi Ignore         guibg=#1F1F1F guifg=#1F1F1F gui=none
	hi MatchParen     guibg=#FFA500 guifg=#1F1F1F gui=none
	hi PreProc        guibg=#1F1F1F guifg=#BF81FA gui=none
	hi Special        guibg=#1F1F1F guifg=#FFEE68 gui=none
	hi Todo           guibg=#1F1F1F guifg=#FC4234 gui=bold
	hi Underlined     guibg=#1F1F1F guifg=#FC4234 gui=underline
	hi Statement      guibg=#1F1F1F guifg=#E783E9 gui=none
	hi Operator       guibg=#1F1F1F guifg=#FC6984 gui=none
	hi Delimiter      guibg=#1F1F1F guifg=#FC6984 gui=none
	hi Type           guibg=#1F1F1F guifg=#FFEE68 gui=none
	hi Exception      guibg=#1F1F1F guifg=#FC4234 gui=none

	" -> HTML-specific
	hi htmlBold                 guibg=#1F1F1F guifg=#D0D0D0 gui=bold
	hi htmlBoldItalic           guibg=#1F1F1F guifg=#D0D0D0 gui=bold,italic
	hi htmlBoldUnderline        guibg=#1F1F1F guifg=#D0D0D0 gui=bold,underline
	hi htmlBoldUnderlineItalic  guibg=#1F1F1F guifg=#D0D0D0 gui=bold,underline,italic
	hi htmlItalic               guibg=#1F1F1F guifg=#D0D0D0 gui=italic
	hi htmlUnderline            guibg=#1F1F1F guifg=#D0D0D0 gui=underline
	hi htmlUnderlineItalic      guibg=#1F1F1F guifg=#D0D0D0 gui=underline,italic

elseif &t_Co == 256

	" -> Text; Miscellaneous
	hi Normal         ctermbg=234  ctermfg=252   cterm=none
	hi SpecialKey     ctermbg=234  ctermfg=176   cterm=none
	hi VertSplit      ctermbg=234  ctermfg=227   cterm=none
	hi SignColumn     ctermbg=234  ctermfg=141   cterm=none
	hi NonText        ctermbg=234  ctermfg=204   cterm=none
	hi Directory      ctermbg=234  ctermfg=227   cterm=none 
	hi Title          ctermbg=234  ctermfg=84    cterm=bold

	" -> Cursor 
	hi Cursor         ctermbg=227  ctermfg=234   cterm=none
	hi CursorIM       ctermbg=227  ctermfg=234   cterm=none
	hi CursorColumn   ctermbg=0                  cterm=none
	hi CursorLine     ctermbg=0                  cterm=none

	" -> Folding
	hi FoldColumn     ctermbg=234  ctermfg=25    cterm=none
	hi Folded         ctermbg=234  ctermfg=25    cterm=none

	" -> Line info  
	hi LineNr         ctermbg=0    ctermfg=241   cterm=none
	hi StatusLine     ctermbg=0    ctermfg=241   cterm=none
	hi StatusLineNC   ctermbg=237  ctermfg=241   cterm=none

	" -> Messages
	hi ErrorMsg       ctermbg=124  ctermfg=252   cterm=none
	hi Question       ctermbg=234  ctermfg=214   cterm=none
	hi WarningMsg     ctermbg=214  ctermfg=0     cterm=none
	hi MoreMsg        ctermbg=234  ctermfg=214   cterm=none
	hi ModeMsg        ctermbg=234  ctermfg=214   cterm=none

	" -> Search 
	hi Search         ctermbg=241  ctermfg=227   cterm=none 
	hi IncSearch      ctermbg=241  ctermfg=227   cterm=none

	" -> Diff
	hi DiffAdd        ctermbg=22   ctermfg=208   cterm=none
	hi DiffChange     ctermbg=235  ctermfg=130   cterm=none
	hi DiffDelete     ctermbg=234  ctermfg=208   cterm=none
	hi DiffText       ctermbg=24   ctermfg=208   cterm=underline

	" -> Menu
	hi Pmenu          ctermbg=0    ctermfg=52    cterm=none
	hi PmenuSel       ctermbg=208  ctermfg=52    cterm=none
	hi PmenuSbar      ctermbg=52                 cterm=none
	hi PmenuThumb     ctermbg=52                 cterm=none
	hi PmenuSel       ctermbg=208  ctermfg=52    cterm=none

	" -> Tabs
	hi TabLine        ctermbg=233  ctermfg=234   cterm=none
	hi TabLineFill    ctermbg=0                  cterm=none
	hi TabLineSel     ctermbg=234  ctermfg=252   cterm=bold 
	"
	" -> Visual Mode
	hi Visual         ctermbg=0    ctermfg=215   cterm=none 
	hi VisualNOS      ctermbg=0    ctermfg=241   cterm=none

	" -> Code
	hi Comment        ctermbg=234  ctermfg=241   cterm=none
	hi Constant       ctermbg=234  ctermfg=84    cterm=none
	hi String         ctermbg=234  ctermfg=215   cterm=none
	hi Error          ctermbg=234  ctermfg=203   cterm=none
	hi Identifier     ctermbg=234  ctermfg=75    cterm=none
	hi Function       ctermbg=234  ctermfg=117   cterm=none
	hi Ignore         ctermbg=234  ctermfg=234   cterm=none
	hi MatchParen     ctermbg=214  ctermfg=234   cterm=none
	hi PreProc        ctermbg=234  ctermfg=141   cterm=none
	hi Special        ctermbg=234  ctermfg=227   cterm=none
	hi Todo           ctermbg=234  ctermfg=203   cterm=bold
	hi Underlined     ctermbg=234  ctermfg=203   cterm=underline
	hi Statement      ctermbg=234  ctermfg=176   cterm=none
	hi Operator       ctermbg=234  ctermfg=204   cterm=none
	hi Delimiter      ctermbg=234  ctermfg=204   cterm=none
	hi Type           ctermbg=234  ctermfg=227   cterm=none
	hi Exception      ctermbg=234  ctermfg=203   cterm=none 

	" -> HTML-specific
	hi htmlBold                 ctermbg=234  ctermfg=252   cterm=bold
	hi htmlBoldItalic           ctermbg=234  ctermfg=252   cterm=bold,italic
	hi htmlBoldUnderline        ctermbg=234  ctermfg=252   cterm=bold,underline
	hi htmlBoldUnderlineItalic  ctermbg=234  ctermfg=252   cterm=bold,underline,italic
	hi htmlItalic               ctermbg=234  ctermfg=252   cterm=italic
	hi htmlUnderline            ctermbg=234  ctermfg=252   cterm=underline
	hi htmlUnderlineItalic      ctermbg=234  ctermfg=252   cterm=underline,italic

elseif &t_Co == 16

	" -> Text; Miscellaneous
	hi Normal         ctermbg=8  ctermfg=15 cterm=none
	hi SpecialKey     ctermbg=8  ctermfg=5  cterm=none
	hi VertSplit      ctermbg=8  ctermfg=14  cterm=none
	hi SignColumn     ctermbg=8  ctermfg=5  cterm=none
  hi NonText        ctermbg=8  ctermfg=4  cterm=none
  hi Directory      ctermbg=8  ctermfg=14  cterm=none 
  hi Title          ctermbg=8  ctermfg=10 cterm=bold

  " -> Cursor 
  hi Cursor         ctermbg=14 ctermfg=8  cterm=none
  hi CursorIM       ctermbg=14 ctermfg=8  cterm=none
  hi CursorColumn   ctermbg=0            cterm=none
  hi CursorLine     ctermbg=0            cterm=none

  " -> Folding
  hi FoldColumn     ctermbg=0  ctermfg=1  cterm=none
  hi Folded         ctermbg=0  ctermfg=1  cterm=none

  " -> Line info  
  hi LineNr         ctermbg=0  ctermfg=7  cterm=none
  hi StatusLine     ctermbg=0  ctermfg=7  cterm=none
  hi StatusLineNC   ctermbg=0  ctermfg=7  cterm=none

  " -> Messages
  hi ErrorMsg       ctermbg=4  ctermfg=7  cterm=none
  hi Question       ctermbg=8  ctermfg=14 cterm=none
  hi WarningMsg     ctermbg=14 ctermfg=0  cterm=none
  hi MoreMsg        ctermbg=8  ctermfg=14 cterm=none
  hi ModeMsg        ctermbg=8  ctermfg=14 cterm=none

  " -> Search 
  hi Search         ctermbg=7  ctermfg=14 cterm=none 
  hi IncSearch      ctermbg=7  ctermfg=14 cterm=none

  " -> Diff
  hi DiffAdd        ctermbg=0  ctermfg=10 cterm=none
  hi DiffChange     ctermbg=0  ctermfg=14 cterm=none
  hi DiffDelete     ctermbg=0  ctermfg=12 cterm=none
  hi DiffText       ctermbg=1  ctermfg=14 cterm=underline

  " -> Menu
  hi Pmenu          ctermbg=0  ctermfg=4  cterm=none
  hi PmenuSel       ctermbg=14 ctermfg=4  cterm=none
  hi PmenuSbar      ctermbg=0             cterm=none
  hi PmenuThumb     ctermbg=4             cterm=none
  hi PmenuSel       ctermbg=14 ctermfg=4  cterm=none

  " -> Tabs
  hi TabLine        ctermbg=7  ctermfg=8  cterm=none
  hi TabLineFill    ctermbg=0             cterm=none
  hi TabLineSel     ctermbg=8  ctermfg=7  cterm=bold  
  "
  " -> Visual Mode
  hi Visual         ctermbg=0  ctermfg=14 cterm=none
  hi VisualNOS      ctermbg=0  ctermfg=7  cterm=none

  " -> Code
  hi Comment        ctermbg=8  ctermfg=7  cterm=none
  hi Constant       ctermbg=8  ctermfg=10 cterm=none
  hi String         ctermbg=8  ctermfg=6  cterm=none
  hi Error          ctermbg=8  ctermfg=4  cterm=none
  hi Identifier     ctermbg=8  ctermfg=11 cterm=none
  hi Function       ctermbg=8  ctermfg=11 cterm=none
  hi Ignore         ctermbg=8  ctermfg=8  cterm=none
  hi MatchParen     ctermbg=14 ctermfg=8  cterm=none
  hi PreProc        ctermbg=8  ctermfg=5  cterm=none
  hi Special        ctermbg=8  ctermfg=14 cterm=none
  hi Todo           ctermbg=8  ctermfg=12 cterm=bold
  hi Underlined     ctermbg=8  ctermfg=12 cterm=underline
  hi Statement      ctermbg=8  ctermfg=13 cterm=none
  hi Operator       ctermbg=8  ctermfg=4  cterm=none
  hi Delimiter      ctermbg=8  ctermfg=4 cterm=none
  hi Type           ctermbg=8  ctermfg=14 cterm=none
  hi Exception      ctermbg=8  ctermfg=12 cterm=none

  " -> HTML-specific
  hi htmlBold                  ctermbg=8 ctermfg=7 cterm=bold
  hi htmlBoldItalic            ctermbg=8 ctermfg=7 cterm=bold,italic
  hi htmlBoldUnderline         ctermbg=8 ctermfg=7 cterm=bold,underline
  hi htmlBoldUnderlineItalic   ctermbg=8 ctermfg=7 cterm=bold,underline,italic
  hi htmlItalic                ctermbg=8 ctermfg=7 cterm=italic
  hi htmlUnderline             ctermbg=8 ctermfg=7 cterm=underline
  hi htmlUnderlineItalic       ctermbg=8 ctermfg=7 cterm=underline,italic


elseif &t_Co == 8

	" -> Text; Miscellaneous
	hi Normal         ctermbg=8  ctermfg=7  cterm=none
	hi SpecialKey     ctermbg=8  ctermfg=5  cterm=none
	hi VertSplit      ctermbg=8  ctermfg=6  cterm=none
	hi SignColumn     ctermbg=8  ctermfg=5  cterm=none
  hi NonText        ctermbg=8  ctermfg=4  cterm=none
  hi Directory      ctermbg=8  ctermfg=6  cterm=none 
  hi Title          ctermbg=8  ctermfg=2  cterm=bold

  " -> Cursor 
  hi Cursor         ctermbg=6  ctermfg=8  cterm=none
  hi CursorIM       ctermbg=6  ctermfg=8  cterm=none
  hi CursorColumn   ctermbg=0             cterm=none
  hi CursorLine     ctermbg=0             cterm=none

  " -> Folding
  hi FoldColumn     ctermbg=0  ctermfg=1  cterm=none
  hi Folded         ctermbg=0  ctermfg=1  cterm=none

  " -> Line info  
  hi LineNr         ctermbg=0  ctermfg=7  cterm=none
  hi StatusLine     ctermbg=0  ctermfg=7  cterm=none
  hi StatusLineNC   ctermbg=0  ctermfg=7  cterm=none

  " -> Messages
  hi ErrorMsg       ctermbg=4  ctermfg=7  cterm=none
  hi Question       ctermbg=8  ctermfg=6  cterm=none
  hi WarningMsg     ctermbg=6  ctermfg=0  cterm=none
  hi MoreMsg        ctermbg=8  ctermfg=6  cterm=none
  hi ModeMsg        ctermbg=8  ctermfg=6  cterm=none

  " -> Search 
  hi Search         ctermbg=7  ctermfg=6  cterm=none 
  hi IncSearch      ctermbg=7  ctermfg=6  cterm=none

  " -> Diff
  hi DiffAdd        ctermbg=0  ctermfg=2  cterm=none
  hi DiffChange     ctermbg=0  ctermfg=6  cterm=none
  hi DiffDelete     ctermbg=0  ctermfg=4  cterm=none
  hi DiffText       ctermbg=1  ctermfg=6  cterm=underline

  " -> Menu
  hi Pmenu          ctermbg=0  ctermfg=4  cterm=none
  hi PmenuSel       ctermbg=6  ctermfg=4  cterm=none
  hi PmenuSbar      ctermbg=0             cterm=none
  hi PmenuThumb     ctermbg=4             cterm=none
  hi PmenuSel       ctermbg=6  ctermfg=4  cterm=none

  " -> Tabs
  hi TabLine        ctermbg=7  ctermfg=8  cterm=none
  hi TabLineFill    ctermbg=0             cterm=none
  hi TabLineSel     ctermbg=8  ctermfg=7  cterm=bold  
  "
  " -> Visual Mode
  hi Visual         ctermbg=0  ctermfg=6 cterm=none
  hi VisualNOS      ctermbg=0  ctermfg=7  cterm=none

  " -> Code
  hi Comment        ctermbg=8  ctermfg=7  cterm=none
  hi Constant       ctermbg=8  ctermfg=2 cterm=none
  hi String         ctermbg=8  ctermfg=6  cterm=none
  hi Error          ctermbg=8  ctermfg=4  cterm=none
  hi Identifier     ctermbg=8  ctermfg=3 cterm=none
  hi Function       ctermbg=8  ctermfg=3 cterm=none
  hi Ignore         ctermbg=8  ctermfg=8  cterm=none
  hi MatchParen     ctermbg=6  ctermfg=8  cterm=none
  hi PreProc        ctermbg=8  ctermfg=5  cterm=none
  hi Special        ctermbg=8  ctermfg=6 cterm=none
  hi Todo           ctermbg=8  ctermfg=4 cterm=bold
  hi Underlined     ctermbg=8  ctermfg=4 cterm=underline
  hi Statement      ctermbg=8  ctermfg=5 cterm=none
  hi Operator       ctermbg=8  ctermfg=4  cterm=none
  hi Delimiter      ctermbg=8  ctermfg=4 cterm=none
  hi Type           ctermbg=8  ctermfg=6 cterm=none
  hi Exception      ctermbg=8  ctermfg=4 cterm=none

  " -> HTML-specific
  hi htmlBold                  ctermbg=8 ctermfg=7 cterm=bold
  hi htmlBoldItalic            ctermbg=8 ctermfg=7 cterm=bold,italic
  hi htmlBoldUnderline         ctermbg=8 ctermfg=7 cterm=bold,underline
  hi htmlBoldUnderlineItalic   ctermbg=8 ctermfg=7 cterm=bold,underline,italic
  hi htmlItalic                ctermbg=8 ctermfg=7 cterm=italic
  hi htmlUnderline             ctermbg=8 ctermfg=7 cterm=underline
  hi htmlUnderlineItalic       ctermbg=8 ctermfg=7 cterm=underline,italic

endif

hi! default link bbcodeBold htmlBold
hi! default link bbcodeBoldItalic htmlBoldItalic
hi! default link bbcodeBoldItalicUnderline htmlBoldUnderlineItalic
hi! default link bbcodeBoldUnderline htmlBoldUnderline
hi! default link bbcodeItalic htmlItalic
hi! default link bbcodeItalicUnderline htmlUnderlineItalic
hi! default link bbcodeUnderline htmlUnderline

" Spellcheck formatting
if has("spell")
	hi SpellBad   guisp=#FC4234 gui=undercurl
	hi SpellCap   guisp=#70BDF1 gui=undercurl
	hi SpellLocal guisp=#FFEE68 gui=undercurl
	hi SpellRare  guisp=#6DF584 gui=undercurl
endif

Added vim/colors/inkpot.vim.

























































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
" Vim color file
" Name:       inkpot.vim
" Maintainer: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
" Homepage:   http://github.com/ciaranm/inkpot/
"
" This should work in the GUI, rxvt-unicode (88 colour mode) and xterm (256
" colour mode). It won't work in 8/16 colour terminals.
"
" To use a black background, :let g:inkpot_black_background = 1

set background=dark
hi clear
if exists("syntax_on")
   syntax reset
endif

let colors_name = "inkpot"

" map a urxvt cube number to an xterm-256 cube number
fun! <SID>M(a)
    return strpart("0135", a:a, 1) + 0
endfun

" map a urxvt colour to an xterm-256 colour
fun! <SID>X(a)
    if &t_Co == 88
        return a:a
    else
        if a:a == 8
            return 237
        elseif a:a < 16
            return a:a
        elseif a:a > 79
            return 232 + (3 * (a:a - 80))
        else
            let l:b = a:a - 16
            let l:x = l:b % 4
            let l:y = (l:b / 4) % 4
            let l:z = (l:b / 16)
            return 16 + <SID>M(l:x) + (6 * <SID>M(l:y)) + (36 * <SID>M(l:z))
        endif
    endif
endfun

if ! exists("g:inkpot_black_background")
    let g:inkpot_black_background = 0
endif

if has("gui_running")
    if ! g:inkpot_black_background
        hi Normal         gui=NONE   guifg=#cfbfad   guibg=#1e1e27
    else
        hi Normal         gui=NONE   guifg=#cfbfad   guibg=#000000
    endif

    hi CursorLine         guibg=#2e2e37

    hi IncSearch      gui=BOLD   guifg=#303030   guibg=#cd8b60
    hi Search         gui=NONE   guifg=#303030   guibg=#ad7b57
    hi ErrorMsg       gui=BOLD   guifg=#ffffff   guibg=#ce4e4e
    hi WarningMsg     gui=BOLD   guifg=#ffffff   guibg=#ce8e4e
    hi ModeMsg        gui=BOLD   guifg=#7e7eae   guibg=NONE
    hi MoreMsg        gui=BOLD   guifg=#7e7eae   guibg=NONE
    hi Question       gui=BOLD   guifg=#ffcd00   guibg=NONE

    hi StatusLine     gui=BOLD   guifg=#b9b9b9   guibg=#3e3e5e
    hi User1          gui=BOLD   guifg=#00ff8b   guibg=#3e3e5e
    hi User2          gui=BOLD   guifg=#7070a0   guibg=#3e3e5e
    hi StatusLineNC   gui=NONE   guifg=#b9b9b9   guibg=#3e3e5e
    hi VertSplit      gui=NONE   guifg=#b9b9b9   guibg=#3e3e5e

    hi WildMenu       gui=BOLD   guifg=#eeeeee   guibg=#6e6eaf

    hi MBENormal                 guifg=#cfbfad   guibg=#2e2e3f
    hi MBEChanged                guifg=#eeeeee   guibg=#2e2e3f
    hi MBEVisibleNormal          guifg=#cfcfcd   guibg=#4e4e8f
    hi MBEVisibleChanged         guifg=#eeeeee   guibg=#4e4e8f

    hi DiffText       gui=NONE   guifg=#ffffcd   guibg=#4a2a4a
    hi DiffChange     gui=NONE   guifg=#ffffcd   guibg=#306b8f
    hi DiffDelete     gui=NONE   guifg=#ffffcd   guibg=#6d3030
    hi DiffAdd        gui=NONE   guifg=#ffffcd   guibg=#306d30

    hi Cursor         gui=NONE   guifg=#404040   guibg=#8b8bff
    hi lCursor        gui=NONE   guifg=#404040   guibg=#8fff8b
    hi CursorIM       gui=NONE   guifg=#404040   guibg=#8b8bff

    hi Folded         gui=NONE   guifg=#cfcfcd   guibg=#4b208f
    hi FoldColumn     gui=NONE   guifg=#8b8bcd   guibg=#2e2e2e

    hi Directory      gui=NONE   guifg=#00ff8b   guibg=NONE
    hi LineNr         gui=NONE   guifg=#8b8bcd   guibg=#2e2e2e
    hi NonText        gui=BOLD   guifg=#8b8bcd   guibg=NONE
    hi SpecialKey     gui=BOLD   guifg=#ab60ed   guibg=NONE
    hi Title          gui=BOLD   guifg=#af4f4b   guibg=NONE
    hi Visual         gui=NONE   guifg=#eeeeee   guibg=#4e4e8f

    hi Comment        gui=NONE   guifg=#cd8b00   guibg=NONE
    hi Constant       gui=NONE   guifg=#ffcd8b   guibg=NONE
    hi String         gui=NONE   guifg=#ffcd8b   guibg=#404040
    hi Error          gui=NONE   guifg=#ffffff   guibg=#6e2e2e
    hi Identifier     gui=NONE   guifg=#ff8bff   guibg=NONE
    hi Ignore         gui=NONE
    hi Number         gui=NONE   guifg=#f0ad6d   guibg=NONE
    hi PreProc        gui=NONE   guifg=#409090   guibg=NONE
    hi Special        gui=NONE   guifg=#c080d0   guibg=NONE
    hi SpecialChar    gui=NONE   guifg=#c080d0   guibg=#404040
    hi Statement      gui=NONE   guifg=#808bed   guibg=NONE
    hi Todo           gui=BOLD   guifg=#303030   guibg=#d0a060
    hi Type           gui=NONE   guifg=#ff8bff   guibg=NONE
    hi Underlined     gui=BOLD   guifg=#df9f2d   guibg=NONE
    hi TaglistTagName gui=BOLD   guifg=#808bed   guibg=NONE

    hi perlSpecialMatch   gui=NONE guifg=#c080d0   guibg=#404040
    hi perlSpecialString  gui=NONE guifg=#c080d0   guibg=#404040

    hi cSpecialCharacter  gui=NONE guifg=#c080d0   guibg=#404040
    hi cFormat            gui=NONE guifg=#c080d0   guibg=#404040

    hi doxygenBrief                 gui=NONE guifg=#fdab60   guibg=NONE
    hi doxygenParam                 gui=NONE guifg=#fdd090   guibg=NONE
    hi doxygenPrev                  gui=NONE guifg=#fdd090   guibg=NONE
    hi doxygenSmallSpecial          gui=NONE guifg=#fdd090   guibg=NONE
    hi doxygenSpecial               gui=NONE guifg=#fdd090   guibg=NONE
    hi doxygenComment               gui=NONE guifg=#ad7b20   guibg=NONE
    hi doxygenSpecial               gui=NONE guifg=#fdab60   guibg=NONE
    hi doxygenSpecialMultilineDesc  gui=NONE guifg=#ad600b   guibg=NONE
    hi doxygenSpecialOnelineDesc    gui=NONE guifg=#ad600b   guibg=NONE

    if v:version >= 700
        hi Pmenu          gui=NONE   guifg=#eeeeee   guibg=#4e4e8f
        hi PmenuSel       gui=BOLD   guifg=#eeeeee   guibg=#2e2e3f
        hi PmenuSbar      gui=BOLD   guifg=#eeeeee   guibg=#6e6eaf
        hi PmenuThumb     gui=BOLD   guifg=#eeeeee   guibg=#6e6eaf

        hi SpellBad     gui=undercurl guisp=#cc6666
        hi SpellRare    gui=undercurl guisp=#cc66cc
        hi SpellLocal   gui=undercurl guisp=#cccc66
        hi SpellCap     gui=undercurl guisp=#66cccc

        hi MatchParen   gui=NONE      guifg=#cfbfad   guibg=#4e4e8f
    endif
else
    if ! g:inkpot_black_background
        exec "hi Normal         cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(80)
    else
        exec "hi Normal         cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(16)
    endif

    exec "hi IncSearch      cterm=BOLD   ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(73)
    exec "hi Search         cterm=NONE   ctermfg=" . <SID>X(80) . " ctermbg=" . <SID>X(52)
    exec "hi ErrorMsg       cterm=BOLD   ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(48)
    exec "hi WarningMsg     cterm=BOLD   ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(68)
    exec "hi ModeMsg        cterm=BOLD   ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
    exec "hi MoreMsg        cterm=BOLD   ctermfg=" . <SID>X(38) . " ctermbg=" . "NONE"
    exec "hi Question       cterm=BOLD   ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"

    exec "hi StatusLine     cterm=BOLD   ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
    exec "hi User1          cterm=BOLD   ctermfg=" . <SID>X(28) . " ctermbg=" . <SID>X(81)
    exec "hi User2          cterm=BOLD   ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(81)
    exec "hi StatusLineNC   cterm=NONE   ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)
    exec "hi VertSplit      cterm=NONE   ctermfg=" . <SID>X(84) . " ctermbg=" . <SID>X(81)

    exec "hi WildMenu       cterm=BOLD   ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)

    exec "hi MBENormal                   ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(81)
    exec "hi MBEChanged                  ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(81)
    exec "hi MBEVisibleNormal            ctermfg=" . <SID>X(85) . " ctermbg=" . <SID>X(82)
    exec "hi MBEVisibleChanged           ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)

    exec "hi DiffText       cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(34)
    exec "hi DiffChange     cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(17)
    exec "hi DiffDelete     cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
    exec "hi DiffAdd        cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(20)

    exec "hi Folded         cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(35)
    exec "hi FoldColumn     cterm=NONE   ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)

    exec "hi Directory      cterm=NONE   ctermfg=" . <SID>X(28) . " ctermbg=" . "NONE"
    exec "hi LineNr         cterm=NONE   ctermfg=" . <SID>X(39) . " ctermbg=" . <SID>X(80)
    exec "hi NonText        cterm=BOLD   ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"
    exec "hi SpecialKey     cterm=BOLD   ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
    exec "hi Title          cterm=BOLD   ctermfg=" . <SID>X(48) . " ctermbg=" . "NONE"
    exec "hi Visual         cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(38)

    exec "hi Comment        cterm=NONE   ctermfg=" . <SID>X(52) . " ctermbg=" . "NONE"
    exec "hi Constant       cterm=NONE   ctermfg=" . <SID>X(73) . " ctermbg=" . "NONE"
    exec "hi String         cterm=NONE   ctermfg=" . <SID>X(73) . " ctermbg=" . <SID>X(81)
    exec "hi Error          cterm=NONE   ctermfg=" . <SID>X(79) . " ctermbg=" . <SID>X(32)
    exec "hi Identifier     cterm=NONE   ctermfg=" . <SID>X(53) . " ctermbg=" . "NONE"
    exec "hi Ignore         cterm=NONE"
    exec "hi Number         cterm=NONE   ctermfg=" . <SID>X(69) . " ctermbg=" . "NONE"
    exec "hi PreProc        cterm=NONE   ctermfg=" . <SID>X(25) . " ctermbg=" . "NONE"
    exec "hi Special        cterm=NONE   ctermfg=" . <SID>X(55) . " ctermbg=" . "NONE"
    exec "hi SpecialChar    cterm=NONE   ctermfg=" . <SID>X(55) . " ctermbg=" . <SID>X(81)
    exec "hi Statement      cterm=NONE   ctermfg=" . <SID>X(27) . " ctermbg=" . "NONE"
    exec "hi Todo           cterm=BOLD   ctermfg=" . <SID>X(16) . " ctermbg=" . <SID>X(57)
    exec "hi Type           cterm=NONE   ctermfg=" . <SID>X(71) . " ctermbg=" . "NONE"
    exec "hi Underlined     cterm=BOLD   ctermfg=" . <SID>X(77) . " ctermbg=" . "NONE"
    exec "hi TaglistTagName cterm=BOLD   ctermfg=" . <SID>X(39) . " ctermbg=" . "NONE"

    if v:version >= 700
        exec "hi Pmenu          cterm=NONE   ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(82)
        exec "hi PmenuSel       cterm=BOLD   ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(38)
        exec "hi PmenuSbar      cterm=BOLD   ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)
        exec "hi PmenuThumb     cterm=BOLD   ctermfg=" . <SID>X(87) . " ctermbg=" . <SID>X(39)

        exec "hi SpellBad       cterm=NONE ctermbg=" . <SID>X(32)
        exec "hi SpellRare      cterm=NONE ctermbg=" . <SID>X(33)
        exec "hi SpellLocal     cterm=NONE ctermbg=" . <SID>X(36)
        exec "hi SpellCap       cterm=NONE ctermbg=" . <SID>X(21)
        exec "hi MatchParen     cterm=NONE ctermbg=" . <SID>X(14) . "ctermfg=" . <SID>X(25)
    endif
endif

hi! link diffAdded      PreProc
hi! link diffRemoved    Identifier
hi! link diffChanged    Special

" vim: set et :

Added vim/colors/jellybeans.vim.





















































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
" Vim color file
"
"  "    __       _ _       _                             "
"  "    \ \  ___| | |_   _| |__   ___  __ _ _ __  ___    "
"  "     \ \/ _ \ | | | | |  _ \ / _ \/ _  |  _ \/ __|   "
"  "  /\_/ /  __/ | | |_| | |_| |  __/ |_| | | | \__ \   "
"  "  \___/ \___|_|_|\__  |____/ \___|\____|_| |_|___/   "
"  "                 \___/                               "
"
"         "A colorful, dark color scheme for Vim."
"
" File:         jellybeans.vim
" Maintainer:   NanoTech <http://nanotech.nanotechcorp.net/>
" Version:      1.4
" Last Change:  April 11th, 2011
" Contributors: Daniel Herbert <http://pocket-ninja.com>,
"               Henry So, Jr. <henryso@panix.com>,
"               David Liang <bmdavll at gmail dot com>
"
" Copyright (c) 2009-2011 NanoTech
"
" Permission is hereby granted, free of charge, to any person obtaining a copy
" of this software and associated documentation files (the "Software"), to deal
" in the Software without restriction, including without limitation the rights
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
" copies of the Software, and to permit persons to whom the Software is
" furnished to do so, subject to the following conditions:
"
" The above copyright notice and this permission notice shall be included in
" all copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
" THE SOFTWARE.

set background=dark

hi clear

if exists("syntax_on")
  syntax reset
endif

let colors_name = "jellybeans"

if has("gui_running") || &t_Co == 88 || &t_Co == 256
  let s:low_color = 0
else
  let s:low_color = 1
endif

" Color approximation functions by Henry So, Jr. and David Liang {{{
" Added to jellybeans.vim by Daniel Herbert

" returns an approximate grey index for the given grey level
fun! s:grey_number(x)
  if &t_Co == 88
    if a:x < 23
      return 0
    elseif a:x < 69
      return 1
    elseif a:x < 103
      return 2
    elseif a:x < 127
      return 3
    elseif a:x < 150
      return 4
    elseif a:x < 173
      return 5
    elseif a:x < 196
      return 6
    elseif a:x < 219
      return 7
    elseif a:x < 243
      return 8
    else
      return 9
    endif
  else
    if a:x < 14
      return 0
    else
      let l:n = (a:x - 8) / 10
      let l:m = (a:x - 8) % 10
      if l:m < 5
        return l:n
      else
        return l:n + 1
      endif
    endif
  endif
endfun

" returns the actual grey level represented by the grey index
fun! s:grey_level(n)
  if &t_Co == 88
    if a:n == 0
      return 0
    elseif a:n == 1
      return 46
    elseif a:n == 2
      return 92
    elseif a:n == 3
      return 115
    elseif a:n == 4
      return 139
    elseif a:n == 5
      return 162
    elseif a:n == 6
      return 185
    elseif a:n == 7
      return 208
    elseif a:n == 8
      return 231
    else
      return 255
    endif
  else
    if a:n == 0
      return 0
    else
      return 8 + (a:n * 10)
    endif
  endif
endfun

" returns the palette index for the given grey index
fun! s:grey_color(n)
  if &t_Co == 88
    if a:n == 0
      return 16
    elseif a:n == 9
      return 79
    else
      return 79 + a:n
    endif
  else
    if a:n == 0
      return 16
    elseif a:n == 25
      return 231
    else
      return 231 + a:n
    endif
  endif
endfun

" returns an approximate color index for the given color level
fun! s:rgb_number(x)
  if &t_Co == 88
    if a:x < 69
      return 0
    elseif a:x < 172
      return 1
    elseif a:x < 230
      return 2
    else
      return 3
    endif
  else
    if a:x < 75
      return 0
    else
      let l:n = (a:x - 55) / 40
      let l:m = (a:x - 55) % 40
      if l:m < 20
        return l:n
      else
        return l:n + 1
      endif
    endif
  endif
endfun

" returns the actual color level for the given color index
fun! s:rgb_level(n)
  if &t_Co == 88
    if a:n == 0
      return 0
    elseif a:n == 1
      return 139
    elseif a:n == 2
      return 205
    else
      return 255
    endif
  else
    if a:n == 0
      return 0
    else
      return 55 + (a:n * 40)
    endif
  endif
endfun

" returns the palette index for the given R/G/B color indices
fun! s:rgb_color(x, y, z)
  if &t_Co == 88
    return 16 + (a:x * 16) + (a:y * 4) + a:z
  else
    return 16 + (a:x * 36) + (a:y * 6) + a:z
  endif
endfun

" returns the palette index to approximate the given R/G/B color levels
fun! s:color(r, g, b)
  " get the closest grey
  let l:gx = s:grey_number(a:r)
  let l:gy = s:grey_number(a:g)
  let l:gz = s:grey_number(a:b)

  " get the closest color
  let l:x = s:rgb_number(a:r)
  let l:y = s:rgb_number(a:g)
  let l:z = s:rgb_number(a:b)

  if l:gx == l:gy && l:gy == l:gz
    " there are two possibilities
    let l:dgr = s:grey_level(l:gx) - a:r
    let l:dgg = s:grey_level(l:gy) - a:g
    let l:dgb = s:grey_level(l:gz) - a:b
    let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
    let l:dr = s:rgb_level(l:gx) - a:r
    let l:dg = s:rgb_level(l:gy) - a:g
    let l:db = s:rgb_level(l:gz) - a:b
    let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
    if l:dgrey < l:drgb
      " use the grey
      return s:grey_color(l:gx)
    else
      " use the color
      return s:rgb_color(l:x, l:y, l:z)
    endif
  else
    " only one possibility
    return s:rgb_color(l:x, l:y, l:z)
  endif
endfun

" returns the palette index to approximate the 'rrggbb' hex string
fun! s:rgb(rgb)
  let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
  let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
  let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
  return s:color(l:r, l:g, l:b)
endfun

" sets the highlighting for the given group
fun! s:X(group, fg, bg, attr, lcfg, lcbg)
  if s:low_color
    let l:fge = empty(a:lcfg)
    let l:bge = empty(a:lcbg)

    if !l:fge && !l:bge
      exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=".a:lcbg
    elseif !l:fge && l:bge
      exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=NONE"
    elseif l:fge && !l:bge
      exec "hi ".a:group." ctermfg=NONE ctermbg=".a:lcbg
    endif
  else
    let l:fge = empty(a:fg)
    let l:bge = empty(a:bg)

    if !l:fge && !l:bge
      exec "hi ".a:group." guifg=#".a:fg." guibg=#".a:bg." ctermfg=".s:rgb(a:fg)." ctermbg=".s:rgb(a:bg)
    elseif !l:fge && l:bge
      exec "hi ".a:group." guifg=#".a:fg." guibg=NONE ctermfg=".s:rgb(a:fg)." ctermbg=NONE"
    elseif l:fge && !l:bge
      exec "hi ".a:group." guifg=NONE guibg=#".a:bg." ctermfg=NONE ctermbg=".s:rgb(a:bg)
    endif
  endif

  if a:attr == ""
    exec "hi ".a:group." gui=none cterm=none"
  else
    let noitalic = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",")
    if empty(noitalic)
      let noitalic = "none"
    endif
    exec "hi ".a:group." gui=".a:attr." cterm=".noitalic
  endif
endfun
" }}}

call s:X("Normal","e8e8d3","","","White","")
set background=dark

if version >= 700
  call s:X("CursorLine","","1c1c1c","","","Black")
  call s:X("CursorColumn","","1c1c1c","","","Black")
  call s:X("MatchParen","ffffff","80a090","bold","","DarkCyan")

  call s:X("TabLine","000000","b0b8c0","italic","","Black")
  call s:X("TabLineFill","9098a0","","","","Black")
  call s:X("TabLineSel","000000","f0f0f0","italic,bold","Black","White")

  " Auto-completion
  call s:X("Pmenu","ffffff","606060","","White","Black")
  call s:X("PmenuSel","101010","eeeeee","","Black","White")
endif

call s:X("Visual","","404040","","","Black")
call s:X("Cursor","","b0d0f0","","","")

call s:X("LineNr","605958","","none","Black","")
call s:X("Comment","888888","","italic","Grey","")
call s:X("Todo","808080","","bold","White","Black")

call s:X("StatusLine","000000","dddddd","italic","Black","White")
call s:X("StatusLineNC","ffffff","403c41","italic","White","Black")
call s:X("VertSplit","777777","403c41","italic","Black","Black")
call s:X("WildMenu","f0a0c0","302028","","Magenta","")

call s:X("Folded","a0a8b0","384048","italic","Black","")
call s:X("FoldColumn","a0a8b0","384048","","","Black")
hi! link SignColumn FoldColumn

call s:X("Title","70b950","","bold","Green","")

call s:X("Constant","cf6a4c","","","Red","")
call s:X("Special","799d6a","","","Green","")
call s:X("Delimiter","668799","","","Grey","")

call s:X("String","99ad6a","","","Green","")
call s:X("StringDelimiter","556633","","","DarkGreen","")

call s:X("Identifier","c6b6ee","","","LightCyan","")
call s:X("Structure","8fbfdc","","","LightCyan","")
call s:X("Function","fad07a","","","Yellow","")
call s:X("Statement","8197bf","","","DarkBlue","")
call s:X("PreProc","8fbfdc","","","LightBlue","")

hi! link Operator Normal

call s:X("Type","ffb964","","","Yellow","")
call s:X("NonText","606060","","","Black","")

call s:X("SpecialKey","444444","1c1c1c","","Black","")

call s:X("Search","f0a0c0","302028","underline","Magenta","")

call s:X("Directory","dad085","","","Yellow","")
call s:X("ErrorMsg","","902020","","","DarkRed")
hi! link Error ErrorMsg
hi! link MoreMsg Special
call s:X("Question","65C254","","","Green","")


" Spell Checking

call s:X("SpellBad","","902020","underline","","DarkRed")
call s:X("SpellCap","","0000df","underline","","Blue")
call s:X("SpellRare","","540063","underline","","DarkMagenta")
call s:X("SpellLocal","","2D7067","underline","","Green")

" Diff

hi! link diffRemoved Constant
hi! link diffAdded String

" VimDiff

call s:X("DiffAdd","","032218","","Black","DarkGreen")
call s:X("DiffChange","","100920","","Black","DarkMagenta")
call s:X("DiffDelete","220000","220000","","DarkRed","DarkRed")
call s:X("DiffText","","000940","","","DarkRed")

" PHP

hi! link phpFunctions Function
call s:X("StorageClass","c59f6f","","","Red","")
hi! link phpSuperglobal Identifier
hi! link phpQuoteSingle StringDelimiter
hi! link phpQuoteDouble StringDelimiter
hi! link phpBoolean Constant
hi! link phpNull Constant
hi! link phpArrayPair Operator

" Ruby

hi! link rubySharpBang Comment
call s:X("rubyClass","447799","","","DarkBlue","")
call s:X("rubyIdentifier","c6b6fe","","","Cyan","")
hi! link rubyConstant Type
hi! link rubyFunction Function

call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","")
call s:X("rubySymbol","7697d6","","","Blue","")
hi! link rubyGlobalVariable rubyInstanceVariable
hi! link rubyModule rubyClass
call s:X("rubyControl","7597c6","","","Blue","")

hi! link rubyString String
hi! link rubyStringDelimiter StringDelimiter
hi! link rubyInterpolationDelimiter Identifier

call s:X("rubyRegexpDelimiter","540063","","","Magenta","")
call s:X("rubyRegexp","dd0093","","","DarkMagenta","")
call s:X("rubyRegexpSpecial","a40073","","","Magenta","")

call s:X("rubyPredefinedIdentifier","de5577","","","Red","")

" JavaScript
hi! link javaScriptValue Constant
hi! link javaScriptRegexpString rubyRegexp

" CoffeeScript

hi! link coffeeRegExp javaScriptRegexpString

" C

hi! link cOperator Constant

" Objective-C/Cocoa
hi! link objcClass Type
hi! link cocoaClass objcClass
hi! link objcSubclass objcClass
hi! link objcSuperclass objcClass
hi! link objcDirective rubyClass
hi! link cocoaFunction Function
hi! link objcMethodName Identifier
hi! link objcMethodArg Normal
hi! link objcMessageName Identifier

" Plugins, etc.

hi! link TagListFileName Directory
call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green")

" Manual overrides for 256-color terminals. Dark colors auto-map badly.
if !s:low_color
  hi StatusLineNC ctermbg=234
  hi Folded ctermbg=236
  hi FoldColumn ctermbg=236
  hi SignColumn ctermbg=236
  hi DiffAdd ctermbg=22
  hi DiffDelete ctermbg=52
  hi DiffChange ctermbg=17
  hi DiffText ctermbg=19
endif

" delete functions {{{
delf s:X
delf s:rgb
delf s:color
delf s:rgb_color
delf s:rgb_level
delf s:rgb_number
delf s:grey_color
delf s:grey_level
delf s:grey_number
" }}}

Added vim/colors/manxome.vim.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
""" local syntax file - set colors on a per-machine basis:
""" Vim color file
""" Title:			Manxome Foes Color Scheme
""" Maintainer:		Ricardo SIGNES <rjbs-vim@lists.manxome.org>
""" This Version:	R2v2 [2003-07-16]
""" suggested vim editing options: tw=0 ts=4 sw=4

""  clear and re-initialize global variables
hi clear
set background=dark
if exists("syntax_on")
  syntax reset
endif
let g:colors_name = "manxome"

""  set highlight groups
""		you'll notice that the ctermbg is often 'none'; this is so that when
""		console vim runs in a terminal, transparency (if any) is not broken

highlight Title			ctermfg=3	ctermbg=none	cterm=bold	guifg=#ffff00	guibg=#000000	gui=none
highlight Directory  	ctermfg=4	ctermbg=none	cterm=bold	guifg=#0000ff	guibg=#000000	gui=none
highlight StatusLine 	ctermfg=7	ctermbg=4		cterm=bold	guifg=#ffffff	guibg=#0000ff	gui=none
highlight StatusLineNC 	ctermfg=0	ctermbg=4		cterm=bold	guifg=#000000	guibg=#0000ff	gui=none
highlight Normal		ctermfg=7	ctermbg=none	cterm=none	guifg=#cccccc	guibg=#000000	gui=none
highlight Search		ctermfg=7	ctermbg=4		cterm=bold	guifg=#ffffff	guibg=#0000ff	gui=none
highlight Visual		ctermfg=7	ctermbg=6		cterm=bold	guifg=#ffffff	guibg=#00aaaa	gui=none

""  set major preferred groups

highlight Comment		ctermfg=2	ctermbg=none	cterm=bold	guifg=#00ff00	guibg=#000000	gui=none
highlight Constant		ctermfg=6	ctermbg=none	cterm=bold	guifg=#00ffff	guibg=#000000	gui=none
highlight Identifier	ctermfg=4	ctermbg=none	cterm=bold	guifg=#0000ee	guibg=#000000	gui=none
highlight Statement 	ctermfg=6	ctermbg=none	cterm=none	guifg=#00aaaa	guibg=#000000	gui=none
highlight PreProc		ctermfg=7	ctermbg=none	cterm=bold	guifg=#ffffff	guibg=#000000	gui=none
highlight Type			ctermfg=6	ctermbg=none	cterm=none	guifg=#00aaaa	guibg=#000000	gui=none
highlight Special		ctermfg=7	ctermbg=none	cterm=bold	guifg=#ffffff	guibg=#000000	gui=none
highlight Underlined	ctermfg=2	ctermbg=none	cterm=none	guifg=#00aa00	guibg=#000000	gui=none
highlight Ignore		ctermfg=0	ctermbg=none	cterm=bold  guifg=#aaaaaa	guibg=#000000	gui=none
highlight Error			ctermfg=1	ctermbg=none	cterm=bold	guibg=#ff0000	guibg=#000000	gui=none
highlight Todo		 	ctermfg=3	ctermbg=none	cterm=none	guifg=#aaaa00	guibg=#000000	gui=none

"  set syntax-specific groups
"	I'd like to avoid using these, but the default settings for these two are
"	just no good.  Seeing italic text in Vim is just plain wrong.

highlight htmlBold		ctermfg=7	ctermbg=none	cterm=bold	guifg=#ffffff	guibg=#000000	gui=none
highlight htmlItalic	ctermfg=5	ctermbg=none	cterm=bold	guifg=#ff00ff	guibg=#000000	gui=none

Added vim/colors/night_vision.vim.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
" Vim color file
" Maintainer: iyerns <iyerns AT gmail DOT com>
" Last Change: 25 August 2005
" Version:1.0

set background=light
hi clear
if exists("syntax_on")
	syntax reset
endif
let g:colors_name="night_vision"

hi Normal   guifg=#00cc00	 guibg=#003300 
hi LineNr   guifg=#009900 guibg=#003300 
hi Statusline    gui=none guibg=#339933 guifg=#ffffff
hi StatuslineNC    gui=none guibg=#006633 guifg=#ffffff

hi Title    guifg=black	 guibg=white gui=BOLD
hi lCursor  guibg=Cyan   guifg=NONE

" syntax highlighting groups
hi Comment    gui=NONE guifg=#009933
hi Operator   guifg=#ff0000
hi Identifier    guifg=#33ff99 gui=NONE

hi Statement	 guifg=#ccff00 gui=NONE
hi TypeDef       guifg=#c000c8 gui=NONE
hi Type          guifg=#ccffff gui=NONE
hi Boolean       guifg=#ff00aa gui=NONE

hi String        guifg=#9999cc gui=NONE
hi Number        guifg=#66ff66 gui=NONE
hi Constant      guifg=#f0f000 gui=NONE

hi Function      gui=NONE      guifg=#fffcfc 
hi PreProc       guifg=#ffffff gui=NONE
hi Define        gui=bold guifg=#f0f0f0 
hi Special       gui=none guifg=#cccccc 
hi BrowseDirectory  gui=bold guifg=#FFFF00 

hi Keyword       guifg=#ff8088 gui=NONE
hi Search        gui=NONE guibg=#ffff00 guifg=#330000 
hi IncSearch     gui=NONE guifg=#fcfcfc guibg=#8888ff
hi SpecialKey    gui=NONE guifg=#fcfcfc guibg=#8888ff
hi NonText       gui=NONE guifg=#fcfcfc 
hi Directory     gui=NONE guifg=#999900
hi Conditional   gui=NONE guifg=#ff9900

Added vim/colors/railscasts.vim.

































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
" Vim color scheme
"
" Name:         railscasts.vim
" Maintainer:   Nick Moffitt <nick@zork.net>
" Last Change:  01 Mar 2008
" License:      WTFPL <http://sam.zoy.org/wtfpl/>
" Version:      2.1
"
" This theme is based on Josh O'Rourke's Vim clone of the railscast
" textmate theme.  The key thing I have done here is supply 256-color
" terminal equivalents for as many of the colors as possible, and fixed
" up some of the funny behaviors for editing e-mails and such.
"
" To use for gvim:
" 1: install this file as ~/.vim/colors/railscasts.vim
" 2: put "colorscheme railscasts" in your .gvimrc
"
" If you are using Ubuntu, you can get the benefit of this in your
" terminals using ordinary vim by taking the following steps:
"
" 1: sudo apt-get install ncurses-term
" 2: put the following in your .vimrc
"     if $COLORTERM == 'gnome-terminal'
"         set term=gnome-256color
"         colorscheme railscasts
"     else
"         colorscheme default
"     endif
" 3: if you wish to use this with screen, add the following to your .screenrc:
"     attrcolor b ".I"
"     termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
"     defbce "on"
"     term screen-256color-bce

set background=dark
hi clear
if exists("syntax_on")
  syntax reset
endif

let g:colors_name = "railscasts"

hi link htmlTag                     xmlTag
hi link htmlTagName                 xmlTagName
hi link htmlEndTag                  xmlEndTag

highlight Normal                    guifg=#E6E1DC guibg=#111111 
highlight Cursor                    guifg=#000000 ctermfg=0 guibg=#FFFFFF ctermbg=15	
highlight CursorLine                guibg=#000000 ctermbg=233 cterm=NONE

highlight Comment                   guifg=#BC9458 ctermfg=180 gui=italic
highlight Constant                  guifg=#6D9CBE ctermfg=73
highlight Define                    guifg=#CC7833 ctermfg=173
highlight Error                     guifg=#FFC66D ctermfg=221 guibg=#990000 ctermbg=88
highlight Function                  guifg=#FFC66D ctermfg=221 gui=NONE cterm=NONE
highlight Identifier                guifg=#6D9CBE ctermfg=73 gui=NONE cterm=NONE
highlight Include                   guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
highlight PreCondit                 guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
highlight Keyword                   guifg=#CC7833 ctermfg=173 cterm=NONE
highlight LineNr                    guifg=#2B2B2B ctermfg=159 guibg=#C0C0FF
highlight Number                    guifg=#A5C261 ctermfg=107
highlight PreProc                   guifg=#E6E1DC ctermfg=103
highlight Search                    guifg=NONE ctermfg=NONE guibg=#2b2b2b ctermbg=235 gui=italic cterm=underline
highlight Statement                 guifg=#CC7833 ctermfg=173 gui=NONE cterm=NONE
highlight String                    guifg=#A5C261 ctermfg=107
highlight Title                     guifg=#FFFFFF ctermfg=15
highlight Type                      guifg=#DA4939 ctermfg=167 gui=NONE cterm=NONE
highlight Visual                    guibg=#5A647E ctermbg=60

highlight DiffAdd                   guifg=#E6E1DC ctermfg=7 guibg=#519F50 ctermbg=71
highlight DiffDelete                guifg=#E6E1DC ctermfg=7 guibg=#660000 ctermbg=52
highlight Special                   guifg=#DA4939 ctermfg=167 

highlight pythonBuiltin             guifg=#6D9CBE ctermfg=73 gui=NONE cterm=NONE
highlight rubyBlockParameter        guifg=#FFFFFF ctermfg=15
highlight rubyClass                 guifg=#FFFFFF ctermfg=15
highlight rubyConstant              guifg=#DA4939 ctermfg=167
highlight rubyInstanceVariable      guifg=#D0D0FF ctermfg=189
highlight rubyInterpolation         guifg=#519F50 ctermfg=107
highlight rubyLocalVariableOrMethod guifg=#D0D0FF ctermfg=189
highlight rubyPredefinedConstant    guifg=#DA4939 ctermfg=167
highlight rubyPseudoVariable        guifg=#FFC66D ctermfg=221
highlight rubyStringDelimiter       guifg=#A5C261 ctermfg=143

highlight xmlTag                    guifg=#E8BF6A ctermfg=179
highlight xmlTagName                guifg=#E8BF6A ctermfg=179
highlight xmlEndTag                 guifg=#E8BF6A ctermfg=179

highlight mailSubject               guifg=#A5C261 ctermfg=107
highlight mailHeaderKey             guifg=#FFC66D ctermfg=221
highlight mailEmail                 guifg=#A5C261 ctermfg=107 gui=italic cterm=underline

highlight SpellBad                  guifg=#D70000 ctermfg=160 ctermbg=NONE cterm=underline
highlight SpellRare                 guifg=#D75F87 ctermfg=168 guibg=NONE ctermbg=NONE gui=underline cterm=underline
highlight SpellCap                  guifg=#D0D0FF ctermfg=189 guibg=NONE ctermbg=NONE gui=underline cterm=underline
highlight MatchParen                guifg=#FFFFFF ctermfg=15 guibg=#005f5f ctermbg=23

Added vim/colors/tango.vim.





























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
"
" Tango Vim Color Scheme
" =======================
"
" For best results, set up your terminal with a Tango palette.
" Instructions for GNOME Terminal:
" http://uwstopia.nl/blog/2006/07/tango-terminal
"
" author:   Michele Campeotto <micampe@micampe.it>
"
set background=dark

hi clear
if exists("syntax_on")
    syntax reset
endif

let colors_name = "tango"

" Default Colors
hi Normal       guifg=#eeeeec guibg=#000000
hi NonText      guifg=#555753 guibg=#000000 gui=none
hi NonText      ctermfg=darkgray
hi Cursor       guibg=#d3d7cf
hi lCursor      guibg=#d3d7cf

" Search
hi Search       guifg=#eeeeec guibg=#c4a000
hi Search       cterm=none ctermfg=grey ctermbg=blue
hi IncSearch    guibg=#eeeeec guifg=#729fcf
hi IncSearch    cterm=none ctermfg=yellow ctermbg=green

" Window Elements
hi StatusLine   guifg=#eeeeec guibg=#4e9a06 gui=bold
hi StatusLine   ctermfg=white ctermbg=green cterm=bold
hi StatusLineNC guifg=#d3d7df guibg=#4e9a06
hi StatusLineNC ctermfg=lightgray ctermbg=darkgreen
hi VertSplit    guifg=#eeeeec guibg=#eeeeec
hi Folded       guifg=#eeeeec guibg=#75507b
hi Folded       ctermfg=white ctermbg=magenta
hi Visual       guifg=#d3d7cf guibg=#4e9a06
hi Visual       ctermbg=white ctermfg=lightgreen cterm=reverse

" Specials
hi Todo         guifg=#8ae234 guibg=#4e9a06 gui=bold
hi Todo         ctermfg=white ctermbg=green
hi Title        guifg=#eeeeec gui=bold
hi Title        ctermfg=white cterm=bold

" Syntax
hi Constant     guifg=#c4a000
hi Constant     ctermfg=darkyellow
hi Number       guifg=#729fcf
hi Number       ctermfg=darkblue
hi Statement    guifg=#4e9a06 gui=bold
hi Statement    ctermfg=green
hi Identifier   guifg=#8ae234
hi Identifier   ctermfg=darkgreen
hi PreProc      guifg=#cc0000
hi PreProc      ctermfg=darkred
hi Comment      guifg=#06989a gui=italic
hi Comment      ctermfg=cyan cterm=none
hi Type         guifg=#d3d7cf gui=bold
hi Type         ctermfg=gray cterm=bold
hi Special      guifg=#75507b
hi Special      ctermfg=magenta cterm=none
hi Error        guifg=#eeeeec guibg=#ef2929
hi Error        ctermfg=white ctermbg=red

" Diff
hi DiffAdd      guifg=fg guibg=#3465a4 gui=none
hi DiffAdd      ctermfg=gray ctermbg=blue cterm=none
hi DiffChange   guifg=fg guibg=#555753 gui=none
hi DiffChange   ctermfg=gray ctermbg=darkgray cterm=none
hi DiffDelete   guibg=bg
hi DiffDelete   ctermfg=gray ctermbg=none cterm=none
hi DiffText     guifg=fg guibg=#c4a000 gui=none
hi DiffText     ctermfg=gray ctermbg=yellow cterm=none

Added vim/colors/wuye.vim.





































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
" Vim color file
" Name:        WuYe
" Maintainer:  Yeii
" Last Change: 2009-08-12
" Version:     1.2.1
" URL:         http://www.vim.org/scripts/script.php?script_id=2088

" Init
highlight clear
set background=dark
if exists("syntax_on")
   syntax reset
endif
let g:colors_name = "wuye"

""""""""\ Highlighting groups for various occasions \""""""""
hi SpecialKey   guifg=SlateBlue   ctermfg=Blue
hi NonText      guifg=MidnightBlue   ctermfg=DarkBlue
hi Directory    gui=BOLD guifg=LightSeaGreen   ctermfg=DarkCyan
hi ErrorMsg     guifg=Yellow guibg=Firebrick   ctermfg=Yellow ctermbg=DarkRed
hi IncSearch    gui=BOLD guifg=Red cterm=BOLD   ctermfg=Red
hi Search       gui=BOLD guifg=MintCream guibg=Red   cterm=BOLD ctermfg=White ctermbg=Red
hi MoreMsg      gui=BOLD guifg=MediumSpringGreen   cterm=BOLD ctermfg=DarkCyan
hi ModeMsg      guifg=LawnGreen guibg=DeepSkyBlue4   ctermfg=Yellow ctermbg=DarkCyan
hi LineNr       gui=UNDERLINE guifg=LightSkyBlue3 guibg=Gray10   cterm=UNDERLINE ctermfg=DarkGray
hi Question     gui=BOLD guifg=green   cterm=BOLD ctermfg=green
hi StatusLine   gui=BOLD guifg=White guibg=RoyalBlue4   cterm=BOLD ctermfg=White ctermbg=DarkBlue
hi StatusLineNC gui=BOLD guifg=Bisque guibg=DimGray   cterm=BOLD ctermfg=Black ctermbg=Gray
hi VertSplit    gui=BOLD guifg=Bisque guibg=DimGray   cterm=BOLD ctermfg=Black ctermbg=Gray
hi Title        gui=BOLD guifg=DodgerBlue   cterm=BOLD ctermfg=LightBlue
hi Visual       gui=REVERSE guibg=Yellow guifg=SlateBlue4   cterm=REVERSE ctermbg=Yellow ctermfg=DarkBlue
hi WarningMsg   guifg=Gold   ctermfg=Yellow
hi WildMenu     gui=BOLD guifg=Black guibg=Chartreuse   cterm=BOLD ctermfg=Black ctermbg=Darkgreen
hi Folded       guifg=LightCyan guibg=DodgerBlue4   ctermfg=White ctermbg=DarkBlue
hi FoldColumn   gui=BOLD guifg=DodgerBlue guibg=Gray16   cterm=BOLD ctermfg=Blue ctermbg=DarkGray
hi DiffAdd      guifg=White guibg=Turquoise4   ctermfg=White ctermbg=Darkcyan
hi DiffChange   guifg=White guibg=ForestGreen   ctermbg=Darkgreen
hi DiffDelete   guifg=HotPink4 guibg=SlateGray4   ctermfg=DarkMagenta ctermbg=DarkGray
hi DiffText     gui=BOLD guifg=Tomato guibg=DarkBlue   cterm=BOLD ctermfg=Magenta ctermbg=DarkBlue
hi Cursor       guifg=Black guibg=Green   ctermfg=Black ctermbg=Green
hi CursorIM     guifg=Black guibg=Red   ctermfg=Black ctermbg=Red
hi CursorLine   gui=BOLD guibg=Black
hi CursorColumn gui=BOLD guibg=Black

""""""\ Syntax highlighting groups \""""""
hi Normal       gui=NONE guifg=GhostWhite guibg=Gray8   cterm=NONE ctermfg=LightGray ctermbg=NONE
hi MatchParen   gui=BOLD guifg=Gold   cterm=BOLD ctermfg=Yellow
hi Comment      guifg=LightSlateGray   ctermfg=DarkGray
hi Constant     guifg=CornflowerBlue   ctermfg=DarkCyan
 hi String       guifg=SteelBlue1   ctermfg=DarkCyan
 hi Character    guifg=SteelBlue   ctermfg=DarkCyan
 hi Number       guifg=Turquoise   ctermfg=DarkCyan
 hi Boolean      gui=BOLD guifg=DarkTurquoise   cterm=BOLD ctermfg=DarkCyan
 hi Float        guifg=Turquoise   ctermfg=DarkCyan
hi Identifier   guifg=DeepSkyBlue   ctermfg=lightcyan
 hi Function     gui=BOLD guifg=DeepSkyBlue   cterm=BOLD ctermfg=lightcyan
hi Statement    guifg=SpringGreen   ctermfg=LightGreen
 hi Conditional  guifg=SeaGreen1   ctermfg=LightGreen
 hi Repeat       guifg=SpringGreen   ctermfg=LightGreen
 hi Label        guifg=MediumSpringGreen   ctermfg=LightGreen
 hi Operator     guifg=Green2   ctermfg=LightGreen
 hi Keyword      gui=BOLD guifg=SpringGreen   cterm=BOLD ctermfg=LightGreen
 hi Exception    gui=BOLD guifg=SpringGreen2   cterm=BOLD ctermfg=LightGreen
hi PreProc      guifg=Purple   ctermfg=DarkMagenta
 hi Include      guifg=Purple2   ctermfg=DarkMagenta
 hi Define       guifg=BlueViolet   ctermfg=DarkMagenta
 hi Macro        guifg=DarkViolet   ctermfg=DarkMagenta
 hi PreCondit    guifg=DarkOrchid   ctermfg=DarkMagenta
hi Type         gui=BOLD guifg=RoyalBlue   cterm=BOLD ctermfg=LightBlue
 hi StorageClass gui=BOLD guifg=RoyalBlue2   cterm=BOLD ctermfg=LightBlue
 hi Structure    gui=BOLD guifg=DodgerBlue3   cterm=BOLD ctermfg=LightBlue
 hi Typedef      gui=BOLD guifg=RoyalBlue1   cterm=BOLD ctermfg=LightBlue
hi Special      guifg=BurlyWood   ctermfg=DarkYellow
 hi Tag          guifg=Moccasin   ctermfg=DarkYellow
 hi Specialchar  guifg=Tan   ctermfg=DarkYellow
 hi Delimiter    guifg=Wheat3   ctermfg=DarkYellow
 hi Debug        guifg=peru   ctermfg=DarkYellow
hi Underlined   gui=UNDERLINE   cterm=UNDERLINE
hi Ignore       guifg=Gray75   ctermfg=DarkGray
hi Error        guifg=Khaki guibg=VioletRed   ctermfg=Yellow ctermbg=LightMagenta
hi Todo         guifg=Yellow guibg=NavyBlue   ctermfg=Yellow ctermbg=DarkBlue

Added vim/colors/xoria256.vim.



























































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
" Vim color file
" Name:		xoria256.vim
" Version:	0.3.2
" License:	Public Domain
" Maintainer:	Dmitriy Y. Zotikov (xio) <xio@ungrund.org>
"
" Heavily based on 'moria' color scheme.
"
" Sould work in a 256 color terminal (like latest versions of xterm, konsole,
" etc).  Will not, however, work in 88 color terminals like urxvt.
"
" Color numbers (0-255) see:
" http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html
"
" TODO:
" 	- Diff (currently *VERY* ugly)
" 	- Html



if &t_Co != 256 && ! has("gui_running")
  echomsg ""
  echomsg "err: please use GUI or a 256-color terminal (so that t_Co=256 could be set)"
  echomsg ""
  finish
endif

set background=dark
hi clear
if exists("syntax_on")
  syntax reset
endif

" Which one is right?
"let colors_name = "xoria256"
let g:colors_name = "xoria256"



hi Normal	cterm=none	ctermfg=252	ctermbg=0	gui=none	guifg=#d0d0d0	guibg=#202020

hi Cursor	cterm=none	ctermfg=bg	ctermbg=214	gui=none	guifg=bg	guibg=#ffaf00
hi CursorColumn	cterm=none			ctermbg=238	gui=none			guibg=#444444
hi CursorLine	cterm=none			ctermbg=238	gui=none			guibg=#444444
hi lCursor	cterm=none	ctermfg=0	ctermbg=40	gui=none	guifg=#000000	guibg=#00df00
"hi CursorIM	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
hi IncSearch	cterm=none	ctermfg=0	ctermbg=223	gui=none	guifg=#000000	guibg=#ffdfaf
hi Search	cterm=none	ctermfg=0	ctermbg=149	gui=none	guifg=#000000	guibg=#afdf5f
hi ErrorMsg	cterm=none	ctermfg=15	ctermbg=160	gui=bold	guifg=#ffffff	guibg=#df0000
hi WarningMsg	cterm=bold	ctermfg=196	ctermbg=bg	gui=bold	guifg=#ff0000	guibg=bg
hi ModeMsg	cterm=bold	ctermfg=fg	ctermbg=bg	gui=bold	guifg=fg	guibg=bg
hi MoreMsg	cterm=bold	ctermfg=250	ctermbg=bg	gui=bold	guifg=#bcbcbc	guibg=bg
hi Question	cterm=bold	ctermfg=113	ctermbg=bg	gui=bold	guifg=#87df7f	guibg=bg

hi StatusLine	cterm=bold	ctermfg=fg	ctermbg=239	gui=bold	guifg=fg	guibg=#4e4e4e
hi StatusLineNC	cterm=none	ctermfg=fg	ctermbg=237	gui=none	guifg=fg	guibg=#3a3a3a
hi User1	cterm=none	ctermfg=15	ctermbg=20	gui=none	guifg=#ffffff	guibg=#0000df
hi User2	cterm=none	ctermfg=46	ctermbg=20	gui=none	guifg=#00ff00	guibg=#0000df
hi User3	cterm=none	ctermfg=46	ctermbg=20	gui=none	guifg=#00ff00	guibg=#0000df
hi User4	cterm=none	ctermfg=50	ctermbg=20	gui=none	guifg=#00ffdf	guibg=#0000df
hi User5	cterm=none	ctermfg=46	ctermbg=20	gui=none	guifg=#00ff00	guibg=#0000df
hi VertSplit	cterm=reverse	ctermfg=fg	ctermbg=237	gui=reverse	guifg=fg	guibg=#3a3a3a

hi WildMenu	cterm=bold	ctermfg=0	ctermbg=184	gui=bold	guifg=#000000	guibg=#dfdf00
"hi Menu	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
"hi Scrollbar	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
"hi Tooltip	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=

"hi MBENormal	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
"hi MBEChanged	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
"hi MBEVisibleNormal cterm=	ctermfg=	ctermbg=	gui=		guifg=		guibg=
"hi MBEVisibleChanged cterm=	ctermfg=	ctermbg=	gui=		guifg=		guibg=

"hi DiffText	cterm=bold	ctermfg=fg	ctermbg=20	gui=bold	guifg=fg	guibg=#0000df
"hi DiffDelete	cterm=none	ctermfg=fg	ctermbg=88	gui=none	guifg=fg	guibg=#870000
"hi DiffChange	cterm=none	ctermfg=fg	ctermbg=18	gui=none	guifg=fg	guibg=#000087
"hi DiffAdd	cterm=none	ctermfg=fg	ctermbg=28	gui=none	guifg=fg	guibg=#008700

hi Folded	cterm=none	ctermfg=255	ctermbg=60	gui=none	guifg=#eeeeee	guibg=#5f5f87
"hi Folded	cterm=none	ctermfg=251	ctermbg=240	gui=bold	guifg=#c6c6c6	guibg=#585858
"hi Folded	cterm=none	ctermfg=251	ctermbg=95	gui=none	guifg=#c6c6c6	guibg=#585858
hi FoldColumn	cterm=none	ctermfg=248	ctermbg=58	gui=none	guifg=#a8a8a8	guibg=bg
hi SignColumn	cterm=none	ctermfg=248	ctermbg=bg	gui=none	guifg=#a8a8a8	guibg=bg

hi Directory	cterm=none	ctermfg=39	ctermbg=bg	gui=none	guifg=#00afff	guibg=bg
hi LineNr	cterm=none	ctermfg=248			gui=none	guifg=#a8a8a8
hi NonText	cterm=bold	ctermfg=248	ctermbg=bg	gui=bold	guifg=#a8a8a8	guibg=bg
hi SpecialKey	cterm=none	ctermfg=77	ctermbg=bg	gui=none	guifg=#5fdf5f	guibg=bg
hi Title	cterm=none	ctermfg=0	ctermbg=184	gui=none	guifg=#000000	guibg=#dfdf00
hi Visual	cterm=none	ctermfg=24	ctermbg=153	gui=none	guifg=#005f87	guibg=#afdfff
"hi Visual	cterm=none	ctermfg=18	ctermbg=153	gui=none	guifg=#005f87	guibg=#afdfff
hi VisualNOS	cterm=bold,underline ctermfg=247 ctermbg=bg	gui=bold,underline guifg=#9e9e9e guibg=bg

hi Comment	cterm=none	ctermfg=244	ctermbg=bg	gui=none	guifg=#808080	guibg=bg
""" COLD
hi Constant	cterm=none	ctermfg=187	ctermbg=bg	gui=none	guifg=#dfdfaf	guibg=bg
""" COLD-DARK
"hi Constant	cterm=none	ctermfg=223	ctermbg=bg	gui=none	guifg=#ffdfaf	guibg=bg
""" NEUTRAL
"hi Constant	cterm=none	ctermfg=229	ctermbg=bg	gui=none	guifg=#ffffaf	guibg=bg
""" WARM
"hi Constant	cterm=none	ctermfg=222	ctermbg=bg	gui=none	guifg=#ffdf87	guibg=bg
"hi String	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
hi Error	cterm=none	ctermfg=196	ctermbg=bg	gui=none	guifg=#ff0000	guibg=bg
""" COLD
"hi Identifier	cterm=none	ctermfg=115	ctermbg=bg	gui=none	guifg=#87dfaf	guibg=bg
""" NEUTRAL
"hi Identifier	cterm=none	ctermfg=114	ctermbg=bg	gui=none	guifg=#87df87	guibg=bg
""" WARM
hi Identifier	cterm=none	ctermfg=150	ctermbg=bg	gui=none	guifg=#afdf87	guibg=bg
hi Ignore	cterm=none	ctermfg=238	ctermbg=bg	gui=none	guifg=#444444	guibg=bg
hi Number	cterm=none	ctermfg=180	ctermbg=bg	gui=none	guifg=#dfaf87	guibg=bg
"hi Number	cterm=none	ctermfg=222	ctermbg=bg	gui=none	guifg=#ffaf87	guibg=bg
"hi Number	cterm=none	ctermfg=215	ctermbg=bg	gui=none	guifg=#ffaf87	guibg=bg
"hi Number	cterm=none	ctermfg=209	ctermbg=0	gui=none	guifg=#ff875f	guibg=#000000
"hi Number	cterm=none	ctermfg=210	ctermbg=0	gui=none	guifg=#ff8787	guibg=#000000
hi PreProc	cterm=none	ctermfg=182	ctermbg=bg	gui=none	guifg=#dfafdf	guibg=bg
"hi PreProc	cterm=none	ctermfg=218	ctermbg=bg	gui=none	guifg=#ffafdf	guibg=bg
""" LIGHT
"hi Special	cterm=none	ctermfg=174	ctermbg=bg	gui=none	guifg=#ffafaf	guibg=bg
""" DARK
hi Special	cterm=none	ctermfg=174	ctermbg=bg	gui=none	guifg=#df8787	guibg=bg
"hi Special	cterm=none	ctermfg=114	ctermbg=bg	gui=none	guifg=#87df87	guibg=bg
"hi SpecialChar	cterm=		ctermfg=	ctermbg=	gui=		guifg=		guibg=
hi Statement	cterm=none	ctermfg=74	ctermbg=bg	gui=none	guifg=#5fafdf	guibg=bg
"hi Statement	cterm=none	ctermfg=75	ctermbg=bg	gui=none	guifg=#5fafff	guibg=bg
hi Todo		cterm=none	ctermfg=0	ctermbg=184	gui=none	guifg=#000000	guibg=#dfdf00
"hi Type		cterm=none	ctermfg=153	ctermbg=bg	gui=none	guifg=#afdfff	guibg=bg
hi Type		cterm=none	ctermfg=146	ctermbg=bg	gui=none	guifg=#afafdf	guibg=bg
hi Underlined	cterm=underline	ctermfg=39	ctermbg=bg	gui=underline	guifg=#00afff	guibg=bg

"hi htmlBold	cterm=		ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=bold
"hi htmlBoldItalic cterm=	ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=bold,italic
"hi htmlBoldUnderline cterm=	ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=bold,underline
"hi htmlBoldUnderlineItalic cterm= ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=bold,underline,italic
"hi htmlItalic	cterm=		ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=italic
"hi htmlUnderline cterm=	ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=underline
"hi htmlUnderlineItalici cterm=	ctermbg=0	ctermfg=15	guibg=bg	guifg=fg	gui=underline,italic


" For taglist plugin
if exists('loaded_taglist')
  hi TagListTagName  cterm=none	ctermfg=16	ctermbg=28	gui=none	guifg=#000000	guibg=#008700
  hi TagListTagScope cterm=none	ctermfg=16	ctermbg=28	gui=none	guifg=#000000	guibg=#008700
  hi TagListTitle    cterm=none	ctermfg=199	ctermbg=16	gui=none	guifg=#ff00af	guibg=#000000
  hi TagListComment  cterm=none	ctermfg=16	ctermbg=28	gui=none	guifg=#000000	guibg=#008700
  hi TagListFileName cterm=none	ctermfg=15	ctermbg=90	gui=none	guifg=#ffffff	guibg=#870087
endif


" For features in vim v.7.0 and higher
if v:version >= 700
  hi Pmenu      cterm=none	ctermfg=0	ctermbg=246	gui=none	guifg=#000000	guibg=#949494
  hi PmenuSel   cterm=none	ctermfg=0	ctermbg=243	gui=none	guifg=#000000	guibg=#767676
  hi PmenuSbar  cterm=none	ctermfg=fg	ctermbg=243	gui=none	guifg=fg	guibg=#767676
  hi PmenuThumb cterm=none	ctermfg=bg	ctermbg=252	gui=none	guifg=bg	guibg=#d0d0d0
  
  "  if has("spell")
  "  	hi SpellBad	guisp=#ee2c2c	gui=undercurl
  "  	hi SpellCap	guisp=#2c2cee	gui=undercurl
  "  	hi SpellLocal	guisp=#2ceeee	gui=undercurl
  "  	hi SpellRare	guisp=#ee2cee	gui=undercurl
  "  endif
  
  hi MatchParen	cterm=none	ctermfg=188	ctermbg=68	gui=bold	guifg=#dfdfdf	guibg=#5f87df
  "hi MatchParen	cterm=none	ctermfg=24	ctermbg=153	gui=none	guifg=#005f87	guibg=#afdfff
  "hi MatchParen	cterm=none	ctermfg=117	ctermbg=31	gui=bold	guifg=#87dfff	guibg=#0087af
  "hi MatchParen	cterm=none	ctermfg=187	ctermbg=67	gui=none	guifg=#005f87	guibg=#afdfff

  hi TabLineSel	cterm=bold	ctermfg=fg	ctermbg=bg	gui=bold	guifg=fg	guibg=bg
  hi TabLine	cterm=underline	ctermfg=fg	ctermbg=242	gui=underline	guifg=fg	guibg=#666666
  hi TabLineFill cterm=underline ctermfg=fg	ctermbg=242	gui=underline	guifg=fg	guibg=#666666
endif

Added vim/ftdetect/coffee.vim.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
" Language:    CoffeeScript
" Maintainer:  Mick Koch <kchmck@gmail.com>
" URL:         http://github.com/kchmck/vim-coffee-script
" License:     WTFPL

autocmd BufNewFile,BufRead *.coffee set filetype=coffee
autocmd BufNewFile,BufRead *Cakefile set filetype=coffee
autocmd BufNewFile,BufRead *.coffeekup set filetype=coffee

Added vim/ftdetect/gas.vim.





>
>
1
2
autocmd BufNewFile,BufRead *.s set filetype=gas
autocmd BufNewFile,BufRead *.S set filetype=gas

Added vim/ftdetect/gofiletype.vim.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
" We take care to preserve the user's fileencodings and fileformats,
" because those settings are global (not buffer local), yet we want
" to override them for loading Go files, which are defined to be UTF-8.
let s:current_fileformats = ''
let s:current_fileencodings = ''

" define fileencodings to open as utf-8 encoding even if it's ascii.
function! s:gofiletype_pre()
  let s:current_fileformats = &g:fileformats
  let s:current_fileencodings = &g:fileencodings
  set fileencodings=utf-8 fileformats=unix
  setlocal filetype=go
endfunction

" restore fileencodings as others
function! s:gofiletype_post()
  let &g:fileformats = s:current_fileformats
  let &g:fileencodings = s:current_fileencodings
endfunction

au BufNewFile *.go setlocal filetype=go fileencoding=utf-8 fileformat=unix
au BufRead *.go call s:gofiletype_pre()
au BufReadPost *.go call s:gofiletype_post()

Added vim/ftdetect/nasm.vim.



>
1
autocmd BufNewFile,BufRead *.asm set filetype=nasm

Added vim/ftplugin/go/fmt.vim.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" fmt.vim: Vim command to format Go files with gofmt.
"
" This filetype plugin add a new commands for go buffers:
"
"   :Fmt
"
"       Filter the current Go buffer through gofmt.
"       It tries to preserve cursor position and avoids
"       replacing the buffer with stderr output.
"

command! -buffer Fmt call s:GoFormat()

function! s:GoFormat()
    let view = winsaveview()
    silent %!gofmt
    if v:shell_error
        let errors = []
        for line in getline(1, line('$'))
            let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\)\s*\(.*\)')
            if !empty(tokens)
                call add(errors, {"filename": @%,
                                 \"lnum":     tokens[2],
                                 \"col":      tokens[3],
                                 \"text":     tokens[4]})
            endif
        endfor
        if empty(errors)
            % | " Couldn't detect gofmt error format, output errors
        endif
        undo
        if !empty(errors)
            call setloclist(0, errors, 'r')
        endif
        echohl Error | echomsg "Gofmt returned error" | echohl None
    endif
    call winrestview(view)
endfunction

" vim:ts=4:sw=4:et

Added vim/ftplugin/go/godoc.vim.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" godoc.vim: Vim command to see godoc.

if exists("b:did_ftplugin")
    finish
endif

silent! nmap <buffer> <silent> K <Plug>(godoc-keyword)

" vim:ts=4:sw=4:et

Added vim/ftplugin/go/import.vim.















































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" import.vim: Vim commands to import/drop Go packages.
"
" This filetype plugin adds three new commands for go buffers:
"
"   :Import {path}
"
"       Import ensures that the provided package {path} is imported
"       in the current Go buffer, using proper style and ordering.
"       If {path} is already being imported, an error will be
"       displayed and the buffer will be untouched.
"
"   :ImportAs {localname} {path}
"
"       Same as Import, but uses a custom local name for the package.
"
"   :Drop {path}
"
"       Remove the import line for the provided package {path}, if
"       present in the current Go buffer.  If {path} is not being
"       imported, an error will be displayed and the buffer will be
"       untouched.
"
" In addition to these commands, there are also two shortcuts mapped:
"
"   \f  -  Runs :Import fmt
"   \F  -  Runs :Drop fmt
"
" The backslash is the default maplocalleader, so it is possible that
" your vim is set to use a different character (:help maplocalleader).
"
if exists("b:did_ftplugin")
    finish
endif

command! -buffer -nargs=? -complete=customlist,go#complete#Package Drop call s:SwitchImport(0, '', <f-args>)
command! -buffer -nargs=1 -complete=customlist,go#complete#Package Import call s:SwitchImport(1, '', <f-args>)
command! -buffer -nargs=* -complete=customlist,go#complete#Package ImportAs call s:SwitchImport(1, <f-args>)
map <buffer> <LocalLeader>f :Import fmt<CR>
map <buffer> <LocalLeader>F :Drop fmt<CR>

function! s:SwitchImport(enabled, localname, path)
    let view = winsaveview()
    let path = a:path

    " Quotes are not necessary, so remove them if provided.
    if path[0] == '"'
        let path = strpart(path, 1)
    endif
    if path[len(path)-1] == '"'
        let path = strpart(path, 0, len(path) - 1)
    endif
    if path == ''
        call s:Error('Import path not provided')
        return
    endif

    " Extract any site prefix (e.g. github.com/).
    " If other imports with the same prefix are grouped separately,
    " we will add this new import with them.
    " Only up to and including the first slash is used.
    let siteprefix = matchstr(path, "^[^/]*/")

    let qpath = '"' . path . '"'
    if a:localname != ''
        let qlocalpath = a:localname . ' ' . qpath
    else
        let qlocalpath = qpath
    endif
    let indentstr = 0
    let packageline = -1 " Position of package name statement
    let appendline = -1  " Position to introduce new import
    let deleteline = -1  " Position of line with existing import
    let linesdelta = 0   " Lines added/removed

    " Find proper place to add/remove import.
    let line = 0
    while line <= line('$')
        let linestr = getline(line)

        if linestr =~# '^package\s'
            let packageline = line
            let appendline = line

        elseif linestr =~# '^import\s\+('
            let appendstr = qlocalpath
            let indentstr = 1
            let appendline = line
            let firstblank = -1
            let lastprefix = ""
            while line <= line("$")
                let line = line + 1
                let linestr = getline(line)
                let m = matchlist(getline(line), '^\()\|\(\s\+\)\(\S*\s*\)"\(.\+\)"\)')
                if empty(m)
                    if siteprefix == ""
                        " must be in the first group
                        break
                    endif
                    " record this position, but keep looking
                    if firstblank < 0
                        let firstblank = line
                    endif
                    continue
                endif
                if m[1] == ')'
                    " if there's no match, add it to the first group
                    if appendline < 0 && firstblank >= 0
                        let appendline = firstblank
                    endif
                    break
                endif
                let lastprefix = matchstr(m[4], "^[^/]*/")
                if a:localname != '' && m[3] != ''
                    let qlocalpath = printf('%-' . (len(m[3])-1) . 's %s', a:localname, qpath)
                endif
                let appendstr = m[2] . qlocalpath
                let indentstr = 0
                if m[4] == path
                    let appendline = -1
                    let deleteline = line
                    break
                elseif m[4] < path
                    " don't set candidate position if we have a site prefix,
                    " we've passed a blank line, and this doesn't share the same
                    " site prefix.
                    if siteprefix == "" || firstblank < 0 || match(m[4], "^" . siteprefix) >= 0
                        let appendline = line
                    endif
                elseif siteprefix != "" && match(m[4], "^" . siteprefix) >= 0
                    " first entry of site group
                    let appendline = line - 1
                    break
                endif
            endwhile
            break

        elseif linestr =~# '^import '
            if appendline == packageline
                let appendstr = 'import ' . qlocalpath
                let appendline = line - 1
            endif
            let m = matchlist(linestr, '^import\(\s\+\)\(\S*\s*\)"\(.\+\)"')
            if !empty(m)
                if m[3] == path
                    let appendline = -1
                    let deleteline = line
                    break
                endif
                if m[3] < path
                    let appendline = line
                endif
                if a:localname != '' && m[2] != ''
                    let qlocalpath = printf("%s %" . len(m[2])-1 . "s", a:localname, qpath)
                endif
                let appendstr = 'import' . m[1] . qlocalpath
            endif

        elseif linestr =~# '^\(var\|const\|type\|func\)\>'
            break

        endif
        let line = line + 1
    endwhile

    " Append or remove the package import, as requested.
    if a:enabled
        if deleteline != -1
            call s:Error(qpath . ' already being imported')
        elseif appendline == -1
            call s:Error('No package line found')
        else
            if appendline == packageline
                call append(appendline + 0, '')
                call append(appendline + 1, 'import (')
                call append(appendline + 2, ')')
                let appendline += 2
                let linesdelta += 3
                let appendstr = qlocalpath
                let indentstr = 1
            endif
            call append(appendline, appendstr)
            execute appendline + 1
            if indentstr
                execute 'normal >>'
            endif
            let linesdelta += 1
        endif
    else
        if deleteline == -1
            call s:Error(qpath . ' not being imported')
        else
            execute deleteline . 'd'
            let linesdelta -= 1

            if getline(deleteline-1) =~# '^import\s\+(' && getline(deleteline) =~# '^)'
                " Delete empty import block
                let deleteline -= 1
                execute deleteline . "d"
                execute deleteline . "d"
                let linesdelta -= 2
            endif

            if getline(deleteline) == '' && getline(deleteline - 1) == ''
                " Delete spacing for removed line too.
                execute deleteline . "d"
                let linesdelta -= 1
            endif
        endif
    endif

    " Adjust view for any changes.
    let view.lnum += linesdelta
    let view.topline += linesdelta
    if view.topline < 0
        let view.topline = 0
    endif

    " Put buffer back where it was.
    call winrestview(view)

endfunction

function! s:Error(s)
    echohl Error | echo a:s | echohl None
endfunction

" vim:ts=4:sw=4:et

Added vim/indent/coffee.vim.

















































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
" Language:    CoffeeScript
" Maintainer:  Mick Koch <kchmck@gmail.com>
" URL:         http://github.com/kchmck/vim-coffee-script
" License:     WTFPL

if exists("b:did_indent")
  finish
endif

let b:did_indent = 1

setlocal autoindent
setlocal indentexpr=GetCoffeeIndent(v:lnum)
" Make sure GetCoffeeIndent is run when these are typed so they can be
" indented or outdented.
setlocal indentkeys+=0],0),0.,=else,=when,=catch,=finally

" Only define the function once.
if exists("*GetCoffeeIndent")
  finish
endif

" Keywords to indent after
let s:INDENT_AFTER_KEYWORD = '^\%(if\|unless\|else\|for\|while\|until\|'
\                          . 'loop\|switch\|when\|try\|catch\|finally\|'
\                          . 'class\)\>'

" Operators to indent after
let s:INDENT_AFTER_OPERATOR = '\%([([{:=]\|[-=]>\)$'

" Keywords and operators that continue a line
let s:CONTINUATION = '\<\%(is\|isnt\|and\|or\)\>$'
\                  . '\|'
\                  . '\%(-\@<!-\|+\@<!+\|<\|[-=]\@<!>\|\*\|/\@<!/\|%\||\|'
\                  . '&\|,\|\.\@<!\.\)$'

" Operators that block continuation indenting
let s:CONTINUATION_BLOCK = '[([{:=]$'

" A continuation dot access
let s:DOT_ACCESS = '^\.'

" Keywords to outdent after
let s:OUTDENT_AFTER = '^\%(return\|break\|continue\|throw\)\>'

" A compound assignment like `... = if ...`
let s:COMPOUND_ASSIGNMENT = '[:=]\s*\%(if\|unless\|for\|while\|until\|'
\                         . 'switch\|try\|class\)\>'

" A postfix condition like `return ... if ...`.
let s:POSTFIX_CONDITION = '\S\s\+\zs\<\%(if\|unless\)\>'

" A single-line else statement like `else ...` but not `else if ...
let s:SINGLE_LINE_ELSE = '^else\s\+\%(\<\%(if\|unless\)\>\)\@!'

" Max lines to look back for a match
let s:MAX_LOOKBACK = 50

" Syntax names for strings
let s:SYNTAX_STRING = 'coffee\%(String\|AssignString\|Embed\|Regex\|Heregex\|'
\                   . 'Heredoc\)'

" Syntax names for comments
let s:SYNTAX_COMMENT = 'coffee\%(Comment\|BlockComment\|HeregexComment\)'

" Syntax names for strings and comments
let s:SYNTAX_STRING_COMMENT = s:SYNTAX_STRING . '\|' . s:SYNTAX_COMMENT

" Get the linked syntax name of a character.
function! s:SyntaxName(linenum, col)
  return synIDattr(synID(a:linenum, a:col, 1), 'name')
endfunction

" Check if a character is in a comment.
function! s:IsComment(linenum, col)
  return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_COMMENT
endfunction

" Check if a character is in a string.
function! s:IsString(linenum, col)
  return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_STRING
endfunction

" Check if a character is in a comment or string.
function! s:IsCommentOrString(linenum, col)
  return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_STRING_COMMENT
endfunction

" Check if a whole line is a comment.
function! s:IsCommentLine(linenum)
  " Check the first non-whitespace character.
  return s:IsComment(a:linenum, indent(a:linenum) + 1)
endfunction

" Repeatedly search a line for a regex until one is found outside a string or
" comment.
function! s:SmartSearch(linenum, regex)
  " Start at the first column.
  let col = 0

  " Search until there are no more matches, unless a good match is found.
  while 1
    call cursor(a:linenum, col + 1)
    let [_, col] = searchpos(a:regex, 'cn', a:linenum)

    " No more matches.
    if !col
      break
    endif

    if !s:IsCommentOrString(a:linenum, col)
      return 1
    endif
  endwhile

  " No good match found.
  return 0
endfunction

" Skip a match if it's in a comment or string, is a single-line statement that
" isn't adjacent, or is a postfix condition.
function! s:ShouldSkip(startlinenum, linenum, col)
  if s:IsCommentOrString(a:linenum, a:col)
    return 1
  endif

  " Check for a single-line statement that isn't adjacent.
  if s:SmartSearch(a:linenum, '\<then\>') && a:startlinenum - a:linenum > 1
    return 1
  endif

  if s:SmartSearch(a:linenum, s:POSTFIX_CONDITION) &&
  \ !s:SmartSearch(a:linenum, s:COMPOUND_ASSIGNMENT)
    return 1
  endif

  return 0
endfunction

" Find the farthest line to look back to, capped to line 1 (zero and negative
" numbers cause bad things).
function! s:MaxLookback(startlinenum)
  return max([1, a:startlinenum - s:MAX_LOOKBACK])
endfunction

" Get the skip expression for searchpair().
function! s:SkipExpr(startlinenum)
  return "s:ShouldSkip(" . a:startlinenum . ", line('.'), col('.'))"
endfunction

" Search for pairs of text.
function! s:SearchPair(start, end)
  " The cursor must be in the first column for regexes to match.
  call cursor(0, 1)

  let startlinenum = line('.')

  " Don't need the W flag since MaxLookback caps the search to line 1.
  return searchpair(a:start, '', a:end, 'bcn',
  \                 s:SkipExpr(startlinenum),
  \                 s:MaxLookback(startlinenum))
endfunction

" Try to find a previous matching line.
function! s:GetMatch(curline)
  let firstchar = a:curline[0]

  if firstchar == '}'
    return s:SearchPair('{', '}')
  elseif firstchar == ')'
    return s:SearchPair('(', ')')
  elseif firstchar == ']'
    return s:SearchPair('\[', '\]')
  elseif a:curline =~ '^else\>'
    return s:SearchPair('\<\%(if\|unless\|when\)\>', '\<else\>')
  elseif a:curline =~ '^catch\>'
    return s:SearchPair('\<try\>', '\<catch\>')
  elseif a:curline =~ '^finally\>'
    return s:SearchPair('\<try\>', '\<finally\>')
  endif

  return 0
endfunction

" Get the nearest previous line that isn't a comment.
function! s:GetPrevNormalLine(startlinenum)
  let curlinenum = a:startlinenum

  while curlinenum > 0
    let curlinenum = prevnonblank(curlinenum - 1)

    if !s:IsCommentLine(curlinenum)
      return curlinenum
    endif
  endwhile

  return 0
endfunction

" Try to find a comment in a line.
function! s:FindComment(linenum)
  let col = 0

  while 1
    call cursor(a:linenum, col + 1)
    let [_, col] = searchpos('#', 'cn', a:linenum)

    if !col
      break
    endif

    if s:IsComment(a:linenum, col)
      return col
    endif
  endwhile

  return 0
endfunction

" Get a line without comments or surrounding whitespace.
function! s:GetTrimmedLine(linenum)
  let comment = s:FindComment(a:linenum)
  let line = getline(a:linenum)

  if comment
    " Subtract 1 to get to the column before the comment and another 1 for
    " zero-based indexing.
    let line = line[:comment - 2]
  endif

  return substitute(substitute(line, '^\s\+', '', ''),
  \                                  '\s\+$', '', '')
endfunction

function! s:GetCoffeeIndent(curlinenum)
  let prevlinenum = s:GetPrevNormalLine(a:curlinenum)

  " Don't do anything if there's no previous line.
  if !prevlinenum
    return -1
  endif

  let curline = s:GetTrimmedLine(a:curlinenum)

  " Try to find a previous matching statement. This handles outdenting.
  let matchlinenum = s:GetMatch(curline)

  if matchlinenum
    return indent(matchlinenum)
  endif

  " Try to find a matching `when`.
  if curline =~ '^when\>' && !s:SmartSearch(prevlinenum, '\<switch\>')
    let linenum = a:curlinenum

    while linenum > 0
      let linenum = s:GetPrevNormalLine(linenum)

      if getline(linenum) =~ '^\s*when\>'
        return indent(linenum)
      endif
    endwhile

    return -1
  endif

  let prevline = s:GetTrimmedLine(prevlinenum)
  let previndent = indent(prevlinenum)

  " Always indent after these operators.
  if prevline =~ s:INDENT_AFTER_OPERATOR
    return previndent + &shiftwidth
  endif

  " Indent after a continuation if it's the first.
  if prevline =~ s:CONTINUATION
    let prevprevlinenum = s:GetPrevNormalLine(prevlinenum)

    " If the continuation is the first in the file, don't run the other checks.
    if !prevprevlinenum
      return previndent + &shiftwidth
    endif

    let prevprevline = s:GetTrimmedLine(prevprevlinenum)

    if prevprevline !~ s:CONTINUATION && prevprevline !~ s:CONTINUATION_BLOCK
      return previndent + &shiftwidth
    endif

    return -1
  endif

  " Indent after these keywords and compound assignments if they aren't a
  " single-line statement.
  if prevline =~ s:INDENT_AFTER_KEYWORD || prevline =~ s:COMPOUND_ASSIGNMENT
    if !s:SmartSearch(prevlinenum, '\<then\>') && prevline !~ s:SINGLE_LINE_ELSE
      return previndent + &shiftwidth
    endif

    return -1
  endif

  " Indent a dot access if it's the first.
  if curline =~ s:DOT_ACCESS && prevline !~ s:DOT_ACCESS
    return previndent + &shiftwidth
  endif

  " Outdent after these keywords if they don't have a postfix condition or are
  " a single-line statement.
  if prevline =~ s:OUTDENT_AFTER
    if !s:SmartSearch(prevlinenum, s:POSTFIX_CONDITION) ||
    \   s:SmartSearch(prevlinenum, '\<then\>')
      return previndent - &shiftwidth
    endif
  endif

  " No indenting or outdenting is needed.
  return -1
endfunction

" Wrap s:GetCoffeeIndent to keep the cursor position.
function! GetCoffeeIndent(curlinenum)
  let oldcursor = getpos('.')
  let indent = s:GetCoffeeIndent(a:curlinenum)
  call setpos('.', oldcursor)

  return indent
endfunction

Added vim/indent/go.vim.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" indent/go.vim: Vim indent file for Go.
"
" TODO:
" - function invocations split across lines
" - general line splits (line ends in an operator)

if exists("b:did_indent")
    finish
endif
let b:did_indent = 1

" C indentation is too far off useful, mainly due to Go's := operator.
" Let's just define our own.
setlocal nolisp
setlocal autoindent
setlocal indentexpr=GoIndent(v:lnum)
setlocal indentkeys+=<:>,0=},0=)

if exists("*GoIndent")
  finish
endif

function! GoIndent(lnum)
  let prevlnum = prevnonblank(a:lnum-1)
  if prevlnum == 0
    " top of file
    return 0
  endif

  " grab the previous and current line, stripping comments.
  let prevl = substitute(getline(prevlnum), '//.*$', '', '')
  let thisl = substitute(getline(a:lnum), '//.*$', '', '')
  let previ = indent(prevlnum)

  let ind = previ

  if prevl =~ '[({]\s*$'
    " previous line opened a block
    let ind += &sw
  endif
  if prevl =~# '^\s*\(case .*\|default\):$'
    " previous line is part of a switch statement
    let ind += &sw
  endif
  " TODO: handle if the previous line is a label.

  if thisl =~ '^\s*[)}]'
    " this line closed a block
    let ind -= &sw
  endif

  " Colons are tricky.
  " We want to outdent if it's part of a switch ("case foo:" or "default:").
  " We ignore trying to deal with jump labels because (a) they're rare, and
  " (b) they're hard to disambiguate from a composite literal key.
  if thisl =~# '^\s*\(case .*\|default\):$'
    let ind -= &sw
  endif

  return ind
endfunction

Added vim/indent/objc.vim.































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
"   Vim indent file
"   Language:	    Objective-C
"   Maintainer:	    Kazunobu Kuriyama <kazunobu.kuriyama@nifty.com>
"   Last Change:    2004 May 16
"


" Only load this indent file when no other was loaded.
if exists("b:did_indent")
    finish
endif
let b:did_indent = 1
setlocal cindent

" Set the function to do the work.
setlocal indentexpr=GetObjCIndent()

" To make a colon (:) suggest an indentation other than a goto/swich label,
setlocal indentkeys-=:
setlocal indentkeys+=<:>

" Only define the function once.
if exists("*GetObjCIndent")
    finish
endif

function s:GetWidth(line, regexp)
    let end = matchend(a:line, a:regexp)
    let width = 0
    let i = 0
    while i < end
	if a:line[i] != "\t"
	    let width = width + 1
	else
	    let width = width + &ts - (width % &ts)
	endif
	let i = i + 1
    endwhile
    return width
endfunction

function s:LeadingWhiteSpace(line)
    let end = strlen(a:line)
    let width = 0
    let i = 0
    while i < end
	let char = a:line[i]
	if char != " " && char != "\t"
	    break
	endif
	if char != "\t"
	    let width = width + 1
	else
	    let width = width + &ts - (width % &ts)
	endif
	let i = i + 1
    endwhile
    return width
endfunction


function GetObjCIndent()
    let theIndent = cindent(v:lnum)

    let prev_line = getline(v:lnum - 1)
    let cur_line = getline(v:lnum)

    if prev_line !~# ":" || cur_line !~# ":"
	return theIndent
    endif

    if prev_line !~# ";" && prev_line !~# "{"
	let prev_colon_pos = s:GetWidth(prev_line, ":")
	let delta = s:GetWidth(cur_line, ":") - s:LeadingWhiteSpace(cur_line)
	let theIndent = prev_colon_pos - delta
    endif

    return theIndent
endfunction

Added vim/indent/objcpp.vim.































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
"   Vim indent file
"   Language:	    Objective-C
"   Maintainer:	    Kazunobu Kuriyama <kazunobu.kuriyama@nifty.com>
"   Last Change:    2004 May 16
"


" Only load this indent file when no other was loaded.
if exists("b:did_indent")
    finish
endif
let b:did_indent = 1
setlocal cindent

" Set the function to do the work.
setlocal indentexpr=GetObjCIndent()

" To make a colon (:) suggest an indentation other than a goto/swich label,
setlocal indentkeys-=:
setlocal indentkeys+=<:>

" Only define the function once.
if exists("*GetObjCIndent")
    finish
endif

function s:GetWidth(line, regexp)
    let end = matchend(a:line, a:regexp)
    let width = 0
    let i = 0
    while i < end
	if a:line[i] != "\t"
	    let width = width + 1
	else
	    let width = width + &ts - (width % &ts)
	endif
	let i = i + 1
    endwhile
    return width
endfunction

function s:LeadingWhiteSpace(line)
    let end = strlen(a:line)
    let width = 0
    let i = 0
    while i < end
	let char = a:line[i]
	if char != " " && char != "\t"
	    break
	endif
	if char != "\t"
	    let width = width + 1
	else
	    let width = width + &ts - (width % &ts)
	endif
	let i = i + 1
    endwhile
    return width
endfunction


function GetObjCIndent()
    let theIndent = cindent(v:lnum)

    let prev_line = getline(v:lnum - 1)
    let cur_line = getline(v:lnum)

    if prev_line !~# ":" || cur_line !~# ":"
	return theIndent
    endif

    if prev_line !~# ";" && prev_line !~# "{"
	let prev_colon_pos = s:GetWidth(prev_line, ":")
	let delta = s:GetWidth(cur_line, ":") - s:LeadingWhiteSpace(cur_line)
	let theIndent = prev_colon_pos - delta
    endif

    return theIndent
endfunction

Added vim/plugin/godoc.vim.











































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" godoc.vim: Vim command to see godoc.

if exists("g:loaded_godoc")
  finish
endif
let g:loaded_godoc = 1

let s:buf_nr = -1
let s:last_word = ''

function! s:GodocView()
  if !bufexists(s:buf_nr)
    leftabove new
    file `="[Godoc]"`
    let s:buf_nr = bufnr('%')
  elseif bufwinnr(s:buf_nr) == -1
    leftabove split
    execute s:buf_nr . 'buffer'
    delete _
  elseif bufwinnr(s:buf_nr) != bufwinnr('%')
    execute bufwinnr(s:buf_nr) . 'wincmd w'
  endif

  setlocal filetype=godoc
  setlocal bufhidden=delete
  setlocal buftype=nofile
  setlocal noswapfile
  setlocal nobuflisted
  setlocal modifiable
  setlocal nocursorline
  setlocal nocursorcolumn
  setlocal iskeyword+=:
  setlocal iskeyword-=-

  nnoremap <buffer> <silent> K :Godoc<cr>

  au BufHidden <buffer> call let <SID>buf_nr = -1
endfunction

function! s:GodocWord(word)
  let word = a:word
  silent! let content = system('godoc ' . word)
  if v:shell_error || !len(content)
    if len(s:last_word)
      silent! let content = system('godoc ' . s:last_word.'/'.word)
      if v:shell_error || !len(content)
        echo 'No documentation found for "' . word . '".'
        return
      endif
      let word = s:last_word.'/'.word
    else
      echo 'No documentation found for "' . word . '".'
      return
    endif
  endif
  let s:last_word = word
  silent! call s:GodocView()
  setlocal modifiable
  silent! %d _
  silent! put! =content
  silent! normal gg
  setlocal nomodifiable
  setfiletype godoc
endfunction

function! s:Godoc(...)
  let word = join(a:000, ' ')
  if !len(word)
    let word = expand('<cword>')
  endif
  let word = substitute(word, '[^a-zA-Z0-9\\/._~-]', '', 'g')
  if !len(word)
    return
  endif
  call s:GodocWord(word)
endfunction

command! -nargs=* -range -complete=customlist,go#complete#Package Godoc :call s:Godoc(<q-args>)
nnoremap <silent> <Plug>(godoc-keyword) :<C-u>call <SID>Godoc('')<CR>

" vim:ts=4:sw=4:et

Added vim/syntax/armasm.vim.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
" Vim syntax file
" Language:     ARM Assembler
" Maintainer:   Gerald S. Williams <gsw@agere.com>
" Last Change:  2005 Mar 16
" URL:          http://www.vim.org
" Revision:     1.2
"
" based on PIC16F84 Assembler syntax file (pic.vim) by Aleksandar Veselinovic

" This includes V2, V3, V4, V5, T, E, M, XS, and VFP extensions

" 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 match
syn keyword armasmTodo		NOTE TODO XXX contained


syn case ignore

syn match armasmIdentifier	"[a-z_$][a-z0-9_$]*"
syn match armasmLabel		"^[A-Z_$][A-Z0-9_$]*"
syn region armasmLabel		start="||" end="||" oneline
syn region armasmLabel		start="|" end="|" oneline

syn region armasmASCII		start="'" end="'" skip="\\'" oneline
syn match armasmDecimal		"\d\+"
syn match armasmHexadecimal	"0[xX]\x\+"
syn match armasmHexadecimal	"&\x\+"
syn match armasmBinary		"2_[0-1]\+"
syn match armasmBase3		"3_[0-2]\+"
syn match armasmBase4		"4_[0-3]\+"
syn match armasmBase5		"5_[0-4]\+"
syn match armasmBase6		"6_[0-5]\+"
syn match armasmBase7		"7_[0-6]\+"
syn match armasmOctal		"8_[0-7]\o*"
syn match armasmBase9		"9_[0-8]\+"
syn match armasmFloat		"-\=[0-9]\+[eE]-\=[0-9]\+"
syn match armasmFloat		"-\=[0-9]*\.[0-9]\+\([eE]-\=[0-9]\+\)\="
syn match armasmBoolean		"{TRUE}"
syn match armasmBoolean		"{FALSE}"

syn match armasmBuiltIn		"{PC}"
syn match armasmBuiltIn		"{VAR}"
syn match armasmBuiltIn		"{TRUE}"
syn match armasmBuiltIn		"{FALSE}"
syn match armasmBuiltIn		"{OPT}"
syn match armasmBuiltIn		"{CONFIG}"
syn match armasmBuiltIn		"{ENDIAN}"
syn match armasmBuiltIn		"{CODESIZE}"
syn match armasmBuiltIn		"{CPU}"
syn match armasmBuiltIn		"{FPU}"
syn match armasmBuiltIn		"{ARCHITECTURE}"
syn match armasmBuiltIn		"{PCSTOREOFFSET}"
syn match armasmBuiltIn		"{ARMASM_VERSION}"
syn match armasmBuiltIn		"{INTER}"
syn match armasmBuiltIn		"{ROPI}"
syn match armasmBuiltIn		"{RWPI}"
syn match armasmBuiltIn		"{SWST}"
syn match armasmBuiltIn		"{NOSWST}"

" TODO: consider handling for string expansions ($x)

syn match armasmComment		";.*" contains=armasmTodo

syn region armasmString		start=+"+ end=+"+ oneline

syn match armasmOperator	":BASE:"
syn match armasmOperator	":INDEX:"
syn match armasmOperator	":LEN:"
syn match armasmOperator	":CHR:"
syn match armasmOperator	":STR:"
syn match armasmOperator	":NOT:"
syn match armasmOperator	":LNOT:"
syn match armasmOperator	":DEF:"
syn match armasmOperator	":SB_OFFSET_19_12:"
syn match armasmOperator	":SB_OFFSET_11_0:"
syn match armasmOperator	":MOD:"
syn match armasmOperator	":LEFT:"
syn match armasmOperator	":RIGHT:"
syn match armasmOperator	":CC:"
syn match armasmOperator	":ROL:"
syn match armasmOperator	":ROR:"
syn match armasmOperator	":SHL:"
syn match armasmOperator	":SHR:"
syn match armasmOperator	":AND:"
syn match armasmOperator	":OR:"
syn match armasmOperator	":EOR:"
syn match armasmOperator	":LAND:"
syn match armasmOperator	":LOR:"
syn match armasmOperator	":LEOR:"


syn keyword armasmRegister	r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13
syn keyword armasmRegister	r14 r15
syn keyword armasmRegister	pc lr sp ip sl sb
syn keyword armasmRegister	a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8
syn keyword armasmRegister	cpsr cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx
syn keyword armasmRegister	cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf
syn keyword armasmRegister	spsr spsr_c spsr_x spsr_s spsr_f spsr_cx
syn keyword armasmRegister	spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf
syn keyword armasmRegister	p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13
syn keyword armasmRegister	p14 p15
syn keyword armasmRegister	c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13
syn keyword armasmRegister	c14 c15
syn keyword armasmRegister	f0 f1 f2 f3 f4 f5 f6 f7
syn keyword armasmRegister	s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13
syn keyword armasmRegister	s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25
syn keyword armasmRegister	s26 s27 s28 s29 s30 s31
syn keyword armasmRegister	d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13
syn keyword armasmRegister	d14 d15


syn keyword armasmOpcode	MOV MOVEQ MOVNE MOVCS MOVHS MOVCC MOVLO
syn keyword armasmOpcode	MOVMI MOVPL MOVVS MOVVC MOVHI MOVLS
syn keyword armasmOpcode	MOVGE MOVLT MOVGT MOVLE MOVAL
syn keyword armasmOpcode	MOVS MOVEQS MOVNES MOVCSS MOVHSS MOVCCS MOVLOS
syn keyword armasmOpcode	MOVMIS MOVPLS MOVVSS MOVVCS MOVHIS MOVLSS
syn keyword armasmOpcode	MOVGES MOVLTS MOVGTS MOVLES MOVALS

syn keyword armasmOpcode	MVN MVNEQ MVNNE MVNCS MVNHS MVNCC MVNLO
syn keyword armasmOpcode	MVNMI MVNPL MVNVS MVNVC MVNHI MVNLS
syn keyword armasmOpcode	MVNGE MVNLT MVNGT MVNLE MVNAL
syn keyword armasmOpcode	MVNS MVNEQS MVNNES MVNCSS MVNHSS MVNCCS MVNLOS
syn keyword armasmOpcode	MVNMIS MVNPLS MVNVSS MVNVCS MVNHIS MVNLSS
syn keyword armasmOpcode	MVNGES MVNLTS MVNGTS MVNLES MVNALS

syn keyword armasmOpcode	MRS MRSEQ MRSNE MRSCS MRSHS MRSCC MRSLO
syn keyword armasmOpcode	MRSMI MRSPL MRSVS MRSVC MRSHI MRSLS
syn keyword armasmOpcode	MRSGE MRSLT MRSGT MRSLE MRSAL

syn keyword armasmOpcode	MSR MSREQ MSRNE MSRCS MSRHS MSRCC MSRLO
syn keyword armasmOpcode	MSRMI MSRPL MSRVS MSRVC MSRHI MSRLS
syn keyword armasmOpcode	MSRGE MSRLT MSRGT MSRLE MSRAL

syn keyword armasmOpcode	MRA MRAEQ MRANE MRACS MRAHS MRACC MRALO
syn keyword armasmOpcode	MRAMI MRAPL MRAVS MRAVC MRAHI MRALS
syn keyword armasmOpcode	MRAGE MRALT MRAGT MRALE MRAAL

syn keyword armasmOpcode	MAR MAREQ MARNE MARCS MARHS MARCC MARLO
syn keyword armasmOpcode	MARMI MARPL MARVS MARVC MARHI MARLS
syn keyword armasmOpcode	MARGE MARLT MARGT MARLE MARAL

syn keyword armasmOpcode	ADD ADDEQ ADDNE ADDCS ADDHS ADDCC ADDLO
syn keyword armasmOpcode	ADDMI ADDPL ADDVS ADDVC ADDHI ADDLS
syn keyword armasmOpcode	ADDGE ADDLT ADDGT ADDLE ADDAL
syn keyword armasmOpcode	ADDS ADDEQS ADDNES ADDCSS ADDHSS ADDCCS ADDLOS
syn keyword armasmOpcode	ADDMIS ADDPLS ADDVSS ADDVCS ADDHIS ADDLSS
syn keyword armasmOpcode	ADDGES ADDLTS ADDGTS ADDLES ADDALS

syn keyword armasmOpcode	ADC ADCEQ ADCNE ADCCS ADCHS ADCCC ADCLO
syn keyword armasmOpcode	ADCMI ADCPL ADCVS ADCVC ADCHI ADCLS
syn keyword armasmOpcode	ADCGE ADCLT ADCGT ADCLE ADCAL
syn keyword armasmOpcode	ADCS ADCEQS ADCNES ADCCSS ADCHSS ADCCCS ADCLOS
syn keyword armasmOpcode	ADCMIS ADCPLS ADCVSS ADCVCS ADCHIS ADCLSS
syn keyword armasmOpcode	ADCGES ADCLTS ADCGTS ADCLES ADCALS

syn keyword armasmOpcode	QADD QADDEQ QADDNE QADDCS QADDHS QADDCC QADDLO
syn keyword armasmOpcode	QADDMI QADDPL QADDVS QADDVC QADDHI QADDLS
syn keyword armasmOpcode	QADDGE QADDLT QADDGT QADDLE QADDAL

syn keyword armasmOpcode	QDADD QDADDEQ QDADDNE QDADDCS QDADDHS QDADDCC
syn keyword armasmOpcode	QDADDLO QDADDMI QDADDPL QDADDVS QDADDVC QDADDHI
syn keyword armasmOpcode	QDADDLS QDADDGE QDADDLT QDADDGT QDADDLE QDADDAL

syn keyword armasmOpcode	SUB SUBEQ SUBNE SUBCS SUBHS SUBCC SUBLO
syn keyword armasmOpcode	SUBMI SUBPL SUBVS SUBVC SUBHI SUBLS
syn keyword armasmOpcode	SUBGE SUBLT SUBGT SUBLE SUBAL
syn keyword armasmOpcode	SUBS SUBEQS SUBNES SUBCSS SUBHSS SUBCCS SUBLOS
syn keyword armasmOpcode	SUBMIS SUBPLS SUBVSS SUBVCS SUBHIS SUBLSS
syn keyword armasmOpcode	SUBGES SUBLTS SUBGTS SUBLES SUBALS

syn keyword armasmOpcode	SBC SBCEQ SBCNE SBCCS SBCHS SBCCC SBCLO
syn keyword armasmOpcode	SBCMI SBCPL SBCVS SBCVC SBCHI SBCLS
syn keyword armasmOpcode	SBCGE SBCLT SBCGT SBCLE SBCAL
syn keyword armasmOpcode	SBCS SBCEQS SBCNES SBCCSS SBCHSS SBCCCS SBCLOS
syn keyword armasmOpcode	SBCMIS SBCPLS SBCVSS SBCVCS SBCHIS SBCLSS
syn keyword armasmOpcode	SBCGES SBCLTS SBCGTS SBCLES SBCALS

syn keyword armasmOpcode	RSB RSBEQ RSBNE RSBCS RSBHS RSBCC RSBLO
syn keyword armasmOpcode	RSBMI RSBPL RSBVS RSBVC RSBHI RSBLS
syn keyword armasmOpcode	RSBGE RSBLT RSBGT RSBLE RSBAL
syn keyword armasmOpcode	RSBS RSBEQS RSBNES RSBCSS RSBHSS RSBCCS RSBLOS
syn keyword armasmOpcode	RSBMIS RSBPLS RSBVSS RSBVCS RSBHIS RSBLSS
syn keyword armasmOpcode	RSBGES RSBLTS RSBGTS RSBLES RSBALS

syn keyword armasmOpcode	RSC RSCEQ RSCNE RSCCS RSCHS RSCCC RSCLO
syn keyword armasmOpcode	RSCMI RSCPL RSCVS RSCVC RSCHI RSCLS
syn keyword armasmOpcode	RSCGE RSCLT RSCGT RSCLE RSCAL
syn keyword armasmOpcode	RSCS RSCEQS RSCNES RSCCSS RSCHSS RSCCCS RSCLOS
syn keyword armasmOpcode	RSCMIS RSCPLS RSCVSS RSCVCS RSCHIS RSCLSS
syn keyword armasmOpcode	RSCGES RSCLTS RSCGTS RSCLES RSCALS

syn keyword armasmOpcode	QSUB QSUBEQ QSUBNE QSUBCS QSUBHS QSUBCC QSUBLO
syn keyword armasmOpcode	QSUBMI QSUBPL QSUBVS QSUBVC QSUBHI QSUBLS
syn keyword armasmOpcode	QSUBGE QSUBLT QSUBGT QSUBLE QSUBAL

syn keyword armasmOpcode	QDSUB QDSUBEQ QDSUBNE QDSUBCS QDSUBHS QDSUBCC
syn keyword armasmOpcode	QDSUBLO QDSUBMI QDSUBPL QDSUBVS QDSUBVC QDSUBHI
syn keyword armasmOpcode	QDSUBLS QDSUBGE QDSUBLT QDSUBGT QDSUBLE QDSUBAL

syn keyword armasmOpcode	MUL MULEQ MULNE MULCS MULHS MULCC MULLO
syn keyword armasmOpcode	MULMI MULPL MULVS MULVC MULHI MULLS
syn keyword armasmOpcode	MULGE MULLT MULGT MULLE MULAL
syn keyword armasmOpcode	MULS MULEQS MULNES MULCSS MULHSS MULCCS MULLOS
syn keyword armasmOpcode	MULMIS MULPLS MULVSS MULVCS MULHIS MULLSS
syn keyword armasmOpcode	MULGES MULLTS MULGTS MULLES MULALS

syn keyword armasmOpcode	MLA MLAEQ MLANE MLACS MLAHS MLACC MLALO
syn keyword armasmOpcode	MLAMI MLAPL MLAVS MLAVC MLAHI MLALS
syn keyword armasmOpcode	MLAGE MLALT MLAGT MLALE MLAAL
syn keyword armasmOpcode	MLAS MLAEQS MLANES MLACSS MLAHSS MLACCS MLALOS
syn keyword armasmOpcode	MLAMIS MLAPLS MLAVSS MLAVCS MLAHIS MLALSS
syn keyword armasmOpcode	MLAGES MLALTS MLAGTS MLALES MLAALS

syn keyword armasmOpcode	UMULL UMULLEQ UMULLNE UMULLCS UMULLHS UMULLCC
syn keyword armasmOpcode	UMULLLO UMULLMI UMULLPL UMULLVS UMULLVC UMULLHI
syn keyword armasmOpcode	UMULLLS UMULLGE UMULLLT UMULLGT UMULLLE UMULLAL
syn keyword armasmOpcode	UMULLS UMULLEQS UMULLNES UMULLCSS UMULLHSS
syn keyword armasmOpcode	UMULLCCS UMULLLOS UMULLMIS UMULLPLS UMULLVSS
syn keyword armasmOpcode	UMULLVCS UMULLHIS UMULLLSS UMULLGES UMULLLTS
syn keyword armasmOpcode	UMULLGTS UMULLLES UMULLALS

syn keyword armasmOpcode	UMLAL UMLALEQ UMLALNE UMLALCS UMLALHS UMLALCC
syn keyword armasmOpcode	UMLALLO UMLALMI UMLALPL UMLALVS UMLALVC UMLALHI
syn keyword armasmOpcode	UMLALLS UMLALGE UMLALLT UMLALGT UMLALLE UMLALAL
syn keyword armasmOpcode	UMLALS UMLALEQS UMLALNES UMLALCSS UMLALHSS
syn keyword armasmOpcode	UMLALCCS UMLALLOS UMLALMIS UMLALPLS UMLALVSS
syn keyword armasmOpcode	UMLALVCS UMLALHIS UMLALLSS UMLALGES UMLALLTS
syn keyword armasmOpcode	UMLALGTS UMLALLES UMLALALS

syn keyword armasmOpcode	SMULL SMULLEQ SMULLNE SMULLCS SMULLHS SMULLCC
syn keyword armasmOpcode	SMULLLO SMULLMI SMULLPL SMULLVS SMULLVC SMULLHI
syn keyword armasmOpcode	SMULLLS SMULLGE SMULLLT SMULLGT SMULLLE SMULLAL
syn keyword armasmOpcode	SMULLS SMULLEQS SMULLNES SMULLCSS SMULLHSS
syn keyword armasmOpcode	SMULLCCS SMULLLOS SMULLMIS SMULLPLS SMULLVSS
syn keyword armasmOpcode	SMULLVCS SMULLHIS SMULLLSS SMULLGES SMULLLTS
syn keyword armasmOpcode	SMULLGTS SMULLLES SMULLALS

syn keyword armasmOpcode	SMLAL SMLALEQ SMLALNE SMLALCS SMLALHS SMLALCC
syn keyword armasmOpcode	SMLALLO SMLALMI SMLALPL SMLALVS SMLALVC SMLALHI
syn keyword armasmOpcode	SMLALLS SMLALGE SMLALLT SMLALGT SMLALLE SMLALAL
syn keyword armasmOpcode	SMLALS SMLALEQS SMLALNES SMLALCSS SMLALHSS
syn keyword armasmOpcode	SMLALCCS SMLALLOS SMLALMIS SMLALPLS SMLALVSS
syn keyword armasmOpcode	SMLALVCS SMLALHIS SMLALLSS SMLALGES SMLALLTS
syn keyword armasmOpcode	SMLALGTS SMLALLES SMLALALS

syn keyword armasmOpcode	SMULxy SMULxyEQ SMULxyNE SMULxyCS SMULxyHS
syn keyword armasmOpcode	SMULxyCC SMULxyLO SMULxyMI SMULxyPL SMULxyVS
syn keyword armasmOpcode	SMULxyVC SMULxyHI SMULxyLS SMULxyGE SMULxyLT
syn keyword armasmOpcode	SMULxyGT SMULxyLE SMULxyAL

syn keyword armasmOpcode	SMULWy SMULWyEQ SMULWyNE SMULWyCS SMULWyHS
syn keyword armasmOpcode	SMULWyCC SMULWyLO SMULWyMI SMULWyPL SMULWyVS
syn keyword armasmOpcode	SMULWyVC SMULWyHI SMULWyLS SMULWyGE SMULWyLT
syn keyword armasmOpcode	SMULWyGT SMULWyLE SMULWyAL

syn keyword armasmOpcode	SMLAxy SMLAxyEQ SMLAxyNE SMLAxyCS SMLAxyHS
syn keyword armasmOpcode	SMLAxyCC SMLAxyLO SMLAxyMI SMLAxyPL SMLAxyVS
syn keyword armasmOpcode	SMLAxyVC SMLAxyHI SMLAxyLS SMLAxyGE SMLAxyLT
syn keyword armasmOpcode	SMLAxyGT SMLAxyLE SMLAxyAL

syn keyword armasmOpcode	SMLAWy SMLAWyEQ SMLAWyNE SMLAWyCS SMLAWyHS
syn keyword armasmOpcode	SMLAWyCC SMLAWyLO SMLAWyMI SMLAWyPL SMLAWyVS
syn keyword armasmOpcode	SMLAWyVC SMLAWyHI SMLAWyLS SMLAWyGE SMLAWyLT
syn keyword armasmOpcode	SMLAWyGT SMLAWyLE SMLAWyAL

syn keyword armasmOpcode	SMLALxy SMLALxyEQ SMLALxyNE SMLALxyCS SMLALxyHS
syn keyword armasmOpcode	SMLALxyCC SMLALxyLO SMLALxyMI SMLALxyPL
syn keyword armasmOpcode	SMLALxyVS SMLALxyVC SMLALxyHI SMLALxyLS
syn keyword armasmOpcode	SMLALxyGE SMLALxyLT SMLALxyGT SMLALxyLE
syn keyword armasmOpcode	SMLALxyAL

syn keyword armasmOpcode	MIA MIAEQ MIANE MIACS MIAHS MIACC MIALO
syn keyword armasmOpcode	MIAMI MIAPL MIAVS MIAVC MIAHI MIALS
syn keyword armasmOpcode	MIAGE MIALT MIAGT MIALE MIAAL

syn keyword armasmOpcode	MIAPH MIAPHEQ MIAPHNE MIAPHCS MIAPHHS MIAPHCC
syn keyword armasmOpcode	MIAPHLO MIAPHMI MIAPHPL MIAPHVS MIAPHVC MIAPHHI
syn keyword armasmOpcode	MIAPHLS MIAPHGE MIAPHLT MIAPHGT MIAPHLE MIAPHAL

syn keyword armasmOpcode	MIAxy MIAxyEQ MIAxyNE MIAxyCS MIAxyHS MIAxyCC
syn keyword armasmOpcode	MIAxyLO MIAxyMI MIAxyPL MIAxyVS MIAxyVC MIAxyHI
syn keyword armasmOpcode	MIAxyLS MIAxyGE MIAxyLT MIAxyGT MIAxyLE MIAxyAL

syn keyword armasmOpcode	CLZ CLZEQ CLZNE CLZCS CLZHS CLZCC CLZLO
syn keyword armasmOpcode	CLZMI CLZPL CLZVS CLZVC CLZHI CLZLS
syn keyword armasmOpcode	CLZGE CLZLT CLZGT CLZLE CLZAL

syn keyword armasmOpcode	TST TSTEQ TSTNE TSTCS TSTHS TSTCC TSTLO
syn keyword armasmOpcode	TSTMI TSTPL TSTVS TSTVC TSTHI TSTLS
syn keyword armasmOpcode	TSTGE TSTLT TSTGT TSTLE TSTAL

syn keyword armasmOpcode	TEQ TEQEQ TEQNE TEQCS TEQHS TEQCC TEQLO
syn keyword armasmOpcode	TEQMI TEQPL TEQVS TEQVC TEQHI TEQLS
syn keyword armasmOpcode	TEQGE TEQLT TEQGT TEQLE TEQAL

syn keyword armasmOpcode	AND ANDEQ ANDNE ANDCS ANDHS ANDCC ANDLO
syn keyword armasmOpcode	ANDMI ANDPL ANDVS ANDVC ANDHI ANDLS
syn keyword armasmOpcode	ANDGE ANDLT ANDGT ANDLE ANDAL
syn keyword armasmOpcode	ANDS ANDEQS ANDNES ANDCSS ANDHSS ANDCCS ANDLOS
syn keyword armasmOpcode	ANDMIS ANDPLS ANDVSS ANDVCS ANDHIS ANDLSS
syn keyword armasmOpcode	ANDGES ANDLTS ANDGTS ANDLES ANDALS

syn keyword armasmOpcode	EOR EOREQ EORNE EORCS EORHS EORCC EORLO
syn keyword armasmOpcode	EORMI EORPL EORVS EORVC EORHI EORLS
syn keyword armasmOpcode	EORGE EORLT EORGT EORLE EORAL
syn keyword armasmOpcode	EORS EOREQS EORNES EORCSS EORHSS EORCCS EORLOS
syn keyword armasmOpcode	EORMIS EORPLS EORVSS EORVCS EORHIS EORLSS
syn keyword armasmOpcode	EORGES EORLTS EORGTS EORLES EORALS

syn keyword armasmOpcode	ORR ORREQ ORRNE ORRCS ORRHS ORRCC ORRLO
syn keyword armasmOpcode	ORRMI ORRPL ORRVS ORRVC ORRHI ORRLS
syn keyword armasmOpcode	ORRGE ORRLT ORRGT ORRLE ORRAL
syn keyword armasmOpcode	ORRS ORREQS ORRNES ORRCSS ORRHSS ORRCCS ORRLOS
syn keyword armasmOpcode	ORRMIS ORRPLS ORRVSS ORRVCS ORRHIS ORRLSS
syn keyword armasmOpcode	ORRGES ORRLTS ORRGTS ORRLES ORRALS

syn keyword armasmOpcode	BIC BICEQ BICNE BICCS BICHS BICCC BICLO
syn keyword armasmOpcode	BICMI BICPL BICVS BICVC BICHI BICLS
syn keyword armasmOpcode	BICGE BICLT BICGT BICLE BICAL
syn keyword armasmOpcode	BICS BICEQS BICNES BICCSS BICHSS BICCCS BICLOS
syn keyword armasmOpcode	BICMIS BICPLS BICVSS BICVCS BICHIS BICLSS
syn keyword armasmOpcode	BICGES BICLTS BICGTS BICLES BICALS

syn keyword armasmOpcode	CMP CMPEQ CMPNE CMPCS CMPHS CMPCC CMPLO
syn keyword armasmOpcode	CMPMI CMPPL CMPVS CMPVC CMPHI CMPLS
syn keyword armasmOpcode	CMPGE CMPLT CMPGT CMPLE CMPAL

syn keyword armasmOpcode	CMN CMNEQ CMNNE CMNCS CMNHS CMNCC CMNLO
syn keyword armasmOpcode	CMNMI CMNPL CMNVS CMNVC CMNHI CMNLS
syn keyword armasmOpcode	CMNGE CMNLT CMNGT CMNLE CMNAL

syn keyword armasmOpcode	NOP

syn keyword armasmOpcode	B BEQ BNE BCS BHS BCC BLO
syn keyword armasmOpcode	BMI BPL BVS BVC BHI BLS
syn keyword armasmOpcode	BGE BLT BGT BLE BAL

syn keyword armasmOpcode	BL BLEQ BLNE BLCS BLHS BLCC BLLO
syn keyword armasmOpcode	BLMI BLPL BLVS BLVC BLHI BLLS
syn keyword armasmOpcode	BLGE BLLT BLGT BLLE BLAL

syn keyword armasmOpcode	BX BXEQ BXNE BXCS BXHS BXCC BXLO
syn keyword armasmOpcode	BXMI BXPL BXVS BXVC BXHI BXLS
syn keyword armasmOpcode	BXGE BXLT BXGT BXLE BXAL

syn keyword armasmOpcode	BLX BLXEQ BLXNE BLXCS BLXHS BLXCC BLXLO
syn keyword armasmOpcode	BLXMI BLXPL BLXVS BLXVC BLXHI BLXLS
syn keyword armasmOpcode	BLXGE BLXLT BLXGT BLXLE BLXAL

syn keyword armasmOpcode	LDR LDREQ LDRNE LDRCS LDRHS LDRCC LDRLO
syn keyword armasmOpcode	LDRMI LDRPL LDRVS LDRVC LDRHI LDRLS
syn keyword armasmOpcode	LDRGE LDRLT LDRGT LDRLE LDRAL
syn keyword armasmOpcode	LDRT LDREQT LDRNET LDRCST LDRHST LDRCCT LDRLOT
syn keyword armasmOpcode	LDRMIT LDRPLT LDRVST LDRVCT LDRHIT LDRLST
syn keyword armasmOpcode	LDRGET LDRLTT LDRGTT LDRLET LDRALT
syn keyword armasmOpcode	LDRB LDREQB LDRNEB LDRCSB LDRHSB LDRCCB LDRLOB
syn keyword armasmOpcode	LDRMIB LDRPLB LDRVSB LDRVCB LDRHIB LDRLSB
syn keyword armasmOpcode	LDRGEB LDRLTB LDRGTB LDRLEB LDRALB
syn keyword armasmOpcode	LDRBT LDREQBT LDRNEBT LDRCSBT LDRHSBT LDRCCBT
syn keyword armasmOpcode	LDRLOBT LDRMIBT LDRPLBT LDRVSBT LDRVCBT LDRHIBT
syn keyword armasmOpcode	LDRLSBT LDRGEBT LDRLTBT LDRGTBT LDRLEBT LDRALBT
syn keyword armasmOpcode	LDRSB LDREQSB LDRNESB LDRCSSB LDRHSSB LDRCCSB
syn keyword armasmOpcode	LDRLOSB LDRMISB LDRPLSB LDRVSSB LDRVCSB LDRHISB
syn keyword armasmOpcode	LDRLSSB LDRGESB LDRLTSB LDRGTSB LDRLESB LDRALSB
syn keyword armasmOpcode	LDRH LDREQH LDRNEH LDRCSH LDRHSH LDRCCH LDRLOH
syn keyword armasmOpcode	LDRMIH LDRPLH LDRVSH LDRVCH LDRHIH LDRLSH
syn keyword armasmOpcode	LDRGEH LDRLTH LDRGTH LDRLEH LDRALH
syn keyword armasmOpcode	LDRSH LDREQSH LDRNESH LDRCSSH LDRHSSH LDRCCSH
syn keyword armasmOpcode	LDRLOSH LDRMISH LDRPLSH LDRVSSH LDRVCSH LDRHISH
syn keyword armasmOpcode	LDRLSSH LDRGESH LDRLTSH LDRGTSH LDRLESH LDRALSH
syn keyword armasmOpcode	LDRD LDREQD LDRNED LDRCSD LDRHSD LDRCCD LDRLOD
syn keyword armasmOpcode	LDRMID LDRPLD LDRVSD LDRVCD LDRHID LDRLSD
syn keyword armasmOpcode	LDRGED LDRLTD LDRGTD LDRLED LDRALD

syn keyword armasmOpcode	LDMIA LDMEQIA LDMNEIA LDMCSIA LDMHSIA LDMCCIA
syn keyword armasmOpcode	LDMLOIA LDMMIIA LDMPLIA LDMVSIA LDMVCIA LDMHIIA
syn keyword armasmOpcode	LDMLSIA LDMGEIA LDMLTIA LDMGTIA LDMLEIA LDMALIA
syn keyword armasmOpcode	LDMIB LDMEQIB LDMNEIB LDMCSIB LDMHSIB LDMCCIB
syn keyword armasmOpcode	LDMLOIB LDMMIIB LDMPLIB LDMVSIB LDMVCIB LDMHIIB
syn keyword armasmOpcode	LDMLSIB LDMGEIB LDMLTIB LDMGTIB LDMLEIB LDMALIB
syn keyword armasmOpcode	LDMDA LDMEQDA LDMNEDA LDMCSDA LDMHSDA LDMCCDA
syn keyword armasmOpcode	LDMLODA LDMMIDA LDMPLDA LDMVSDA LDMVCDA LDMHIDA
syn keyword armasmOpcode	LDMLSDA LDMGEDA LDMLTDA LDMGTDA LDMLEDA LDMALDA
syn keyword armasmOpcode	LDMDB LDMEQDB LDMNEDB LDMCSDB LDMHSDB LDMCCDB
syn keyword armasmOpcode	LDMLODB LDMMIDB LDMPLDB LDMVSDB LDMVCDB LDMHIDB
syn keyword armasmOpcode	LDMLSDB LDMGEDB LDMLTDB LDMGTDB LDMLEDB LDMALDB
syn keyword armasmOpcode	LDMFD LDMEQFD LDMNEFD LDMCSFD LDMHSFD LDMCCFD
syn keyword armasmOpcode	LDMLOFD LDMMIFD LDMPLFD LDMVSFD LDMVCFD LDMHIFD
syn keyword armasmOpcode	LDMLSFD LDMGEFD LDMLTFD LDMGTFD LDMLEFD LDMALFD
syn keyword armasmOpcode	LDMED LDMEQED LDMNEED LDMCSED LDMHSED LDMCCED
syn keyword armasmOpcode	LDMLOED LDMMIED LDMPLED LDMVSED LDMVCED LDMHIED
syn keyword armasmOpcode	LDMLSED LDMGEED LDMLTED LDMGTED LDMLEED LDMALED
syn keyword armasmOpcode	LDMFA LDMEQFA LDMNEFA LDMCSFA LDMHSFA LDMCCFA
syn keyword armasmOpcode	LDMLOFA LDMMIFA LDMPLFA LDMVSFA LDMVCFA LDMHIFA
syn keyword armasmOpcode	LDMLSFA LDMGEFA LDMLTFA LDMGTFA LDMLEFA LDMALFA
syn keyword armasmOpcode	LDMEA LDMEQEA LDMNEEA LDMCSEA LDMHSEA LDMCCEA
syn keyword armasmOpcode	LDMLOEA LDMMIEA LDMPLEA LDMVSEA LDMVCEA LDMHIEA
syn keyword armasmOpcode	LDMLSEA LDMGEEA LDMLTEA LDMGTEA LDMLEEA LDMALEA

syn keyword armasmOpcode	PLD

syn keyword armasmOpcode	STR STREQ STRNE STRCS STRHS STRCC STRLO
syn keyword armasmOpcode	STRMI STRPL STRVS STRVC STRHI STRLS
syn keyword armasmOpcode	STRGE STRLT STRGT STRLE STRAL
syn keyword armasmOpcode	STRT STREQT STRNET STRCST STRHST STRCCT STRLOT
syn keyword armasmOpcode	STRMIT STRPLT STRVST STRVCT STRHIT STRLST
syn keyword armasmOpcode	STRGET STRLTT STRGTT STRLET STRALT
syn keyword armasmOpcode	STRB STREQB STRNEB STRCSB STRHSB STRCCB STRLOB
syn keyword armasmOpcode	STRMIB STRPLB STRVSB STRVCB STRHIB STRLSB
syn keyword armasmOpcode	STRGEB STRLTB STRGTB STRLEB STRALB
syn keyword armasmOpcode	STRBT STREQBT STRNEBT STRCSBT STRHSBT STRCCBT
syn keyword armasmOpcode	STRLOBT STRMIBT STRPLBT STRVSBT STRVCBT STRHIBT
syn keyword armasmOpcode	STRLSBT STRGEBT STRLTBT STRGTBT STRLEBT STRALBT
syn keyword armasmOpcode	STRH STREQH STRNEH STRCSH STRHSH STRCCH STRLOH
syn keyword armasmOpcode	STRMIH STRPLH STRVSH STRVCH STRHIH STRLSH
syn keyword armasmOpcode	STRGEH STRLTH STRGTH STRLEH STRALH
syn keyword armasmOpcode	STRD STREQD STRNED STRCSD STRHSD STRCCD STRLOD
syn keyword armasmOpcode	STRMID STRPLD STRVSD STRVCD STRHID STRLSD
syn keyword armasmOpcode	STRGED STRLTD STRGTD STRLED STRALD

syn keyword armasmOpcode	STMIA STMEQIA STMNEIA STMCSIA STMHSIA STMCCIA
syn keyword armasmOpcode	STMLOIA STMMIIA STMPLIA STMVSIA STMVCIA STMHIIA
syn keyword armasmOpcode	STMLSIA STMGEIA STMLTIA STMGTIA STMLEIA STMALIA
syn keyword armasmOpcode	STMIB STMEQIB STMNEIB STMCSIB STMHSIB STMCCIB
syn keyword armasmOpcode	STMLOIB STMMIIB STMPLIB STMVSIB STMVCIB STMHIIB
syn keyword armasmOpcode	STMLSIB STMGEIB STMLTIB STMGTIB STMLEIB STMALIB
syn keyword armasmOpcode	STMDA STMEQDA STMNEDA STMCSDA STMHSDA STMCCDA
syn keyword armasmOpcode	STMLODA STMMIDA STMPLDA STMVSDA STMVCDA STMHIDA
syn keyword armasmOpcode	STMLSDA STMGEDA STMLTDA STMGTDA STMLEDA STMALDA
syn keyword armasmOpcode	STMDB STMEQDB STMNEDB STMCSDB STMHSDB STMCCDB
syn keyword armasmOpcode	STMLODB STMMIDB STMPLDB STMVSDB STMVCDB STMHIDB
syn keyword armasmOpcode	STMLSDB STMGEDB STMLTDB STMGTDB STMLEDB STMALDB
syn keyword armasmOpcode	STMFD STMEQFD STMNEFD STMCSFD STMHSFD STMCCFD
syn keyword armasmOpcode	STMLOFD STMMIFD STMPLFD STMVSFD STMVCFD STMHIFD
syn keyword armasmOpcode	STMLSFD STMGEFD STMLTFD STMGTFD STMLEFD STMALFD
syn keyword armasmOpcode	STMED STMEQED STMNEED STMCSED STMHSED STMCCED
syn keyword armasmOpcode	STMLOED STMMIED STMPLED STMVSED STMVCED STMHIED
syn keyword armasmOpcode	STMLSED STMGEED STMLTED STMGTED STMLEED STMALED
syn keyword armasmOpcode	STMFA STMEQFA STMNEFA STMCSFA STMHSFA STMCCFA
syn keyword armasmOpcode	STMLOFA STMMIFA STMPLFA STMVSFA STMVCFA STMHIFA
syn keyword armasmOpcode	STMLSFA STMGEFA STMLTFA STMGTFA STMLEFA STMALFA
syn keyword armasmOpcode	STMEA STMEQEA STMNEEA STMCSEA STMHSEA STMCCEA
syn keyword armasmOpcode	STMLOEA STMMIEA STMPLEA STMVSEA STMVCEA STMHIEA
syn keyword armasmOpcode	STMLSEA STMGEEA STMLTEA STMGTEA STMLEEA STMALEA
syn keyword armasmOpcode	FSTMFDD FLDMFD

syn keyword armasmOpcode	SWP SWPEQ SWPNE SWPCS SWPHS SWPCC SWPLO
syn keyword armasmOpcode	SWPMI SWPPL SWPVS SWPVC SWPHI SWPLS
syn keyword armasmOpcode	SWPGE SWPLT SWPGT SWPLE SWPAL

syn keyword armasmOpcode	SWPB SWPEQB SWPNEB SWPCSB SWPHSB SWPCCB SWPLOB 
syn keyword armasmOpcode	SWPMIB SWPPLB SWPVSB SWPVCB SWPHIB SWPLSB 
syn keyword armasmOpcode	SWPGEB SWPLTB SWPGTB SWPLEB SWPALB 

syn keyword armasmOpcode	CDP CDPEQ CDPNE CDPCS CDPHS CDPCC CDPLO
syn keyword armasmOpcode	CDPMI CDPPL CDPVS CDPVC CDPHI CDPLS
syn keyword armasmOpcode	CDPGE CDPLT CDPGT CDPLE CDPAL

syn keyword armasmOpcode	CDP2 CDP2EQ CDP2NE CDP2CS CDP2HS CDP2CC CDP2LO
syn keyword armasmOpcode	CDP2MI CDP2PL CDP2VS CDP2VC CDP2HI CDP2LS
syn keyword armasmOpcode	CDP2GE CDP2LT CDP2GT CDP2LE CDP2AL

syn keyword armasmOpcode	MRC MRCEQ MRCNE MRCCS MRCHS MRCCC MRCLO
syn keyword armasmOpcode	MRCMI MRCPL MRCVS MRCVC MRCHI MRCLS
syn keyword armasmOpcode	MRCGE MRCLT MRCGT MRCLE MRCAL

syn keyword armasmOpcode	MRC2 MRC2EQ MRC2NE MRC2CS MRC2HS MRC2CC MRC2LO
syn keyword armasmOpcode	MRC2MI MRC2PL MRC2VS MRC2VC MRC2HI MRC2LS
syn keyword armasmOpcode	MRC2GE MRC2LT MRC2GT MRC2LE MRC2AL

syn keyword armasmOpcode	MRRC MRRCEQ MRRCNE MRRCCS MRRCHS MRRCCC MRRCLO
syn keyword armasmOpcode	MRRCMI MRRCPL MRRCVS MRRCVC MRRCHI MRRCLS
syn keyword armasmOpcode	MRRCGE MRRCLT MRRCGT MRRCLE MRRCAL

syn keyword armasmOpcode	MCR MCREQ MCRNE MCRCS MCRHS MCRCC MCRLO
syn keyword armasmOpcode	MCRMI MCRPL MCRVS MCRVC MCRHI MCRLS
syn keyword armasmOpcode	MCRGE MCRLT MCRGT MCRLE MCRAL

syn keyword armasmOpcode	MCR2 MCR2EQ MCR2NE MCR2CS MCR2HS MCR2CC MCR2LO
syn keyword armasmOpcode	MCR2MI MCR2PL MCR2VS MCR2VC MCR2HI MCR2LS
syn keyword armasmOpcode	MCR2GE MCR2LT MCR2GT MCR2LE MCR2AL

syn keyword armasmOpcode	MCRR MCRREQ MCRRNE MCRRCS MCRRHS MCRRCC MCRRLO
syn keyword armasmOpcode	MCRRMI MCRRPL MCRRVS MCRRVC MCRRHI MCRRLS
syn keyword armasmOpcode	MCRRGE MCRRLT MCRRGT MCRRLE MCRRAL

syn keyword armasmOpcode	LDC LDCEQ LDCNE LDCCS LDCHS LDCCC LDCLO
syn keyword armasmOpcode	LDCMI LDCPL LDCVS LDCVC LDCHI LDCLS
syn keyword armasmOpcode	LDCGE LDCLT LDCGT LDCLE LDCAL

syn keyword armasmOpcode	LDC2 LDC2EQ LDC2NE LDC2CS LDC2HS LDC2CC LDC2LO
syn keyword armasmOpcode	LDC2MI LDC2PL LDC2VS LDC2VC LDC2HI LDC2LS
syn keyword armasmOpcode	LDC2GE LDC2LT LDC2GT LDC2LE LDC2AL

syn keyword armasmOpcode	STC STCEQ STCNE STCCS STCHS STCCC STCLO
syn keyword armasmOpcode	STCMI STCPL STCVS STCVC STCHI STCLS
syn keyword armasmOpcode	STCGE STCLT STCGT STCLE STCAL

syn keyword armasmOpcode	STC2 STC2EQ STC2NE STC2CS STC2HS STC2CC STC2LO
syn keyword armasmOpcode	STC2MI STC2PL STC2VS STC2VC STC2HI STC2LS
syn keyword armasmOpcode	STC2GE STC2LT STC2GT STC2LE STC2AL

syn keyword armasmOpcode	SWI SWIEQ SWINE SWICS SWIHS SWICC SWILO
syn keyword armasmOpcode	SWIMI SWIPL SWIVS SWIVC SWIHI SWILS
syn keyword armasmOpcode	SWIGE SWILT SWIGT SWILE SWIAL

syn keyword armasmOpcode	BKPT

syn keyword armasmOpcode	NEG LSL LSR ASR ROR RRX PUSH POP

syn keyword armasmOpcode	FMULS FMULSEQ FMULSNE FMULSCS FMULSHS FMULSCC
syn keyword armasmOpcode	FMULSLO FMULSMI FMULSPL FMULSVS FMULSVC FMULSHI
syn keyword armasmOpcode	FMULSLS FMULSGE FMULSLT FMULSGT FMULSLE FMULSAL
syn keyword armasmOpcode	FMULD FMULDEQ FMULDNE FMULDCS FMULDHS FMULDCC
syn keyword armasmOpcode	FMULDLO FMULDMI FMULDPL FMULDVS FMULDVC FMULDHI
syn keyword armasmOpcode	FMULDLS FMULDGE FMULDLT FMULDGT FMULDLE FMULDAL

syn keyword armasmOpcode	FNMULS FNMULSEQ FNMULSNE FNMULSCS FNMULSHS
syn keyword armasmOpcode	FNMULSCC FNMULSLO FNMULSMI FNMULSPL FNMULSVS
syn keyword armasmOpcode	FNMULSVC FNMULSHI FNMULSLS FNMULSGE FNMULSLT
syn keyword armasmOpcode	FNMULSGT FNMULSLE FNMULSAL FNMULD FNMULDEQ
syn keyword armasmOpcode	FNMULDNE FNMULDCS FNMULDHS FNMULDCC FNMULDLO
syn keyword armasmOpcode	FNMULDMI FNMULDPL FNMULDVS FNMULDVC FNMULDHI
syn keyword armasmOpcode	FNMULDLS FNMULDGE FNMULDLT FNMULDGT FNMULDLE
syn keyword armasmOpcode	FNMULDAL

syn keyword armasmOpcode	FMACS FMACSEQ FMACSNE FMACSCS FMACSHS FMACSCC
syn keyword armasmOpcode	FMACSLO FMACSMI FMACSPL FMACSVS FMACSVC FMACSHI
syn keyword armasmOpcode	FMACSLS FMACSGE FMACSLT FMACSGT FMACSLE FMACSAL
syn keyword armasmOpcode	FMACD FMACDEQ FMACDNE FMACDCS FMACDHS FMACDCC
syn keyword armasmOpcode	FMACDLO FMACDMI FMACDPL FMACDVS FMACDVC FMACDHI
syn keyword armasmOpcode	FMACDLS FMACDGE FMACDLT FMACDGT FMACDLE FMACDAL

syn keyword armasmOpcode	FNMACS FNMACSEQ FNMACSNE FNMACSCS FNMACSHS
syn keyword armasmOpcode	FNMACSCC FNMACSLO FNMACSMI FNMACSPL FNMACSVS
syn keyword armasmOpcode	FNMACSVC FNMACSHI FNMACSLS FNMACSGE FNMACSLT
syn keyword armasmOpcode	FNMACSGT FNMACSLE FNMACSAL FNMACD FNMACDEQ
syn keyword armasmOpcode	FNMACDNE FNMACDCS FNMACDHS FNMACDCC FNMACDLO
syn keyword armasmOpcode	FNMACDMI FNMACDPL FNMACDVS FNMACDVC FNMACDHI
syn keyword armasmOpcode	FNMACDLS FNMACDGE FNMACDLT FNMACDGT FNMACDLE
syn keyword armasmOpcode	FNMACDAL

syn keyword armasmOpcode	FMSCS FMSCSEQ FMSCSNE FMSCSCS FMSCSHS FMSCSCC
syn keyword armasmOpcode	FMSCSLO FMSCSMI FMSCSPL FMSCSVS FMSCSVC FMSCSHI
syn keyword armasmOpcode	FMSCSLS FMSCSGE FMSCSLT FMSCSGT FMSCSLE FMSCSAL
syn keyword armasmOpcode	FMSCD FMSCDEQ FMSCDNE FMSCDCS FMSCDHS FMSCDCC
syn keyword armasmOpcode	FMSCDLO FMSCDMI FMSCDPL FMSCDVS FMSCDVC FMSCDHI
syn keyword armasmOpcode	FMSCDLS FMSCDGE FMSCDLT FMSCDGT FMSCDLE FMSCDAL

syn keyword armasmOpcode	FNMSCS FNMSCSEQ FNMSCSNE FNMSCSCS FNMSCSHS
syn keyword armasmOpcode	FNMSCSCC FNMSCSLO FNMSCSMI FNMSCSPL FNMSCSVS
syn keyword armasmOpcode	FNMSCSVC FNMSCSHI FNMSCSLS FNMSCSGE FNMSCSLT
syn keyword armasmOpcode	FNMSCSGT FNMSCSLE FNMSCSAL FNMSCD FNMSCDEQ
syn keyword armasmOpcode	FNMSCDNE FNMSCDCS FNMSCDHS FNMSCDCC FNMSCDLO
syn keyword armasmOpcode	FNMSCDMI FNMSCDPL FNMSCDVS FNMSCDVC FNMSCDHI
syn keyword armasmOpcode	FNMSCDLS FNMSCDGE FNMSCDLT FNMSCDGT FNMSCDLE
syn keyword armasmOpcode	FNMSCDAL

syn keyword armasmOpcode	FADDS FADDSEQ FADDSNE FADDSCS FADDSHS FADDSCC
syn keyword armasmOpcode	FADDSLO FADDSMI FADDSPL FADDSVS FADDSVC FADDSHI
syn keyword armasmOpcode	FADDSLS FADDSGE FADDSLT FADDSGT FADDSLE FADDSAL
syn keyword armasmOpcode	FADDD FADDDEQ FADDDNE FADDDCS FADDDHS FADDDCC
syn keyword armasmOpcode	FADDDLO FADDDMI FADDDPL FADDDVS FADDDVC FADDDHI
syn keyword armasmOpcode	FADDDLS FADDDGE FADDDLT FADDDGT FADDDLE FADDDAL

syn keyword armasmOpcode	FSUBS FSUBSEQ FSUBSNE FSUBSCS FSUBSHS FSUBSCC
syn keyword armasmOpcode	FSUBSLO FSUBSMI FSUBSPL FSUBSVS FSUBSVC FSUBSHI
syn keyword armasmOpcode	FSUBSLS FSUBSGE FSUBSLT FSUBSGT FSUBSLE FSUBSAL
syn keyword armasmOpcode	FSUBD FSUBDEQ FSUBDNE FSUBDCS FSUBDHS FSUBDCC
syn keyword armasmOpcode	FSUBDLO FSUBDMI FSUBDPL FSUBDVS FSUBDVC FSUBDHI
syn keyword armasmOpcode	FSUBDLS FSUBDGE FSUBDLT FSUBDGT FSUBDLE FSUBDAL

syn keyword armasmOpcode	FDIVS FDIVSEQ FDIVSNE FDIVSCS FDIVSHS FDIVSCC
syn keyword armasmOpcode	FDIVSLO FDIVSMI FDIVSPL FDIVSVS FDIVSVC FDIVSHI
syn keyword armasmOpcode	FDIVSLS FDIVSGE FDIVSLT FDIVSGT FDIVSLE FDIVSAL
syn keyword armasmOpcode	FDIVD FDIVDEQ FDIVDNE FDIVDCS FDIVDHS FDIVDCC
syn keyword armasmOpcode	FDIVDLO FDIVDMI FDIVDPL FDIVDVS FDIVDVC FDIVDHI
syn keyword armasmOpcode	FDIVDLS FDIVDGE FDIVDLT FDIVDGT FDIVDLE FDIVDAL

syn keyword armasmOpcode	FCPYS FCPYSEQ FCPYSNE FCPYSCS FCPYSHS FCPYSCC
syn keyword armasmOpcode	FCPYSLO FCPYSMI FCPYSPL FCPYSVS FCPYSVC FCPYSHI
syn keyword armasmOpcode	FCPYSLS FCPYSGE FCPYSLT FCPYSGT FCPYSLE FCPYSAL
syn keyword armasmOpcode	FCPYD FCPYDEQ FCPYDNE FCPYDCS FCPYDHS FCPYDCC
syn keyword armasmOpcode	FCPYDLO FCPYDMI FCPYDPL FCPYDVS FCPYDVC FCPYDHI
syn keyword armasmOpcode	FCPYDLS FCPYDGE FCPYDLT FCPYDGT FCPYDLE FCPYDAL

syn keyword armasmOpcode	FABSS FABSSEQ FABSSNE FABSSCS FABSSHS FABSSCC
syn keyword armasmOpcode	FABSSLO FABSSMI FABSSPL FABSSVS FABSSVC FABSSHI
syn keyword armasmOpcode	FABSSLS FABSSGE FABSSLT FABSSGT FABSSLE FABSSAL
syn keyword armasmOpcode	FABSD FABSDEQ FABSDNE FABSDCS FABSDHS FABSDCC
syn keyword armasmOpcode	FABSDLO FABSDMI FABSDPL FABSDVS FABSDVC FABSDHI
syn keyword armasmOpcode	FABSDLS FABSDGE FABSDLT FABSDGT FABSDLE FABSDAL

syn keyword armasmOpcode	FNEGS FNEGSEQ FNEGSNE FNEGSCS FNEGSHS FNEGSCC
syn keyword armasmOpcode	FNEGSLO FNEGSMI FNEGSPL FNEGSVS FNEGSVC FNEGSHI
syn keyword armasmOpcode	FNEGSLS FNEGSGE FNEGSLT FNEGSGT FNEGSLE FNEGSAL
syn keyword armasmOpcode	FNEGD FNEGDEQ FNEGDNE FNEGDCS FNEGDHS FNEGDCC
syn keyword armasmOpcode	FNEGDLO FNEGDMI FNEGDPL FNEGDVS FNEGDVC FNEGDHI
syn keyword armasmOpcode	FNEGDLS FNEGDGE FNEGDLT FNEGDGT FNEGDLE FNEGDAL

syn keyword armasmOpcode	FSQRTS FSQRTSEQ FSQRTSNE FSQRTSCS FSQRTSHS
syn keyword armasmOpcode	FSQRTSCC FSQRTSLO FSQRTSMI FSQRTSPL FSQRTSVS
syn keyword armasmOpcode	FSQRTSVC FSQRTSHI FSQRTSLS FSQRTSGE FSQRTSLT
syn keyword armasmOpcode	FSQRTSGT FSQRTSLE FSQRTSAL FSQRTD FSQRTDEQ
syn keyword armasmOpcode	FSQRTDNE FSQRTDCS FSQRTDHS FSQRTDCC FSQRTDLO
syn keyword armasmOpcode	FSQRTDMI FSQRTDPL FSQRTDVS FSQRTDVC FSQRTDHI
syn keyword armasmOpcode	FSQRTDLS FSQRTDGE FSQRTDLT FSQRTDGT FSQRTDLE
syn keyword armasmOpcode	FSQRTDAL

syn keyword armasmOpcode	FCMPS FCMPSEQ FCMPSNE FCMPSCS FCMPSHS FCMPSCC
syn keyword armasmOpcode	FCMPSLO FCMPSMI FCMPSPL FCMPSVS FCMPSVC FCMPSHI
syn keyword armasmOpcode	FCMPSLS FCMPSGE FCMPSLT FCMPSGT FCMPSLE FCMPSAL
syn keyword armasmOpcode	FCMPD FCMPDEQ FCMPDNE FCMPDCS FCMPDHS FCMPDCC
syn keyword armasmOpcode	FCMPDLO FCMPDMI FCMPDPL FCMPDVS FCMPDVC FCMPDHI
syn keyword armasmOpcode	FCMPDLS FCMPDGE FCMPDLT FCMPDGT FCMPDLE FCMPDAL

syn keyword armasmOpcode	FCMPES FCMPESEQ FCMPESNE FCMPESCS FCMPESHS
syn keyword armasmOpcode	FCMPESCC FCMPESLO FCMPESMI FCMPESPL FCMPESVS
syn keyword armasmOpcode	FCMPESVC FCMPESHI FCMPESLS FCMPESGE FCMPESLT
syn keyword armasmOpcode	FCMPESGT FCMPESLE FCMPESAL FCMPED FCMPEDEQ
syn keyword armasmOpcode	FCMPEDNE FCMPEDCS FCMPEDHS FCMPEDCC FCMPEDLO
syn keyword armasmOpcode	FCMPEDMI FCMPEDPL FCMPEDVS FCMPEDVC FCMPEDHI
syn keyword armasmOpcode	FCMPEDLS FCMPEDGE FCMPEDLT FCMPEDGT FCMPEDLE
syn keyword armasmOpcode	FCMPEDAL

syn keyword armasmOpcode	FCMPZS FCMPZSEQ FCMPZSNE FCMPZSCS FCMPZSHS
syn keyword armasmOpcode	FCMPZSCC FCMPZSLO FCMPZSMI FCMPZSPL FCMPZSVS
syn keyword armasmOpcode	FCMPZSVC FCMPZSHI FCMPZSLS FCMPZSGE FCMPZSLT
syn keyword armasmOpcode	FCMPZSGT FCMPZSLE FCMPZSAL FCMPZD FCMPZDEQ
syn keyword armasmOpcode	FCMPZDNE FCMPZDCS FCMPZDHS FCMPZDCC FCMPZDLO
syn keyword armasmOpcode	FCMPZDMI FCMPZDPL FCMPZDVS FCMPZDVC FCMPZDHI
syn keyword armasmOpcode	FCMPZDLS FCMPZDGE FCMPZDLT FCMPZDGT FCMPZDLE
syn keyword armasmOpcode	FCMPZDAL

syn keyword armasmOpcode	FCMPEZS FCMPEZSEQ FCMPEZSNE FCMPEZSCS FCMPEZSHS
syn keyword armasmOpcode	FCMPEZSCC FCMPEZSLO FCMPEZSMI FCMPEZSPL
syn keyword armasmOpcode	FCMPEZSVS FCMPEZSVC FCMPEZSHI FCMPEZSLS
syn keyword armasmOpcode	FCMPEZSGE FCMPEZSLT FCMPEZSGT FCMPEZSLE
syn keyword armasmOpcode	FCMPEZSAL FCMPEZD FCMPEZDEQ FCMPEZDNE FCMPEZDCS
syn keyword armasmOpcode	FCMPEZDHS FCMPEZDCC FCMPEZDLO FCMPEZDMI
syn keyword armasmOpcode	FCMPEZDPL FCMPEZDVS FCMPEZDVC FCMPEZDHI
syn keyword armasmOpcode	FCMPEZDLS FCMPEZDGE FCMPEZDLT FCMPEZDGT
syn keyword armasmOpcode	FCMPEZDLE FCMPEZDAL

syn keyword armasmOpcode	FCVTDS FCVTDSEQ FCVTDSNE FCVTDSCS FCVTDSHS
syn keyword armasmOpcode	FCVTDSCC FCVTDSLO FCVTDSMI FCVTDSPL FCVTDSVS
syn keyword armasmOpcode	FCVTDSVC FCVTDSHI FCVTDSLS FCVTDSGE FCVTDSLT
syn keyword armasmOpcode	FCVTDSGT FCVTDSLE FCVTDSAL

syn keyword armasmOpcode	FCVTSD FCVTSDEQ FCVTSDNE FCVTSDCS FCVTSDHS
syn keyword armasmOpcode	FCVTSDCC FCVTSDLO FCVTSDMI FCVTSDPL FCVTSDVS
syn keyword armasmOpcode	FCVTSDVC FCVTSDHI FCVTSDLS FCVTSDGE FCVTSDLT
syn keyword armasmOpcode	FCVTSDGT FCVTSDLE FCVTSDAL

syn keyword armasmOpcode	FUITOS FUITOSEQ FUITOSNE FUITOSCS FUITOSHS
syn keyword armasmOpcode	FUITOSCC FUITOSLO FUITOSMI FUITOSPL FUITOSVS
syn keyword armasmOpcode	FUITOSVC FUITOSHI FUITOSLS FUITOSGE FUITOSLT
syn keyword armasmOpcode	FUITOSGT FUITOSLE FUITOSAL
syn keyword armasmOpcode	FUITOD FUITODEQ FUITODNE FUITODCS FUITODHS
syn keyword armasmOpcode	FUITODCC FUITODLO FUITODMI FUITODPL FUITODVS
syn keyword armasmOpcode	FUITODVC FUITODHI FUITODLS FUITODGE FUITODLT
syn keyword armasmOpcode	FUITODGT FUITODLE FUITODAL

syn keyword armasmOpcode	FSITOS FSITOSEQ FSITOSNE FSITOSCS FSITOSHS
syn keyword armasmOpcode	FSITOSCC FSITOSLO FSITOSMI FSITOSPL FSITOSVS
syn keyword armasmOpcode	FSITOSVC FSITOSHI FSITOSLS FSITOSGE FSITOSLT
syn keyword armasmOpcode	FSITOSGT FSITOSLE FSITOSAL
syn keyword armasmOpcode	FSITOD FSITODEQ FSITODNE FSITODCS FSITODHS
syn keyword armasmOpcode	FSITODCC FSITODLO FSITODMI FSITODPL FSITODVS
syn keyword armasmOpcode	FSITODVC FSITODHI FSITODLS FSITODGE FSITODLT
syn keyword armasmOpcode	FSITODGT FSITODLE FSITODAL

syn keyword armasmOpcode	FTOUIS FTOUISEQ FTOUISNE FTOUISCS FTOUISHS
syn keyword armasmOpcode	FTOUISCC FTOUISLO FTOUISMI FTOUISPL FTOUISVS
syn keyword armasmOpcode	FTOUISVC FTOUISHI FTOUISLS FTOUISGE FTOUISLT
syn keyword armasmOpcode	FTOUISGT FTOUISLE FTOUISAL
syn keyword armasmOpcode	FTOUID FTOUIDEQ FTOUIDNE FTOUIDCS FTOUIDHS
syn keyword armasmOpcode	FTOUIDCC FTOUIDLO FTOUIDMI FTOUIDPL FTOUIDVS
syn keyword armasmOpcode	FTOUIDVC FTOUIDHI FTOUIDLS FTOUIDGE FTOUIDLT
syn keyword armasmOpcode	FTOUIDGT FTOUIDLE FTOUIDAL

syn keyword armasmOpcode	FTOUIZS FTOUIZSEQ FTOUIZSNE FTOUIZSCS FTOUIZSHS
syn keyword armasmOpcode	FTOUIZSCC FTOUIZSLO FTOUIZSMI FTOUIZSPL
syn keyword armasmOpcode	FTOUIZSVS FTOUIZSVC FTOUIZSHI FTOUIZSLS
syn keyword armasmOpcode	FTOUIZSGE FTOUIZSLT FTOUIZSGT FTOUIZSLE
syn keyword armasmOpcode	FTOUIZSAL
syn keyword armasmOpcode	FTOUIZD FTOUIZDEQ FTOUIZDNE FTOUIZDCS FTOUIZDHS
syn keyword armasmOpcode	FTOUIZDCC FTOUIZDLO FTOUIZDMI FTOUIZDPL
syn keyword armasmOpcode	FTOUIZDVS FTOUIZDVC FTOUIZDHI FTOUIZDLS
syn keyword armasmOpcode	FTOUIZDGE FTOUIZDLT FTOUIZDGT FTOUIZDLE
syn keyword armasmOpcode	FTOUIZDAL

syn keyword armasmOpcode	FTOSIS FTOSISEQ FTOSISNE FTOSISCS FTOSISHS
syn keyword armasmOpcode	FTOSISCC FTOSISLO FTOSISMI FTOSISPL FTOSISVS
syn keyword armasmOpcode	FTOSISVC FTOSISHI FTOSISLS FTOSISGE FTOSISLT
syn keyword armasmOpcode	FTOSISGT FTOSISLE FTOSISAL
syn keyword armasmOpcode	FTOSID FTOSIDEQ FTOSIDNE FTOSIDCS FTOSIDHS
syn keyword armasmOpcode	FTOSIDCC FTOSIDLO FTOSIDMI FTOSIDPL FTOSIDVS
syn keyword armasmOpcode	FTOSIDVC FTOSIDHI FTOSIDLS FTOSIDGE FTOSIDLT
syn keyword armasmOpcode	FTOSIDGT FTOSIDLE FTOSIDAL

syn keyword armasmOpcode	FTOSIZS FTOSIZSEQ FTOSIZSNE FTOSIZSCS FTOSIZSHS
syn keyword armasmOpcode	FTOSIZSCC FTOSIZSLO FTOSIZSMI FTOSIZSPL
syn keyword armasmOpcode	FTOSIZSVS FTOSIZSVC FTOSIZSHI FTOSIZSLS
syn keyword armasmOpcode	FTOSIZSGE FTOSIZSLT FTOSIZSGT FTOSIZSLE
syn keyword armasmOpcode	FTOSIZSAL
syn keyword armasmOpcode	FTOSIZD FTOSIZDEQ FTOSIZDNE FTOSIZDCS FTOSIZDHS
syn keyword armasmOpcode	FTOSIZDCC FTOSIZDLO FTOSIZDMI FTOSIZDPL
syn keyword armasmOpcode	FTOSIZDVS FTOSIZDVC FTOSIZDHI FTOSIZDLS
syn keyword armasmOpcode	FTOSIZDGE FTOSIZDLT FTOSIZDGT FTOSIZDLE
syn keyword armasmOpcode	FTOSIZDAL

syn keyword armasmOpcode	FSTS FSTSEQ FSTSNE FSTSCS FSTSHS FSTSCC FSTSLO
syn keyword armasmOpcode	FSTSMI FSTSPL FSTSVS FSTSVC FSTSHI FSTSLS
syn keyword armasmOpcode	FSTSGE FSTSLT FSTSGT FSTSLE FSTSAL
syn keyword armasmOpcode	FSTD FSTDEQ FSTDNE FSTDCS FSTDHS FSTDCC FSTDLO
syn keyword armasmOpcode	FSTDMI FSTDPL FSTDVS FSTDVC FSTDHI FSTDLS
syn keyword armasmOpcode	FSTDGE FSTDLT FSTDGT FSTDLE FSTDAL

syn keyword armasmOpcode	FSTMIAS FSTMIASEQ FSTMIASNE FSTMIASCS FSTMIASHS
syn keyword armasmOpcode	FSTMIASCC FSTMIASLO FSTMIASMI FSTMIASPL
syn keyword armasmOpcode	FSTMIASVS FSTMIASVC FSTMIASHI FSTMIASLS
syn keyword armasmOpcode	FSTMIASGE FSTMIASLT FSTMIASGT FSTMIASLE
syn keyword armasmOpcode	FSTMIASAL
syn keyword armasmOpcode	FSTMIAD FSTMIADEQ FSTMIADNE FSTMIADCS FSTMIADHS
syn keyword armasmOpcode	FSTMIADCC FSTMIADLO FSTMIADMI FSTMIADPL
syn keyword armasmOpcode	FSTMIADVS FSTMIADVC FSTMIADHI FSTMIADLS
syn keyword armasmOpcode	FSTMIADGE FSTMIADLT FSTMIADGT FSTMIADLE
syn keyword armasmOpcode	FSTMIADAL
syn keyword armasmOpcode	FSTMIAX FSTMIAXEQ FSTMIAXNE FSTMIAXCS FSTMIAXHS
syn keyword armasmOpcode	FSTMIAXCC FSTMIAXLO FSTMIAXMI FSTMIAXPL
syn keyword armasmOpcode	FSTMIAXVS FSTMIAXVC FSTMIAXHI FSTMIAXLS
syn keyword armasmOpcode	FSTMIAXGE FSTMIAXLT FSTMIAXGT FSTMIAXLE
syn keyword armasmOpcode	FSTMIAXAL

syn keyword armasmOpcode	FSTMDBS FSTMDBSEQ FSTMDBSNE FSTMDBSCS FSTMDBSHS
syn keyword armasmOpcode	FSTMDBSCC FSTMDBSLO FSTMDBSMI FSTMDBSPL
syn keyword armasmOpcode	FSTMDBSVS FSTMDBSVC FSTMDBSHI FSTMDBSLS
syn keyword armasmOpcode	FSTMDBSGE FSTMDBSLT FSTMDBSGT FSTMDBSLE
syn keyword armasmOpcode	FSTMDBSAL
syn keyword armasmOpcode	FSTMDBD FSTMDBDEQ FSTMDBDNE FSTMDBDCS FSTMDBDHS
syn keyword armasmOpcode	FSTMDBDCC FSTMDBDLO FSTMDBDMI FSTMDBDPL
syn keyword armasmOpcode	FSTMDBDVS FSTMDBDVC FSTMDBDHI FSTMDBDLS
syn keyword armasmOpcode	FSTMDBDGE FSTMDBDLT FSTMDBDGT FSTMDBDLE
syn keyword armasmOpcode	FSTMDBDAL
syn keyword armasmOpcode	FSTMDBX FSTMDBXEQ FSTMDBXNE FSTMDBXCS FSTMDBXHS
syn keyword armasmOpcode	FSTMDBXCC FSTMDBXLO FSTMDBXMI FSTMDBXPL
syn keyword armasmOpcode	FSTMDBXVS FSTMDBXVC FSTMDBXHI FSTMDBXLS
syn keyword armasmOpcode	FSTMDBXGE FSTMDBXLT FSTMDBXGT FSTMDBXLE
syn keyword armasmOpcode	FSTMDBXAL

syn keyword armasmOpcode	FLDS FLDSEQ FLDSNE FLDSCS FLDSHS FLDSCC FLDSLO
syn keyword armasmOpcode	FLDSMI FLDSPL FLDSVS FLDSVC FLDSHI FLDSLS
syn keyword armasmOpcode	FLDSGE FLDSLT FLDSGT FLDSLE FLDSAL
syn keyword armasmOpcode	FLDD FLDDEQ FLDDNE FLDDCS FLDDHS FLDDCC FLDDLO
syn keyword armasmOpcode	FLDDMI FLDDPL FLDDVS FLDDVC FLDDHI FLDDLS
syn keyword armasmOpcode	FLDDGE FLDDLT FLDDGT FLDDLE FLDDAL

syn keyword armasmOpcode	FLDMIAS FLDMIASEQ FLDMIASNE FLDMIASCS FLDMIASHS
syn keyword armasmOpcode	FLDMIASCC FLDMIASLO FLDMIASMI FLDMIASPL
syn keyword armasmOpcode	FLDMIASVS FLDMIASVC FLDMIASHI FLDMIASLS
syn keyword armasmOpcode	FLDMIASGE FLDMIASLT FLDMIASGT FLDMIASLE
syn keyword armasmOpcode	FLDMIASAL
syn keyword armasmOpcode	FLDMIAD FLDMIADEQ FLDMIADNE FLDMIADCS FLDMIADHS
syn keyword armasmOpcode	FLDMIADCC FLDMIADLO FLDMIADMI FLDMIADPL
syn keyword armasmOpcode	FLDMIADVS FLDMIADVC FLDMIADHI FLDMIADLS
syn keyword armasmOpcode	FLDMIADGE FLDMIADLT FLDMIADGT FLDMIADLE
syn keyword armasmOpcode	FLDMIADAL
syn keyword armasmOpcode	FLDMIAX FLDMIAXEQ FLDMIAXNE FLDMIAXCS FLDMIAXHS
syn keyword armasmOpcode	FLDMIAXCC FLDMIAXLO FLDMIAXMI FLDMIAXPL
syn keyword armasmOpcode	FLDMIAXVS FLDMIAXVC FLDMIAXHI FLDMIAXLS
syn keyword armasmOpcode	FLDMIAXGE FLDMIAXLT FLDMIAXGT FLDMIAXLE
syn keyword armasmOpcode	FLDMIAXAL

syn keyword armasmOpcode	FLDMDBS FLDMDBSEQ FLDMDBSNE FLDMDBSCS FLDMDBSHS
syn keyword armasmOpcode	FLDMDBSCC FLDMDBSLO FLDMDBSMI FLDMDBSPL
syn keyword armasmOpcode	FLDMDBSVS FLDMDBSVC FLDMDBSHI FLDMDBSLS
syn keyword armasmOpcode	FLDMDBSGE FLDMDBSLT FLDMDBSGT FLDMDBSLE
syn keyword armasmOpcode	FLDMDBSAL
syn keyword armasmOpcode	FLDMDBD FLDMDBDEQ FLDMDBDNE FLDMDBDCS FLDMDBDHS
syn keyword armasmOpcode	FLDMDBDCC FLDMDBDLO FLDMDBDMI FLDMDBDPL
syn keyword armasmOpcode	FLDMDBDVS FLDMDBDVC FLDMDBDHI FLDMDBDLS
syn keyword armasmOpcode	FLDMDBDGE FLDMDBDLT FLDMDBDGT FLDMDBDLE
syn keyword armasmOpcode	FLDMDBDAL
syn keyword armasmOpcode	FLDMDBX FLDMDBXEQ FLDMDBXNE FLDMDBXCS FLDMDBXHS
syn keyword armasmOpcode	FLDMDBXCC FLDMDBXLO FLDMDBXMI FLDMDBXPL
syn keyword armasmOpcode	FLDMDBXVS FLDMDBXVC FLDMDBXHI FLDMDBXLS
syn keyword armasmOpcode	FLDMDBXGE FLDMDBXLT FLDMDBXGT FLDMDBXLE
syn keyword armasmOpcode	FLDMDBXAL

syn keyword armasmOpcode	FMSR FMSREQ FMSRNE FMSRCS FMSRHS FMSRCC FMSRLO
syn keyword armasmOpcode	FMSRMI FMSRPL FMSRVS FMSRVC FMSRHI FMSRLS
syn keyword armasmOpcode	FMSRGE FMSRLT FMSRGT FMSRLE FMSRAL

syn keyword armasmOpcode	FMRS FMRSEQ FMRSNE FMRSCS FMRSHS FMRSCC FMRSLO
syn keyword armasmOpcode	FMRSMI FMRSPL FMRSVS FMRSVC FMRSHI FMRSLS
syn keyword armasmOpcode	FMRSGE FMRSLT FMRSGT FMRSLE FMRSAL

syn keyword armasmOpcode	FMDLR FMDLREQ FMDLRNE FMDLRCS FMDLRHS FMDLRCC
syn keyword armasmOpcode	FMDLRLO FMDLRMI FMDLRPL FMDLRVS FMDLRVC FMDLRHI
syn keyword armasmOpcode	FMDLRLS FMDLRGE FMDLRLT FMDLRGT FMDLRLE FMDLRAL

syn keyword armasmOpcode	FMRDL FMRDLEQ FMRDLNE FMRDLCS FMRDLHS FMRDLCC
syn keyword armasmOpcode	FMRDLLO FMRDLMI FMRDLPL FMRDLVS FMRDLVC FMRDLHI
syn keyword armasmOpcode	FMRDLLS FMRDLGE FMRDLLT FMRDLGT FMRDLLE FMRDLAL

syn keyword armasmOpcode	FMDHR FMDHREQ FMDHRNE FMDHRCS FMDHRHS FMDHRCC
syn keyword armasmOpcode	FMDHRLO FMDHRMI FMDHRPL FMDHRVS FMDHRVC FMDHRHI
syn keyword armasmOpcode	FMDHRLS FMDHRGE FMDHRLT FMDHRGT FMDHRLE FMDHRAL

syn keyword armasmOpcode	FMRDH FMRDHEQ FMRDHNE FMRDHCS FMRDHHS FMRDHCC
syn keyword armasmOpcode	FMRDHLO FMRDHMI FMRDHPL FMRDHVS FMRDHVC FMRDHHI
syn keyword armasmOpcode	FMRDHLS FMRDHGE FMRDHLT FMRDHGT FMRDHLE FMRDHAL

syn keyword armasmOpcode	FMXR FMXREQ FMXRNE FMXRCS FMXRHS FMXRCC FMXRLO
syn keyword armasmOpcode	FMXRMI FMXRPL FMXRVS FMXRVC FMXRHI FMXRLS
syn keyword armasmOpcode	FMXRGE FMXRLT FMXRGT FMXRLE FMXRAL

syn keyword armasmOpcode	FMRX FMRXEQ FMRXNE FMRXCS FMRXHS FMRXCC FMRXLO
syn keyword armasmOpcode	FMRXMI FMRXPL FMRXVS FMRXVC FMRXHI FMRXLS
syn keyword armasmOpcode	FMRXGE FMRXLT FMRXGT FMRXLE FMRXAL

syn keyword armasmOpcode	FMSTAT FMSTATEQ FMSTATNE FMSTATCS FMSTATHS
syn keyword armasmOpcode	FMSTATCC FMSTATLO FMSTATMI FMSTATPL FMSTATVS
syn keyword armasmOpcode	FMSTATVC FMSTATHI FMSTATLS FMSTATGE FMSTATLT
syn keyword armasmOpcode	FMSTATGT FMSTATLE FMSTATAL

syn keyword armasmOpcode	ADR ADREQ ADRNE ADRCS ADRHS ADRCC ADRLO
syn keyword armasmOpcode	ADRMI ADRPL ADRVS ADRVC ADRHI ADRLS
syn keyword armasmOpcode	ADRGE ADRLT ADRGT ADRLE ADRAL
syn keyword armasmOpcode	ADRL ADREQL ADRNEL ADRCSL ADRHSL ADRCCL ADRLOL
syn keyword armasmOpcode	ADRMIL ADRPLL ADRVSL ADRVCL ADRHIL ADRLSL
syn keyword armasmOpcode	ADRGEL ADRLTL ADRGTL ADRLEL ADRALL

syn keyword armasmDirective	ADDRESS ALIGN AREA ASSERT CN CODE16 CODE32 CP
syn keyword armasmDirective	DATA DCB DCD DCDO DCDU DCFD DCFDU DCFS DCFSU
syn keyword armasmDirective	DCI DCQ DCQU DCW DCWU DN ELSE END ENDFUNC ENDIF
syn keyword armasmDirective	ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FN
syn keyword armasmDirective	FRAME FUNCTION GBLA GBLL GBLS GET GLOBAL IF
syn keyword armasmDirective	IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS
syn keyword armasmDirective	LTORG MACRO MAP MEND MEXIT NOFP OPT POP PROC
syn keyword armasmDirective	PUSH REGISTER REMEMBER REQUIRE RESTORE RLIST RN
syn keyword armasmDirective	ROUT SAVE SETA SETL SETS SN SPACE STATE SUBT
syn keyword armasmDirective	TTL WEND WHILE
syn keyword armasmDirective	ASSOC CODE COMDEF COMMON NOINIT READONLY
syn keyword armasmDirective	READWRITE WEAK


" 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_armasm_syntax_inits")
  if version < 508
    let did_armasm_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink armasmTodo		Todo
  HiLink armasmComment		Comment
  HiLink armasmDirective	Statement
  HiLink armasmString		String
  HiLink armasmRegister		Structure
  HiLink armasmASCII		Character
  HiLink armasmBinary		Number
  HiLink armasmDecimal		Number
  HiLink armasmHexadecimal	Number
  HiLink armasmOctal		Number
  HiLink armasmBase3		Number
  HiLink armasmBase4		Number
  HiLink armasmBase5		Number
  HiLink armasmBase6		Number
  HiLink armasmBase7		Number
  HiLink armasmBase9		Number
  HiLink armasmFloat		Float
  HiLink armasmBoolean		Boolean
  HiLink armasmBuiltIn		Constant
  HiLink armasmIdentifier	Identifier

  "
  " The following look better (for me, at least) with the alternate mappings,
  " although the more "natural" way to highlight them is as follows:
  "
  HiLink armasmLabel		Label
  HiLink armasmOpcode		Keyword
  HiLink armasmOperator		Operator

  "HiLink armasmLabel		Identifier
  "HiLink armasmOpcode		Normal
  "HiLink armasmOperator		Special

  delcommand HiLink
endif

let b:current_syntax = "armasm"

" vim: ts=8

Added vim/syntax/coffee.vim.

























































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
" Language:    CoffeeScript
" Maintainer:  Mick Koch <kchmck@gmail.com>
" URL:         http://github.com/kchmck/vim-coffee-script
" License:     WTFPL

" Bail if our syntax is already loaded.
if exists('b:current_syntax') && b:current_syntax == 'coffee'
  finish
endif

" Include JavaScript for coffeeEmbed.
syn include @coffeeJS syntax/javascript.vim

" Highlight long strings.
syn sync minlines=100

" CoffeeScript identifiers can have dollar signs.
setlocal isident+=$

" These are `matches` instead of `keywords` because vim's highlighting
" priority for keywords is higher than matches. This causes keywords to be
" highlighted inside matches, even if a match says it shouldn't contain them --
" like with coffeeAssign and coffeeDot.
syn match coffeeStatement /\<\%(return\|break\|continue\|throw\)\>/ display
hi def link coffeeStatement Statement

syn match coffeeRepeat /\<\%(for\|while\|until\|loop\)\>/ display
hi def link coffeeRepeat Repeat

syn match coffeeConditional /\<\%(if\|else\|unless\|switch\|when\|then\)\>/
\                           display
hi def link coffeeConditional Conditional

syn match coffeeException /\<\%(try\|catch\|finally\)\>/ display
hi def link coffeeException Exception

syn match coffeeKeyword /\<\%(new\|in\|of\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\)\>/
\                       display
" The `own` keyword is only a keyword after `for`.
syn match coffeeKeyword /\<for\s\+own\>/ contained containedin=coffeeRepeat
\                       display
hi def link coffeeKeyword Keyword

syn match coffeeOperator /\<\%(instanceof\|typeof\|delete\)\>/ display
hi def link coffeeOperator Operator

" The first case matches symbol operators only if they have an operand before.
syn match coffeeExtendedOp /\%(\S\s*\)\@<=[+\-*/%&|\^=!<>?.]\+\|[-=]>\|--\|++\|::/
\                          display
syn match coffeeExtendedOp /\%(and\|or\)=/ display
hi def link coffeeExtendedOp coffeeOperator

" This is separate from `coffeeExtendedOp` to help differentiate commas from
" dots.
syn match coffeeSpecialOp /[,;]/ display
hi def link coffeeSpecialOp SpecialChar

syn match coffeeBoolean /\<\%(true\|on\|yes\|false\|off\|no\)\>/ display
hi def link coffeeBoolean Boolean

syn match coffeeGlobal /\<\%(null\|undefined\)\>/ display
hi def link coffeeGlobal Type

" A special variable
syn match coffeeSpecialVar /\<\%(this\|prototype\|arguments\)\>/ display
" An @-variable
syn match coffeeSpecialVar /@\%(\I\i*\)\?/ display
hi def link coffeeSpecialVar Special

" A class-like name that starts with a capital letter
syn match coffeeObject /\<\u\w*\>/ display
hi def link coffeeObject Structure

" A constant-like name in SCREAMING_CAPS
syn match coffeeConstant /\<\u[A-Z0-9_]\+\>/ display
hi def link coffeeConstant Constant

" A variable name
syn cluster coffeeIdentifier contains=coffeeSpecialVar,coffeeObject,
\                                     coffeeConstant

" A non-interpolated string
syn cluster coffeeBasicString contains=@Spell,coffeeEscape
" An interpolated string
syn cluster coffeeInterpString contains=@coffeeBasicString,coffeeInterp

" Regular strings
syn region coffeeString start=/"/ skip=/\\\\\|\\"/ end=/"/
\                       contains=@coffeeInterpString
syn region coffeeString start=/'/ skip=/\\\\\|\\'/ end=/'/
\                       contains=@coffeeBasicString
hi def link coffeeString String

" A integer, including a leading plus or minus
syn match coffeeNumber /\i\@<![-+]\?\d\+\%([eE][+-]\?\d\+\)\?/ display
" A hex number
syn match coffeeNumber /\<0[xX]\x\+\>/ display
hi def link coffeeNumber Number

" A floating-point number, including a leading plus or minus
syn match coffeeFloat /\i\@<![-+]\?\d*\.\@<!\.\d\+\%([eE][+-]\?\d\+\)\?/
\                     display
hi def link coffeeFloat Float

" An error for reserved keywords
if !exists("coffee_no_reserved_words_error")
  syn match coffeeReservedError /\<\%(case\|default\|function\|var\|void\|with\|const\|let\|enum\|export\|import\|native\|__hasProp\|__extends\|__slice\|__bind\|__indexOf\)\>/
  \                             display
  hi def link coffeeReservedError Error
endif

" This is separate from `coffeeExtendedOp` since assignments require it.
syn match coffeeAssignOp /:/ contained display
hi def link coffeeAssignOp coffeeOperator

" Strings used in string assignments, which can't have interpolations
syn region coffeeAssignString start=/"/ skip=/\\\\\|\\"/ end=/"/ contained
\                             contains=@coffeeBasicString
syn region coffeeAssignString start=/'/ skip=/\\\\\|\\'/ end=/'/ contained
\                             contains=@coffeeBasicString
hi def link coffeeAssignString String

" A normal object assignment
syn match coffeeObjAssign /@\?\I\i*\s*:\@<!::\@!/
\                         contains=@coffeeIdentifier,coffeeAssignOp
hi def link coffeeObjAssign Identifier

" An object-string assignment
syn match coffeeObjStringAssign /\("\|'\)[^\1]*\1\s*;\@<!::\@!'\@!/
\                               contains=coffeeAssignString,coffeeAssignOp
" An object-integer assignment
syn match coffeeObjNumberAssign /\d\+\%(\.\d\+\)\?\s*:\@<!::\@!/
\                               contains=coffeeNumber,coffeeAssignOp

syn keyword coffeeTodo TODO FIXME XXX contained
hi def link coffeeTodo Todo

syn match coffeeComment /#.*/ contains=@Spell,coffeeTodo
hi def link coffeeComment Comment

syn region coffeeBlockComment start=/####\@!/ end=/###/
\                             contains=@Spell,coffeeTodo
hi def link coffeeBlockComment coffeeComment

" A comment in a heregex
syn region coffeeHeregexComment start=/#/ end=/\ze\/\/\/\|$/ contained
\                               contains=@Spell,coffeeTodo
hi def link coffeeHeregexComment coffeeComment

" Embedded JavaScript
syn region coffeeEmbed matchgroup=coffeeEmbedDelim
\                      start=/`/ skip=/\\\\\|\\`/ end=/`/
\                      contains=@coffeeJS
hi def link coffeeEmbedDelim Delimiter

syn region coffeeInterp matchgroup=coffeeInterpDelim start=/#{/ end=/}/ contained
\                       contains=@coffeeAll
hi def link coffeeInterpDelim PreProc

" A string escape sequence
syn match coffeeEscape /\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\./ contained display
hi def link coffeeEscape SpecialChar

" A regex -- must not follow a parenthesis, number, or identifier, and must not
" be followed by a number
syn region coffeeRegex start=/\%(\%()\|\i\@<!\d\)\s*\|\i\)\@<!\/=\@!\s\@!/
\                      skip=/\[[^\]]\{-}\/[^\]]\{-}\]/
\                      end=/\/[gimy]\{,4}\d\@!/
\                      oneline contains=@coffeeBasicString
hi def link coffeeRegex String

" A heregex
syn region coffeeHeregex start=/\/\/\// end=/\/\/\/[gimy]\{,4}/
\                        contains=@coffeeInterpString,coffeeHeregexComment
\                        fold
hi def link coffeeHeregex coffeeRegex

" Heredoc strings
syn region coffeeHeredoc start=/"""/ end=/"""/ contains=@coffeeInterpString
\                        fold
syn region coffeeHeredoc start=/'''/ end=/'''/ contains=@coffeeBasicString
\                        fold
hi def link coffeeHeredoc String

" An error for trailing whitespace, as long as the line isn't just whitespace
if !exists("coffee_no_trailing_space_error")
  syn match coffeeSpaceError /\S\@<=\s\+$/ display
  hi def link coffeeSpaceError Error
endif

" An error for trailing semicolons, for help transitioning from JavaScript
if !exists("coffee_no_trailing_semicolon_error")
  syn match coffeeSemicolonError /;$/ display
  hi def link coffeeSemicolonError Error
endif

" Ignore reserved words in dot accesses.
syn match coffeeDotAccess /\.\@<!\.\s*\I\i*/he=s+1 contains=@coffeeIdentifier
hi def link coffeeDotAccess coffeeExtendedOp

" Ignore reserved words in prototype accesses.
syn match coffeeProtoAccess /::\s*\I\i*/he=s+2 contains=@coffeeIdentifier
hi def link coffeeProtoAccess coffeeExtendedOp

" This is required for interpolations to work.
syn region coffeeCurlies matchgroup=coffeeCurly start=/{/ end=/}/
\                        contains=@coffeeAll
syn region coffeeBrackets matchgroup=coffeeBracket start=/\[/ end=/\]/
\                         contains=@coffeeAll
syn region coffeeParens matchgroup=coffeeParen start=/(/ end=/)/
\                       contains=@coffeeAll

" These are highlighted the same as commas since they tend to go together.
hi def link coffeeBlock coffeeSpecialOp
hi def link coffeeBracket coffeeBlock
hi def link coffeeCurly coffeeBlock
hi def link coffeeParen coffeeBlock

" This is used instead of TOP to keep things coffee-specific for good
" embedding. `contained` groups aren't included.
syn cluster coffeeAll contains=coffeeStatement,coffeeRepeat,coffeeConditional,
\                              coffeeException,coffeeKeyword,coffeeOperator,
\                              coffeeExtendedOp,coffeeSpecialOp,coffeeBoolean,
\                              coffeeGlobal,coffeeSpecialVar,coffeeObject,
\                              coffeeConstant,coffeeString,coffeeNumber,
\                              coffeeFloat,coffeeReservedError,coffeeObjAssign,
\                              coffeeObjStringAssign,coffeeObjNumberAssign,
\                              coffeeComment,coffeeBlockComment,coffeeEmbed,
\                              coffeeRegex,coffeeHeregex,coffeeHeredoc,
\                              coffeeSpaceError,coffeeSemicolonError,
\                              coffeeDotAccess,coffeeProtoAccess,
\                              coffeeCurlies,coffeeBrackets,coffeeParens

if !exists('b:current_syntax')
  let b:current_syntax = 'coffee'
endif

Added vim/syntax/gas.vim.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
" Vim syntax file
" Language:     GNU as (AT&T) assembler for X86
" Maintainer:   Rene Koecher <shirk@bitspin.org>
" Last Change:  2009 Dec 29
" Version:      0.8
" Remark:       Intel compatible instructions only (for now)

if version < 600
	syntax clear
elseif exists("b:current_syntax")
	finish
endif

setlocal iskeyword +=%,.,-,_
setlocal isident   +=%,.,-,_

syn case ignore

" directives
syn keyword gasDirective	.abort .ABORT .align .balignw .balignl
syn keyword gasDirective	.cfi_startproc .cfi_sections .cfi_endproc .cfi_personality
syn keyword gasDirective	.cfi_lsda .cfi_def_cfa .cfi_def_cfa_register .cfi_def_cfa_offset
syn keyword gasDirective	.cfi_adjust_cfa_offset .cfi_offset .cfi_rel_offset .cfi_register
syn keyword gasDirective	.cfi_restore .cfi_undefined .cfi_same_value .cfi_remember_state
syn keyword gasDirective	.cfi_return_column .cfi_signal_frame .cfi_window_save .cfi_escape
syn keyword gasDirective	.cfi_val_encoded_addr .data .def .desc .dim .eject
syn keyword gasDirective	.else .elseif .endef .endif .equ .equiv .eqv .err
syn keyword gasDirective	.error .exitm .extern .fail .file .fill .global .globl
syn keyword gasDirective	.gnu_attribute .hidden .ident .if .incbin .include .internal
syn keyword gasDirective	.irp .irpc .lcomm .lflags .line .linkonce .list .ln .loc .loc_mark_labels
syn keyword gasDirective	.local .mri .nolist .octa .org .p2alignw .p2alignl
syn keyword gasDirective	.popsection .previous .print .protected .psize .purgem .pushsection .quad
syn keyword gasDirective	.reloc .rept .sbttl .scl .section .set .single .size .skip .sleb128
syn keyword gasDirective	.space .stabd .stabn .stabs .struct .subsection
syn keyword gasDirective	.symver .tag .text .title .type .uleb128 .val .version
syn keyword gasDirective	.vtable_entry .vtable_inherit .warning .weak .weakref

syn keyword gasDirectiveStore	.byte .hword .word .int .long .double .short .float
syn keyword gasDirectiveStore	.string .string8 .string16 .ascii .asciz .comm

syn keyword gasDirectiveMacro	.altmacro .macro .noaltmacro .end .func .endfunc

" i*86 directives
syn keyword gasDirectiveX86	.att_syntax .intel_syntax .att_mnemonic .intel_mnemonic .lcomm

" i*86 register set
syn keyword gasRegisterX86	%rax %rbx %rcx %rdx %rdi %rsi %rsp %rbp
syn keyword gasRegisterX86	%eax %ebx %ecx %edx %ax %bx %cx %dx %ah %al %bh %bl %ch %cl %dh %dl
syn keyword gasRegisterX86	%edi %esi %esp %ebp %di %si %sp %bp %sph %spl %bph %bpl
syn keyword gasRegisterX86	%cs %ds %es %fs %gs %ss %ip %eip %rip %eflags
syn match   gasRegisterX86	/\<%r\([8-9]\|1[0-5]\)[lwd]\?\>/

" i*86 special registers
syn match gasRegisterX86Cr	/\<%cr[0-8]\>/
syn match gasRegisterX86Dr	/\<%dr[0-8]\>/
syn match gasRegisterX86Tr	/\<%tr[0-8]\>/
syn match gasRegisterX86Fp	/\<%sp\(([0-7])\)\?\>/
syn match gasRegisterX86MMX	/\<%x\?mm[0-7]\>/

" symbols and labels

syn match   gasLabel		/[-_$.A-Za-z0-9]\+\s*:/
syn match   gasSymbol		/\<[^; \t()]\+\>/
syn match   gasSymbolRef	/\$[-_$.A-Za-z][-_$.A-Za-z0-9]*\>/
syn match   gasSpecial		/\<[$.]\>/

" constants
syn region  gasString		start=/"/  end=/"/ skip=/\\"/
syn match   gasCharacter	/'\(?\|\\?\)/
syn match   gasDecimalNumber	/\$\?-\?\d\+/
syn match   gasBinaryNumber	/\$\?-\?0b[01]\+/
syn match   gasOctalNumber	/\$\?-\?0\d\+/
syn match   gasHexNumber	/\$\?-\?0x\x\+/
" -- TODO: gasFloatNumber

" local label needs to be matched *after* numerics
syn match   gasLocalLabel	/\d\{1,2\}[:fb]/

" comments etc.
syn match   gasOperator		/[+-/*=|&~<>]\|<=\|>=\|<>/
syn region  gasComment		start=/\/\*/ end=/\*\//
syn region  gasCommentSingle    start=/#/ end=/$/

" finally: Opcodes
"
"-- Section: Willamette MMX instructions (SSE2 SIMD Integer Instructions)
syn keyword gasOpcode_SSE2		movd movdb movdw movdl movdq
syn keyword gasOpcode_SSE2		movdqa
syn keyword gasOpcode_SSE2		movdqu
syn keyword gasOpcode_SSE2		movdq2q
syn keyword gasOpcode_X64_SSE2		movq
syn keyword gasOpcode_SSE2		movq2dq
syn keyword gasOpcode_SSE2		packsswb packsswbb packsswbw packsswbl packsswbq
syn keyword gasOpcode_SSE2		packssdw packssdwb packssdww packssdwl packssdwq
syn keyword gasOpcode_SSE2		packuswb packuswbb packuswbw packuswbl packuswbq
syn keyword gasOpcode_SSE2		paddb paddbb paddbw paddbl paddbq
syn keyword gasOpcode_SSE2		paddw paddwb paddww paddwl paddwq
syn keyword gasOpcode_SSE2		paddd padddb padddw padddl padddq
syn keyword gasOpcode_SSE2		paddq paddqb paddqw paddql paddqq
syn keyword gasOpcode_SSE2		paddsb paddsbb paddsbw paddsbl paddsbq
syn keyword gasOpcode_SSE2		paddsw paddswb paddsww paddswl paddswq
syn keyword gasOpcode_SSE2		paddusb paddusbb paddusbw paddusbl paddusbq
syn keyword gasOpcode_SSE2		paddusw padduswb paddusww padduswl padduswq
syn keyword gasOpcode_SSE2		pand pandb pandw pandl pandq
syn keyword gasOpcode_SSE2		pandn pandnb pandnw pandnl pandnq
syn keyword gasOpcode_SSE2		pavgb pavgbb pavgbw pavgbl pavgbq
syn keyword gasOpcode_SSE2		pavgw pavgwb pavgww pavgwl pavgwq
syn keyword gasOpcode_SSE2		pcmpeqb pcmpeqbb pcmpeqbw pcmpeqbl pcmpeqbq
syn keyword gasOpcode_SSE2		pcmpeqw pcmpeqwb pcmpeqww pcmpeqwl pcmpeqwq
syn keyword gasOpcode_SSE2		pcmpeqd pcmpeqdb pcmpeqdw pcmpeqdl pcmpeqdq
syn keyword gasOpcode_SSE2		pcmpgtb pcmpgtbb pcmpgtbw pcmpgtbl pcmpgtbq
syn keyword gasOpcode_SSE2		pcmpgtw pcmpgtwb pcmpgtww pcmpgtwl pcmpgtwq
syn keyword gasOpcode_SSE2		pcmpgtd pcmpgtdb pcmpgtdw pcmpgtdl pcmpgtdq
syn keyword gasOpcode_SSE2		pextrw pextrwb pextrww pextrwl pextrwq
syn keyword gasOpcode_SSE2		pinsrw pinsrwb pinsrww pinsrwl pinsrwq
syn keyword gasOpcode_SSE2		pmaddwd pmaddwdb pmaddwdw pmaddwdl pmaddwdq
syn keyword gasOpcode_SSE2		pmaxsw pmaxswb pmaxsww pmaxswl pmaxswq
syn keyword gasOpcode_SSE2		pmaxub pmaxubb pmaxubw pmaxubl pmaxubq
syn keyword gasOpcode_SSE2		pminsw pminswb pminsww pminswl pminswq
syn keyword gasOpcode_SSE2		pminub pminubb pminubw pminubl pminubq
syn keyword gasOpcode_SSE2		pmovmskb
syn keyword gasOpcode_SSE2		pmulhuw pmulhuwb pmulhuww pmulhuwl pmulhuwq
syn keyword gasOpcode_SSE2		pmulhw pmulhwb pmulhww pmulhwl pmulhwq
syn keyword gasOpcode_SSE2		pmullw pmullwb pmullww pmullwl pmullwq
syn keyword gasOpcode_SSE2		pmuludq pmuludqb pmuludqw pmuludql pmuludqq
syn keyword gasOpcode_SSE2		por porb porw porl porq
syn keyword gasOpcode_SSE2		psadbw psadbwb psadbww psadbwl psadbwq
syn keyword gasOpcode_Base		pshufd pshufdb pshufdw pshufdl pshufdq
syn keyword gasOpcode_Base		pshufhw pshufhwb pshufhww pshufhwl pshufhwq
syn keyword gasOpcode_Base		pshuflw pshuflwb pshuflww pshuflwl pshuflwq
syn keyword gasOpcode_SSE2		pslldq pslldqb pslldqw pslldql pslldqq
syn keyword gasOpcode_SSE2		psllw psllwb psllww psllwl psllwq
syn keyword gasOpcode_SSE2		pslld pslldb pslldw pslldl pslldq
syn keyword gasOpcode_SSE2		psllq psllqb psllqw psllql psllqq
syn keyword gasOpcode_SSE2		psraw psrawb psraww psrawl psrawq
syn keyword gasOpcode_SSE2		psrad psradb psradw psradl psradq
syn keyword gasOpcode_SSE2		psrldq psrldqb psrldqw psrldql psrldqq
syn keyword gasOpcode_SSE2		psrlw psrlwb psrlww psrlwl psrlwq
syn keyword gasOpcode_SSE2		psrld psrldb psrldw psrldl psrldq
syn keyword gasOpcode_SSE2		psrlq psrlqb psrlqw psrlql psrlqq
syn keyword gasOpcode_SSE2		psubb psubbb psubbw psubbl psubbq
syn keyword gasOpcode_SSE2		psubw psubwb psubww psubwl psubwq
syn keyword gasOpcode_SSE2		psubd psubdb psubdw psubdl psubdq
syn keyword gasOpcode_SSE2		psubq psubqb psubqw psubql psubqq
syn keyword gasOpcode_SSE2		psubsb psubsbb psubsbw psubsbl psubsbq
syn keyword gasOpcode_SSE2		psubsw psubswb psubsww psubswl psubswq
syn keyword gasOpcode_SSE2		psubusb psubusbb psubusbw psubusbl psubusbq
syn keyword gasOpcode_SSE2		psubusw psubuswb psubusww psubuswl psubuswq
syn keyword gasOpcode_SSE2		punpckhbw punpckhbwb punpckhbww punpckhbwl punpckhbwq
syn keyword gasOpcode_SSE2		punpckhwd punpckhwdb punpckhwdw punpckhwdl punpckhwdq
syn keyword gasOpcode_SSE2		punpckhdq punpckhdqb punpckhdqw punpckhdql punpckhdqq
syn keyword gasOpcode_SSE2		punpckhqdq punpckhqdqb punpckhqdqw punpckhqdql punpckhqdqq
syn keyword gasOpcode_SSE2		punpcklbw punpcklbwb punpcklbww punpcklbwl punpcklbwq
syn keyword gasOpcode_SSE2		punpcklwd punpcklwdb punpcklwdw punpcklwdl punpcklwdq
syn keyword gasOpcode_SSE2		punpckldq punpckldqb punpckldqw punpckldql punpckldqq
syn keyword gasOpcode_SSE2		punpcklqdq punpcklqdqb punpcklqdqw punpcklqdql punpcklqdqq
syn keyword gasOpcode_SSE2		pxor pxorb pxorw pxorl pxorq

"-- Section: Nehalem New Instructions (SSE4.2)
syn keyword gasOpcode_X64_SSE42		crc32
syn keyword gasOpcode_SSE42		pcmpestri pcmpestrib pcmpestriw pcmpestril pcmpestriq
syn keyword gasOpcode_SSE42		pcmpestrm pcmpestrmb pcmpestrmw pcmpestrml pcmpestrmq
syn keyword gasOpcode_SSE42		pcmpistri pcmpistrib pcmpistriw pcmpistril pcmpistriq
syn keyword gasOpcode_SSE42		pcmpistrm pcmpistrmb pcmpistrmw pcmpistrml pcmpistrmq
syn keyword gasOpcode_SSE42		pcmpgtq pcmpgtqb pcmpgtqw pcmpgtql pcmpgtqq
syn keyword gasOpcode_NEHALEM_Base	popcnt

"-- Section: Intel new instructions in ???
syn keyword gasOpcode_NEHALEM_Base	movbe movbeb movbew movbel movbeq

"-- Section: AMD XOP, FMA4 and CVT16 instructions (SSE5)
syn keyword gasOpcode_AMD_SSE5		vcvtph2ps vcvtph2psb vcvtph2psw vcvtph2psl vcvtph2psq
syn keyword gasOpcode_AMD_SSE5		vcvtps2ph vcvtps2phb vcvtps2phw vcvtps2phl vcvtps2phq
syn keyword gasOpcode_AMD_SSE5		vfmaddpd vfmaddpdb vfmaddpdw vfmaddpdl vfmaddpdq
syn keyword gasOpcode_AMD_SSE5		vfmaddps vfmaddpsb vfmaddpsw vfmaddpsl vfmaddpsq
syn keyword gasOpcode_AMD_SSE5		vfmaddsd vfmaddsdb vfmaddsdw vfmaddsdl vfmaddsdq
syn keyword gasOpcode_AMD_SSE5		vfmaddss vfmaddssb vfmaddssw vfmaddssl vfmaddssq
syn keyword gasOpcode_AMD_SSE5		vfmaddsubpd vfmaddsubpdb vfmaddsubpdw vfmaddsubpdl vfmaddsubpdq
syn keyword gasOpcode_AMD_SSE5		vfmaddsubps vfmaddsubpsb vfmaddsubpsw vfmaddsubpsl vfmaddsubpsq
syn keyword gasOpcode_AMD_SSE5		vfmsubaddpd vfmsubaddpdb vfmsubaddpdw vfmsubaddpdl vfmsubaddpdq
syn keyword gasOpcode_AMD_SSE5		vfmsubaddps vfmsubaddpsb vfmsubaddpsw vfmsubaddpsl vfmsubaddpsq
syn keyword gasOpcode_AMD_SSE5		vfmsubpd vfmsubpdb vfmsubpdw vfmsubpdl vfmsubpdq
syn keyword gasOpcode_AMD_SSE5		vfmsubps vfmsubpsb vfmsubpsw vfmsubpsl vfmsubpsq
syn keyword gasOpcode_AMD_SSE5		vfmsubsd vfmsubsdb vfmsubsdw vfmsubsdl vfmsubsdq
syn keyword gasOpcode_AMD_SSE5		vfmsubss vfmsubssb vfmsubssw vfmsubssl vfmsubssq
syn keyword gasOpcode_AMD_SSE5		vfnmaddpd vfnmaddpdb vfnmaddpdw vfnmaddpdl vfnmaddpdq
syn keyword gasOpcode_AMD_SSE5		vfnmaddps vfnmaddpsb vfnmaddpsw vfnmaddpsl vfnmaddpsq
syn keyword gasOpcode_AMD_SSE5		vfnmaddsd vfnmaddsdb vfnmaddsdw vfnmaddsdl vfnmaddsdq
syn keyword gasOpcode_AMD_SSE5		vfnmaddss vfnmaddssb vfnmaddssw vfnmaddssl vfnmaddssq
syn keyword gasOpcode_AMD_SSE5		vfnmsubpd vfnmsubpdb vfnmsubpdw vfnmsubpdl vfnmsubpdq
syn keyword gasOpcode_AMD_SSE5		vfnmsubps vfnmsubpsb vfnmsubpsw vfnmsubpsl vfnmsubpsq
syn keyword gasOpcode_AMD_SSE5		vfnmsubsd vfnmsubsdb vfnmsubsdw vfnmsubsdl vfnmsubsdq
syn keyword gasOpcode_AMD_SSE5		vfnmsubss vfnmsubssb vfnmsubssw vfnmsubssl vfnmsubssq
syn keyword gasOpcode_AMD_SSE5		vfrczpd vfrczpdb vfrczpdw vfrczpdl vfrczpdq
syn keyword gasOpcode_AMD_SSE5		vfrczps vfrczpsb vfrczpsw vfrczpsl vfrczpsq
syn keyword gasOpcode_AMD_SSE5		vfrczsd vfrczsdb vfrczsdw vfrczsdl vfrczsdq
syn keyword gasOpcode_AMD_SSE5		vfrczss vfrczssb vfrczssw vfrczssl vfrczssq
syn keyword gasOpcode_AMD_SSE5		vpcmov vpcmovb vpcmovw vpcmovl vpcmovq
syn keyword gasOpcode_AMD_SSE5		vpcomb vpcombb vpcombw vpcombl vpcombq
syn keyword gasOpcode_AMD_SSE5		vpcomd vpcomdb vpcomdw vpcomdl vpcomdq
syn keyword gasOpcode_AMD_SSE5		vpcomq vpcomqb vpcomqw vpcomql vpcomqq
syn keyword gasOpcode_AMD_SSE5		vpcomub vpcomubb vpcomubw vpcomubl vpcomubq
syn keyword gasOpcode_AMD_SSE5		vpcomud vpcomudb vpcomudw vpcomudl vpcomudq
syn keyword gasOpcode_AMD_SSE5		vpcomuq vpcomuqb vpcomuqw vpcomuql vpcomuqq
syn keyword gasOpcode_AMD_SSE5		vpcomuw vpcomuwb vpcomuww vpcomuwl vpcomuwq
syn keyword gasOpcode_AMD_SSE5		vpcomw vpcomwb vpcomww vpcomwl vpcomwq
syn keyword gasOpcode_AMD_SSE5		vphaddbd vphaddbdb vphaddbdw vphaddbdl vphaddbdq
syn keyword gasOpcode_AMD_SSE5		vphaddbq vphaddbqb vphaddbqw vphaddbql vphaddbqq
syn keyword gasOpcode_AMD_SSE5		vphaddbw vphaddbwb vphaddbww vphaddbwl vphaddbwq
syn keyword gasOpcode_AMD_SSE5		vphadddq vphadddqb vphadddqw vphadddql vphadddqq
syn keyword gasOpcode_AMD_SSE5		vphaddubd vphaddubdb vphaddubdw vphaddubdl vphaddubdq
syn keyword gasOpcode_AMD_SSE5		vphaddubq vphaddubqb vphaddubqw vphaddubql vphaddubqq
syn keyword gasOpcode_AMD_SSE5		vphaddubwd vphaddubwdb vphaddubwdw vphaddubwdl vphaddubwdq
syn keyword gasOpcode_AMD_SSE5		vphaddudq vphaddudqb vphaddudqw vphaddudql vphaddudqq
syn keyword gasOpcode_AMD_SSE5		vphadduwd vphadduwdb vphadduwdw vphadduwdl vphadduwdq
syn keyword gasOpcode_AMD_SSE5		vphadduwq vphadduwqb vphadduwqw vphadduwql vphadduwqq
syn keyword gasOpcode_AMD_SSE5		vphaddwd vphaddwdb vphaddwdw vphaddwdl vphaddwdq
syn keyword gasOpcode_AMD_SSE5		vphaddwq vphaddwqb vphaddwqw vphaddwql vphaddwqq
syn keyword gasOpcode_AMD_SSE5		vphsubbw vphsubbwb vphsubbww vphsubbwl vphsubbwq
syn keyword gasOpcode_AMD_SSE5		vphsubdq vphsubdqb vphsubdqw vphsubdql vphsubdqq
syn keyword gasOpcode_AMD_SSE5		vphsubwd vphsubwdb vphsubwdw vphsubwdl vphsubwdq
syn keyword gasOpcode_AMD_SSE5		vpmacsdd vpmacsddb vpmacsddw vpmacsddl vpmacsddq
syn keyword gasOpcode_AMD_SSE5		vpmacsdqh vpmacsdqhb vpmacsdqhw vpmacsdqhl vpmacsdqhq
syn keyword gasOpcode_AMD_SSE5		vpmacsdql vpmacsdqlb vpmacsdqlw vpmacsdqll vpmacsdqlq
syn keyword gasOpcode_AMD_SSE5		vpmacssdd vpmacssddb vpmacssddw vpmacssddl vpmacssddq
syn keyword gasOpcode_AMD_SSE5		vpmacssdqh vpmacssdqhb vpmacssdqhw vpmacssdqhl vpmacssdqhq
syn keyword gasOpcode_AMD_SSE5		vpmacssdql vpmacssdqlb vpmacssdqlw vpmacssdqll vpmacssdqlq
syn keyword gasOpcode_AMD_SSE5		vpmacsswd vpmacsswdb vpmacsswdw vpmacsswdl vpmacsswdq
syn keyword gasOpcode_AMD_SSE5		vpmacssww vpmacsswwb vpmacsswww vpmacsswwl vpmacsswwq
syn keyword gasOpcode_AMD_SSE5		vpmacswd vpmacswdb vpmacswdw vpmacswdl vpmacswdq
syn keyword gasOpcode_AMD_SSE5		vpmacsww vpmacswwb vpmacswww vpmacswwl vpmacswwq
syn keyword gasOpcode_AMD_SSE5		vpmadcsswd vpmadcsswdb vpmadcsswdw vpmadcsswdl vpmadcsswdq
syn keyword gasOpcode_AMD_SSE5		vpmadcswd vpmadcswdb vpmadcswdw vpmadcswdl vpmadcswdq
syn keyword gasOpcode_AMD_SSE5		vpperm vppermb vppermw vpperml vppermq
syn keyword gasOpcode_AMD_SSE5		vprotb vprotbb vprotbw vprotbl vprotbq
syn keyword gasOpcode_AMD_SSE5		vprotd vprotdb vprotdw vprotdl vprotdq
syn keyword gasOpcode_AMD_SSE5		vprotq vprotqb vprotqw vprotql vprotqq
syn keyword gasOpcode_AMD_SSE5		vprotw vprotwb vprotww vprotwl vprotwq
syn keyword gasOpcode_AMD_SSE5		vpshab vpshabb vpshabw vpshabl vpshabq
syn keyword gasOpcode_AMD_SSE5		vpshad vpshadb vpshadw vpshadl vpshadq
syn keyword gasOpcode_AMD_SSE5		vpshaq vpshaqb vpshaqw vpshaql vpshaqq
syn keyword gasOpcode_AMD_SSE5		vpshaw vpshawb vpshaww vpshawl vpshawq
syn keyword gasOpcode_AMD_SSE5		vpshlb vpshlbb vpshlbw vpshlbl vpshlbq
syn keyword gasOpcode_AMD_SSE5		vpshld vpshldb vpshldw vpshldl vpshldq
syn keyword gasOpcode_AMD_SSE5		vpshlq vpshlqb vpshlqw vpshlql vpshlqq
syn keyword gasOpcode_AMD_SSE5		vpshlw vpshlwb vpshlww vpshlwl vpshlwq

"-- Section: Generic memory operations
syn keyword gasOpcode_KATMAI_Base	prefetchnta prefetchntab prefetchntaw prefetchntal prefetchntaq
syn keyword gasOpcode_KATMAI_Base	prefetcht0 prefetcht0b prefetcht0w prefetcht0l prefetcht0q
syn keyword gasOpcode_KATMAI_Base	prefetcht1 prefetcht1b prefetcht1w prefetcht1l prefetcht1q
syn keyword gasOpcode_KATMAI_Base	prefetcht2 prefetcht2b prefetcht2w prefetcht2l prefetcht2q
syn keyword gasOpcode_KATMAI_Base	sfence

"-- Section: Tejas New Instructions (SSSE3)
syn keyword gasOpcode_Base		pabsb pabsbb pabsbw pabsbl pabsbq
syn keyword gasOpcode_Base		pabsw pabswb pabsww pabswl pabswq
syn keyword gasOpcode_Base		pabsd pabsdb pabsdw pabsdl pabsdq
syn keyword gasOpcode_Base		palignr palignrb palignrw palignrl palignrq
syn keyword gasOpcode_Base		phaddw phaddwb phaddww phaddwl phaddwq
syn keyword gasOpcode_Base		phaddd phadddb phadddw phadddl phadddq
syn keyword gasOpcode_Base		phaddsw phaddswb phaddsww phaddswl phaddswq
syn keyword gasOpcode_Base		phsubw phsubwb phsubww phsubwl phsubwq
syn keyword gasOpcode_Base		phsubd phsubdb phsubdw phsubdl phsubdq
syn keyword gasOpcode_Base		phsubsw phsubswb phsubsww phsubswl phsubswq
syn keyword gasOpcode_Base		pmaddubsw pmaddubswb pmaddubsww pmaddubswl pmaddubswq
syn keyword gasOpcode_Base		pmulhrsw pmulhrswb pmulhrsww pmulhrswl pmulhrswq
syn keyword gasOpcode_Base		pshufb pshufbb pshufbw pshufbl pshufbq
syn keyword gasOpcode_Base		psignb psignbb psignbw psignbl psignbq
syn keyword gasOpcode_Base		psignw psignwb psignww psignwl psignwq
syn keyword gasOpcode_Base		psignd psigndb psigndw psigndl psigndq

"-- Section: Intel Fused Multiply-Add instructions (FMA)
syn keyword gasOpcode_FUTURE_FMA	vfmadd132ps vfmadd132psb vfmadd132psw vfmadd132psl vfmadd132psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd132pd vfmadd132pdb vfmadd132pdw vfmadd132pdl vfmadd132pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd312ps vfmadd312psb vfmadd312psw vfmadd312psl vfmadd312psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd312pd vfmadd312pdb vfmadd312pdw vfmadd312pdl vfmadd312pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd213ps vfmadd213psb vfmadd213psw vfmadd213psl vfmadd213psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd213pd vfmadd213pdb vfmadd213pdw vfmadd213pdl vfmadd213pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd123ps vfmadd123psb vfmadd123psw vfmadd123psl vfmadd123psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd123pd vfmadd123pdb vfmadd123pdw vfmadd123pdl vfmadd123pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd231ps vfmadd231psb vfmadd231psw vfmadd231psl vfmadd231psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd231pd vfmadd231pdb vfmadd231pdw vfmadd231pdl vfmadd231pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd321ps vfmadd321psb vfmadd321psw vfmadd321psl vfmadd321psq
syn keyword gasOpcode_FUTURE_FMA	vfmadd321pd vfmadd321pdb vfmadd321pdw vfmadd321pdl vfmadd321pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub132ps vfmaddsub132psb vfmaddsub132psw vfmaddsub132psl vfmaddsub132psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub132pd vfmaddsub132pdb vfmaddsub132pdw vfmaddsub132pdl vfmaddsub132pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub312ps vfmaddsub312psb vfmaddsub312psw vfmaddsub312psl vfmaddsub312psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub312pd vfmaddsub312pdb vfmaddsub312pdw vfmaddsub312pdl vfmaddsub312pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub213ps vfmaddsub213psb vfmaddsub213psw vfmaddsub213psl vfmaddsub213psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub213pd vfmaddsub213pdb vfmaddsub213pdw vfmaddsub213pdl vfmaddsub213pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub123ps vfmaddsub123psb vfmaddsub123psw vfmaddsub123psl vfmaddsub123psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub123pd vfmaddsub123pdb vfmaddsub123pdw vfmaddsub123pdl vfmaddsub123pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub231ps vfmaddsub231psb vfmaddsub231psw vfmaddsub231psl vfmaddsub231psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub231pd vfmaddsub231pdb vfmaddsub231pdw vfmaddsub231pdl vfmaddsub231pdq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub321ps vfmaddsub321psb vfmaddsub321psw vfmaddsub321psl vfmaddsub321psq
syn keyword gasOpcode_FUTURE_FMA	vfmaddsub321pd vfmaddsub321pdb vfmaddsub321pdw vfmaddsub321pdl vfmaddsub321pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub132ps vfmsub132psb vfmsub132psw vfmsub132psl vfmsub132psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub132pd vfmsub132pdb vfmsub132pdw vfmsub132pdl vfmsub132pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub312ps vfmsub312psb vfmsub312psw vfmsub312psl vfmsub312psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub312pd vfmsub312pdb vfmsub312pdw vfmsub312pdl vfmsub312pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub213ps vfmsub213psb vfmsub213psw vfmsub213psl vfmsub213psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub213pd vfmsub213pdb vfmsub213pdw vfmsub213pdl vfmsub213pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub123ps vfmsub123psb vfmsub123psw vfmsub123psl vfmsub123psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub123pd vfmsub123pdb vfmsub123pdw vfmsub123pdl vfmsub123pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub231ps vfmsub231psb vfmsub231psw vfmsub231psl vfmsub231psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub231pd vfmsub231pdb vfmsub231pdw vfmsub231pdl vfmsub231pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub321ps vfmsub321psb vfmsub321psw vfmsub321psl vfmsub321psq
syn keyword gasOpcode_FUTURE_FMA	vfmsub321pd vfmsub321pdb vfmsub321pdw vfmsub321pdl vfmsub321pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd132ps vfmsubadd132psb vfmsubadd132psw vfmsubadd132psl vfmsubadd132psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd132pd vfmsubadd132pdb vfmsubadd132pdw vfmsubadd132pdl vfmsubadd132pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd312ps vfmsubadd312psb vfmsubadd312psw vfmsubadd312psl vfmsubadd312psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd312pd vfmsubadd312pdb vfmsubadd312pdw vfmsubadd312pdl vfmsubadd312pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd213ps vfmsubadd213psb vfmsubadd213psw vfmsubadd213psl vfmsubadd213psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd213pd vfmsubadd213pdb vfmsubadd213pdw vfmsubadd213pdl vfmsubadd213pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd123ps vfmsubadd123psb vfmsubadd123psw vfmsubadd123psl vfmsubadd123psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd123pd vfmsubadd123pdb vfmsubadd123pdw vfmsubadd123pdl vfmsubadd123pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd231ps vfmsubadd231psb vfmsubadd231psw vfmsubadd231psl vfmsubadd231psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd231pd vfmsubadd231pdb vfmsubadd231pdw vfmsubadd231pdl vfmsubadd231pdq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd321ps vfmsubadd321psb vfmsubadd321psw vfmsubadd321psl vfmsubadd321psq
syn keyword gasOpcode_FUTURE_FMA	vfmsubadd321pd vfmsubadd321pdb vfmsubadd321pdw vfmsubadd321pdl vfmsubadd321pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd132ps vfnmadd132psb vfnmadd132psw vfnmadd132psl vfnmadd132psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd132pd vfnmadd132pdb vfnmadd132pdw vfnmadd132pdl vfnmadd132pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd312ps vfnmadd312psb vfnmadd312psw vfnmadd312psl vfnmadd312psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd312pd vfnmadd312pdb vfnmadd312pdw vfnmadd312pdl vfnmadd312pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd213ps vfnmadd213psb vfnmadd213psw vfnmadd213psl vfnmadd213psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd213pd vfnmadd213pdb vfnmadd213pdw vfnmadd213pdl vfnmadd213pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd123ps vfnmadd123psb vfnmadd123psw vfnmadd123psl vfnmadd123psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd123pd vfnmadd123pdb vfnmadd123pdw vfnmadd123pdl vfnmadd123pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd231ps vfnmadd231psb vfnmadd231psw vfnmadd231psl vfnmadd231psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd231pd vfnmadd231pdb vfnmadd231pdw vfnmadd231pdl vfnmadd231pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd321ps vfnmadd321psb vfnmadd321psw vfnmadd321psl vfnmadd321psq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd321pd vfnmadd321pdb vfnmadd321pdw vfnmadd321pdl vfnmadd321pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub132ps vfnmsub132psb vfnmsub132psw vfnmsub132psl vfnmsub132psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub132pd vfnmsub132pdb vfnmsub132pdw vfnmsub132pdl vfnmsub132pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub312ps vfnmsub312psb vfnmsub312psw vfnmsub312psl vfnmsub312psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub312pd vfnmsub312pdb vfnmsub312pdw vfnmsub312pdl vfnmsub312pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub213ps vfnmsub213psb vfnmsub213psw vfnmsub213psl vfnmsub213psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub213pd vfnmsub213pdb vfnmsub213pdw vfnmsub213pdl vfnmsub213pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub123ps vfnmsub123psb vfnmsub123psw vfnmsub123psl vfnmsub123psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub123pd vfnmsub123pdb vfnmsub123pdw vfnmsub123pdl vfnmsub123pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub231ps vfnmsub231psb vfnmsub231psw vfnmsub231psl vfnmsub231psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub231pd vfnmsub231pdb vfnmsub231pdw vfnmsub231pdl vfnmsub231pdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub321ps vfnmsub321psb vfnmsub321psw vfnmsub321psl vfnmsub321psq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub321pd vfnmsub321pdb vfnmsub321pdw vfnmsub321pdl vfnmsub321pdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd132ss vfmadd132ssb vfmadd132ssw vfmadd132ssl vfmadd132ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd132sd vfmadd132sdb vfmadd132sdw vfmadd132sdl vfmadd132sdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd312ss vfmadd312ssb vfmadd312ssw vfmadd312ssl vfmadd312ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd312sd vfmadd312sdb vfmadd312sdw vfmadd312sdl vfmadd312sdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd213ss vfmadd213ssb vfmadd213ssw vfmadd213ssl vfmadd213ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd213sd vfmadd213sdb vfmadd213sdw vfmadd213sdl vfmadd213sdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd123ss vfmadd123ssb vfmadd123ssw vfmadd123ssl vfmadd123ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd123sd vfmadd123sdb vfmadd123sdw vfmadd123sdl vfmadd123sdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd231ss vfmadd231ssb vfmadd231ssw vfmadd231ssl vfmadd231ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd231sd vfmadd231sdb vfmadd231sdw vfmadd231sdl vfmadd231sdq
syn keyword gasOpcode_FUTURE_FMA	vfmadd321ss vfmadd321ssb vfmadd321ssw vfmadd321ssl vfmadd321ssq
syn keyword gasOpcode_FUTURE_FMA	vfmadd321sd vfmadd321sdb vfmadd321sdw vfmadd321sdl vfmadd321sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub132ss vfmsub132ssb vfmsub132ssw vfmsub132ssl vfmsub132ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub132sd vfmsub132sdb vfmsub132sdw vfmsub132sdl vfmsub132sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub312ss vfmsub312ssb vfmsub312ssw vfmsub312ssl vfmsub312ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub312sd vfmsub312sdb vfmsub312sdw vfmsub312sdl vfmsub312sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub213ss vfmsub213ssb vfmsub213ssw vfmsub213ssl vfmsub213ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub213sd vfmsub213sdb vfmsub213sdw vfmsub213sdl vfmsub213sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub123ss vfmsub123ssb vfmsub123ssw vfmsub123ssl vfmsub123ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub123sd vfmsub123sdb vfmsub123sdw vfmsub123sdl vfmsub123sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub231ss vfmsub231ssb vfmsub231ssw vfmsub231ssl vfmsub231ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub231sd vfmsub231sdb vfmsub231sdw vfmsub231sdl vfmsub231sdq
syn keyword gasOpcode_FUTURE_FMA	vfmsub321ss vfmsub321ssb vfmsub321ssw vfmsub321ssl vfmsub321ssq
syn keyword gasOpcode_FUTURE_FMA	vfmsub321sd vfmsub321sdb vfmsub321sdw vfmsub321sdl vfmsub321sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd132ss vfnmadd132ssb vfnmadd132ssw vfnmadd132ssl vfnmadd132ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd132sd vfnmadd132sdb vfnmadd132sdw vfnmadd132sdl vfnmadd132sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd312ss vfnmadd312ssb vfnmadd312ssw vfnmadd312ssl vfnmadd312ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd312sd vfnmadd312sdb vfnmadd312sdw vfnmadd312sdl vfnmadd312sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd213ss vfnmadd213ssb vfnmadd213ssw vfnmadd213ssl vfnmadd213ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd213sd vfnmadd213sdb vfnmadd213sdw vfnmadd213sdl vfnmadd213sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd123ss vfnmadd123ssb vfnmadd123ssw vfnmadd123ssl vfnmadd123ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd123sd vfnmadd123sdb vfnmadd123sdw vfnmadd123sdl vfnmadd123sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd231ss vfnmadd231ssb vfnmadd231ssw vfnmadd231ssl vfnmadd231ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd231sd vfnmadd231sdb vfnmadd231sdw vfnmadd231sdl vfnmadd231sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd321ss vfnmadd321ssb vfnmadd321ssw vfnmadd321ssl vfnmadd321ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmadd321sd vfnmadd321sdb vfnmadd321sdw vfnmadd321sdl vfnmadd321sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub132ss vfnmsub132ssb vfnmsub132ssw vfnmsub132ssl vfnmsub132ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub132sd vfnmsub132sdb vfnmsub132sdw vfnmsub132sdl vfnmsub132sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub312ss vfnmsub312ssb vfnmsub312ssw vfnmsub312ssl vfnmsub312ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub312sd vfnmsub312sdb vfnmsub312sdw vfnmsub312sdl vfnmsub312sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub213ss vfnmsub213ssb vfnmsub213ssw vfnmsub213ssl vfnmsub213ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub213sd vfnmsub213sdb vfnmsub213sdw vfnmsub213sdl vfnmsub213sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub123ss vfnmsub123ssb vfnmsub123ssw vfnmsub123ssl vfnmsub123ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub123sd vfnmsub123sdb vfnmsub123sdw vfnmsub123sdl vfnmsub123sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub231ss vfnmsub231ssb vfnmsub231ssw vfnmsub231ssl vfnmsub231ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub231sd vfnmsub231sdb vfnmsub231sdw vfnmsub231sdl vfnmsub231sdq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub321ss vfnmsub321ssb vfnmsub321ssw vfnmsub321ssl vfnmsub321ssq
syn keyword gasOpcode_FUTURE_FMA	vfnmsub321sd vfnmsub321sdb vfnmsub321sdw vfnmsub321sdl vfnmsub321sdq

"-- Section: Willamette SSE2 Cacheability Instructions
syn keyword gasOpcode_SSE2		maskmovdqu
syn keyword gasOpcode_SSE2		clflush clflushb clflushw clflushl clflushq
syn keyword gasOpcode_SSE2		movntdq movntdqb movntdqw movntdql movntdqq
syn keyword gasOpcode_X64_Base		movnti movntib movntiw movntil movntiq
syn keyword gasOpcode_SSE2		movntpd movntpdb movntpdw movntpdl movntpdq
syn keyword gasOpcode_SSE2		lfence
syn keyword gasOpcode_SSE2		mfence

"-- Section: Systematic names for the hinting nop instructions
syn keyword gasOpcode_X64_Base		hint_nop0
syn keyword gasOpcode_X64_Base		hint_nop1
syn keyword gasOpcode_X64_Base		hint_nop2
syn keyword gasOpcode_X64_Base		hint_nop3
syn keyword gasOpcode_X64_Base		hint_nop4
syn keyword gasOpcode_X64_Base		hint_nop5
syn keyword gasOpcode_X64_Base		hint_nop6
syn keyword gasOpcode_X64_Base		hint_nop7
syn keyword gasOpcode_X64_Base		hint_nop8
syn keyword gasOpcode_X64_Base		hint_nop9
syn keyword gasOpcode_X64_Base		hint_nop10
syn keyword gasOpcode_X64_Base		hint_nop11
syn keyword gasOpcode_X64_Base		hint_nop12
syn keyword gasOpcode_X64_Base		hint_nop13
syn keyword gasOpcode_X64_Base		hint_nop14
syn keyword gasOpcode_X64_Base		hint_nop15
syn keyword gasOpcode_X64_Base		hint_nop16
syn keyword gasOpcode_X64_Base		hint_nop17
syn keyword gasOpcode_X64_Base		hint_nop18
syn keyword gasOpcode_X64_Base		hint_nop19
syn keyword gasOpcode_X64_Base		hint_nop20
syn keyword gasOpcode_X64_Base		hint_nop21
syn keyword gasOpcode_X64_Base		hint_nop22
syn keyword gasOpcode_X64_Base		hint_nop23
syn keyword gasOpcode_X64_Base		hint_nop24
syn keyword gasOpcode_X64_Base		hint_nop25
syn keyword gasOpcode_X64_Base		hint_nop26
syn keyword gasOpcode_X64_Base		hint_nop27
syn keyword gasOpcode_X64_Base		hint_nop28
syn keyword gasOpcode_X64_Base		hint_nop29
syn keyword gasOpcode_X64_Base		hint_nop30
syn keyword gasOpcode_X64_Base		hint_nop31
syn keyword gasOpcode_X64_Base		hint_nop32
syn keyword gasOpcode_X64_Base		hint_nop33
syn keyword gasOpcode_X64_Base		hint_nop34
syn keyword gasOpcode_X64_Base		hint_nop35
syn keyword gasOpcode_X64_Base		hint_nop36
syn keyword gasOpcode_X64_Base		hint_nop37
syn keyword gasOpcode_X64_Base		hint_nop38
syn keyword gasOpcode_X64_Base		hint_nop39
syn keyword gasOpcode_X64_Base		hint_nop40
syn keyword gasOpcode_X64_Base		hint_nop41
syn keyword gasOpcode_X64_Base		hint_nop42
syn keyword gasOpcode_X64_Base		hint_nop43
syn keyword gasOpcode_X64_Base		hint_nop44
syn keyword gasOpcode_X64_Base		hint_nop45
syn keyword gasOpcode_X64_Base		hint_nop46
syn keyword gasOpcode_X64_Base		hint_nop47
syn keyword gasOpcode_X64_Base		hint_nop48
syn keyword gasOpcode_X64_Base		hint_nop49
syn keyword gasOpcode_X64_Base		hint_nop50
syn keyword gasOpcode_X64_Base		hint_nop51
syn keyword gasOpcode_X64_Base		hint_nop52
syn keyword gasOpcode_X64_Base		hint_nop53
syn keyword gasOpcode_X64_Base		hint_nop54
syn keyword gasOpcode_X64_Base		hint_nop55
syn keyword gasOpcode_X64_Base		hint_nop56
syn keyword gasOpcode_X64_Base		hint_nop57
syn keyword gasOpcode_X64_Base		hint_nop58
syn keyword gasOpcode_X64_Base		hint_nop59
syn keyword gasOpcode_X64_Base		hint_nop60
syn keyword gasOpcode_X64_Base		hint_nop61
syn keyword gasOpcode_X64_Base		hint_nop62

"-- Section: Geode (Cyrix) 3DNow! additions
syn keyword gasOpcode_PENT_3DNOW	pfrcpv pfrcpvb pfrcpvw pfrcpvl pfrcpvq
syn keyword gasOpcode_PENT_3DNOW	pfrsqrtv pfrsqrtvb pfrsqrtvw pfrsqrtvl pfrsqrtvq

"-- Section: XSAVE group (AVX and extended state)
syn keyword gasOpcode_NEHALEM_Base	xgetbv
syn keyword gasOpcode_NEHALEM_Base	xsetbv
syn keyword gasOpcode_NEHALEM_Base	xsave xsaveb xsavew xsavel xsaveq
syn keyword gasOpcode_NEHALEM_Base	xrstor xrstorb xrstorw xrstorl xrstorq

"-- Section: Conventional instructions
syn keyword gasOpcode_8086_Base		aaa
syn keyword gasOpcode_8086_Base		aad aadb aadw aadl aadq
syn keyword gasOpcode_8086_Base		aam aamb aamw aaml aamq
syn keyword gasOpcode_8086_Base		aas
syn keyword gasOpcode_386_Base		adc adcb adcw adcl adcq
syn keyword gasOpcode_386_Base		add addb addw addl addq
syn keyword gasOpcode_386_Base		and andb andw andl andq
syn keyword gasOpcode_286_Base		arpl
syn keyword gasOpcode_PENT_Base		bb0_reset
syn keyword gasOpcode_PENT_Base		bb1_reset
syn keyword gasOpcode_386_Base		bound boundb boundw boundl boundq
syn keyword gasOpcode_X64_Base		bsf
syn keyword gasOpcode_X64_Base		bsr
syn keyword gasOpcode_X64_Base		bswap
syn keyword gasOpcode_X64_Base		bt btb btw btl btq
syn keyword gasOpcode_X64_Base		btc btcb btcw btcl btcq
syn keyword gasOpcode_X64_Base		btr btrb btrw btrl btrq
syn keyword gasOpcode_X64_Base		bts btsb btsw btsl btsq
syn keyword gasOpcode_X64_Base		call callb callw calll callq
syn keyword gasOpcode_8086_Base		cbw
syn keyword gasOpcode_386_Base		cdq
syn keyword gasOpcode_X64_Base		cdqe
syn keyword gasOpcode_8086_Base		clc
syn keyword gasOpcode_8086_Base		cld
syn keyword gasOpcode_X64_Base		clgi
syn keyword gasOpcode_8086_Base		cli
syn keyword gasOpcode_286_Base		clts
syn keyword gasOpcode_8086_Base		cmc
syn keyword gasOpcode_386_Base		cmp cmpb cmpw cmpl cmpq
syn keyword gasOpcode_8086_Base		cmpsb
syn keyword gasOpcode_386_Base		cmpsd
syn keyword gasOpcode_X64_Base		cmpsq
syn keyword gasOpcode_8086_Base		cmpsw
syn keyword gasOpcode_X64_Base		cmpxchg
syn keyword gasOpcode_486_Base		cmpxchg486
syn keyword gasOpcode_PENT_Base		cmpxchg8b cmpxchg8bb cmpxchg8bw cmpxchg8bl cmpxchg8bq
syn keyword gasOpcode_X64_Base		cmpxchg16b cmpxchg16bb cmpxchg16bw cmpxchg16bl cmpxchg16bq
syn keyword gasOpcode_PENT_Base		cpuid
syn keyword gasOpcode_PENT_Base		cpu_read
syn keyword gasOpcode_PENT_Base		cpu_write
syn keyword gasOpcode_X64_Base		cqo
syn keyword gasOpcode_8086_Base		cwd
syn keyword gasOpcode_386_Base		cwde
syn keyword gasOpcode_8086_Base		daa
syn keyword gasOpcode_8086_Base		das
syn keyword gasOpcode_X64_Base		dec
syn keyword gasOpcode_X64_Base		div
syn keyword gasOpcode_P6_Base		dmint
syn keyword gasOpcode_PENT_MMX		emms
syn keyword gasOpcode_186_Base		enter enterb enterw enterl enterq
syn keyword gasOpcode_8086_Base		equ
syn keyword gasOpcode_8086_Base		f2xm1
syn keyword gasOpcode_8086_Base		fabs
syn keyword gasOpcode_8086_Base		fadd
syn keyword gasOpcode_8086_Base		faddp
syn keyword gasOpcode_8086_Base		fbld fbldb fbldw fbldl fbldq
syn keyword gasOpcode_8086_Base		fbstp fbstpb fbstpw fbstpl fbstpq
syn keyword gasOpcode_8086_Base		fchs
syn keyword gasOpcode_8086_Base		fclex
syn keyword gasOpcode_P6_Base		fcmovb
syn keyword gasOpcode_P6_Base		fcmovbe
syn keyword gasOpcode_P6_Base		fcmove
syn keyword gasOpcode_P6_Base		fcmovnb
syn keyword gasOpcode_P6_Base		fcmovnbe
syn keyword gasOpcode_P6_Base		fcmovne
syn keyword gasOpcode_P6_Base		fcmovnu
syn keyword gasOpcode_P6_Base		fcmovu
syn keyword gasOpcode_8086_Base		fcom
syn keyword gasOpcode_P6_Base		fcomi
syn keyword gasOpcode_P6_Base		fcomip
syn keyword gasOpcode_8086_Base		fcomp
syn keyword gasOpcode_8086_Base		fcompp
syn keyword gasOpcode_386_Base		fcos
syn keyword gasOpcode_8086_Base		fdecstp
syn keyword gasOpcode_8086_Base		fdisi
syn keyword gasOpcode_8086_Base		fdiv
syn keyword gasOpcode_8086_Base		fdivp
syn keyword gasOpcode_8086_Base		fdivr
syn keyword gasOpcode_8086_Base		fdivrp
syn keyword gasOpcode_PENT_3DNOW	femms
syn keyword gasOpcode_8086_Base		feni
syn keyword gasOpcode_8086_Base		ffree
syn keyword gasOpcode_286_Base		ffreep
syn keyword gasOpcode_8086_Base		fiadd fiaddb fiaddw fiaddl fiaddq
syn keyword gasOpcode_8086_Base		ficom ficomb ficomw ficoml ficomq
syn keyword gasOpcode_8086_Base		ficomp ficompb ficompw ficompl ficompq
syn keyword gasOpcode_8086_Base		fidiv fidivb fidivw fidivl fidivq
syn keyword gasOpcode_8086_Base		fidivr fidivrb fidivrw fidivrl fidivrq
syn keyword gasOpcode_8086_Base		fild fildb fildw fildl fildq
syn keyword gasOpcode_8086_Base		fimul fimulb fimulw fimull fimulq
syn keyword gasOpcode_8086_Base		fincstp
syn keyword gasOpcode_8086_Base		finit
syn keyword gasOpcode_8086_Base		fist fistb fistw fistl fistq
syn keyword gasOpcode_8086_Base		fistp fistpb fistpw fistpl fistpq
syn keyword gasOpcode_PRESCOTT_Base	fisttp fisttpb fisttpw fisttpl fisttpq
syn keyword gasOpcode_8086_Base		fisub fisubb fisubw fisubl fisubq
syn keyword gasOpcode_8086_Base		fisubr fisubrb fisubrw fisubrl fisubrq
syn keyword gasOpcode_8086_Base		fld
syn keyword gasOpcode_8086_Base		fld1
syn keyword gasOpcode_8086_Base		fldcw fldcwb fldcww fldcwl fldcwq
syn keyword gasOpcode_8086_Base		fldenv fldenvb fldenvw fldenvl fldenvq
syn keyword gasOpcode_8086_Base		fldl2e
syn keyword gasOpcode_8086_Base		fldl2t
syn keyword gasOpcode_8086_Base		fldlg2
syn keyword gasOpcode_8086_Base		fldln2
syn keyword gasOpcode_8086_Base		fldpi
syn keyword gasOpcode_8086_Base		fldz
syn keyword gasOpcode_8086_Base		fmul
syn keyword gasOpcode_8086_Base		fmulp
syn keyword gasOpcode_8086_Base		fnclex
syn keyword gasOpcode_8086_Base		fndisi
syn keyword gasOpcode_8086_Base		fneni
syn keyword gasOpcode_8086_Base		fninit
syn keyword gasOpcode_8086_Base		fnop
syn keyword gasOpcode_8086_Base		fnsave fnsaveb fnsavew fnsavel fnsaveq
syn keyword gasOpcode_8086_Base		fnstcw fnstcwb fnstcww fnstcwl fnstcwq
syn keyword gasOpcode_8086_Base		fnstenv fnstenvb fnstenvw fnstenvl fnstenvq
syn keyword gasOpcode_286_Base		fnstsw
syn keyword gasOpcode_8086_Base		fpatan
syn keyword gasOpcode_8086_Base		fprem
syn keyword gasOpcode_386_Base		fprem1
syn keyword gasOpcode_8086_Base		fptan
syn keyword gasOpcode_8086_Base		frndint
syn keyword gasOpcode_8086_Base		frstor frstorb frstorw frstorl frstorq
syn keyword gasOpcode_8086_Base		fsave fsaveb fsavew fsavel fsaveq
syn keyword gasOpcode_8086_Base		fscale
syn keyword gasOpcode_286_Base		fsetpm
syn keyword gasOpcode_386_Base		fsin
syn keyword gasOpcode_386_Base		fsincos
syn keyword gasOpcode_8086_Base		fsqrt
syn keyword gasOpcode_8086_Base		fst
syn keyword gasOpcode_8086_Base		fstcw fstcwb fstcww fstcwl fstcwq
syn keyword gasOpcode_8086_Base		fstenv fstenvb fstenvw fstenvl fstenvq
syn keyword gasOpcode_8086_Base		fstp
syn keyword gasOpcode_286_Base		fstsw
syn keyword gasOpcode_8086_Base		fsub
syn keyword gasOpcode_8086_Base		fsubp
syn keyword gasOpcode_8086_Base		fsubr
syn keyword gasOpcode_8086_Base		fsubrp
syn keyword gasOpcode_8086_Base		ftst
syn keyword gasOpcode_386_Base		fucom
syn keyword gasOpcode_P6_Base		fucomi
syn keyword gasOpcode_P6_Base		fucomip
syn keyword gasOpcode_386_Base		fucomp
syn keyword gasOpcode_386_Base		fucompp
syn keyword gasOpcode_8086_Base		fxam
syn keyword gasOpcode_8086_Base		fxch
syn keyword gasOpcode_8086_Base		fxtract
syn keyword gasOpcode_8086_Base		fyl2x
syn keyword gasOpcode_8086_Base		fyl2xp1
syn keyword gasOpcode_8086_Base		hlt
syn keyword gasOpcode_386_Base		ibts
syn keyword gasOpcode_386_Base		icebp
syn keyword gasOpcode_X64_Base		idiv
syn keyword gasOpcode_X64_Base		imul imulb imulw imull imulq
syn keyword gasOpcode_386_Base		in
syn keyword gasOpcode_X64_Base		inc incb incw incl incq
syn keyword gasOpcode_Base		incbin
syn keyword gasOpcode_186_Base		insb
syn keyword gasOpcode_386_Base		insd
syn keyword gasOpcode_186_Base		insw
syn keyword gasOpcode_8086_Base		int intb intw intl intq
syn keyword gasOpcode_386_Base		int01
syn keyword gasOpcode_386_Base		int1
syn keyword gasOpcode_8086_Base		int03
syn keyword gasOpcode_8086_Base		int3
syn keyword gasOpcode_8086_Base		into
syn keyword gasOpcode_486_Base		invd
syn keyword gasOpcode_486_Base		invlpg invlpgb invlpgw invlpgl invlpgq
syn keyword gasOpcode_X86_64_Base	invlpga
syn keyword gasOpcode_8086_Base		iret
syn keyword gasOpcode_386_Base		iretd
syn keyword gasOpcode_X64_Base		iretq
syn keyword gasOpcode_8086_Base		iretw
syn keyword gasOpcode_8086_Base		jcxz jcxzb jcxzw jcxzl jcxzq
syn keyword gasOpcode_386_Base		jecxz jecxzb jecxzw jecxzl jecxzq
syn keyword gasOpcode_X64_Base		jrcxz jrcxzb jrcxzw jrcxzl jrcxzq
syn keyword gasOpcode_X64_Base		jmp jmpb jmpw jmpl jmpq
syn keyword gasOpcode_IA64_Base		jmpe
syn keyword gasOpcode_8086_Base		lahf
syn keyword gasOpcode_X64_Base		lar
syn keyword gasOpcode_386_Base		lds ldsb ldsw ldsl ldsq
syn keyword gasOpcode_X64_Base		lea leab leaw leal leaq
syn keyword gasOpcode_186_Base		leave
syn keyword gasOpcode_386_Base		les lesb lesw lesl lesq
syn keyword gasOpcode_X64_Base		lfence
syn keyword gasOpcode_386_Base		lfs lfsb lfsw lfsl lfsq
syn keyword gasOpcode_286_Base		lgdt lgdtb lgdtw lgdtl lgdtq
syn keyword gasOpcode_386_Base		lgs lgsb lgsw lgsl lgsq
syn keyword gasOpcode_286_Base		lidt lidtb lidtw lidtl lidtq
syn keyword gasOpcode_286_Base		lldt
syn keyword gasOpcode_286_Base		lmsw
syn keyword gasOpcode_386_Base		loadall
syn keyword gasOpcode_286_Base		loadall286
syn keyword gasOpcode_8086_Base		lodsb
syn keyword gasOpcode_386_Base		lodsd
syn keyword gasOpcode_X64_Base		lodsq
syn keyword gasOpcode_8086_Base		lodsw
syn keyword gasOpcode_X64_Base		loop loopb loopw loopl loopq
syn keyword gasOpcode_X64_Base		loope loopeb loopew loopel loopeq
syn keyword gasOpcode_X64_Base		loopne loopneb loopnew loopnel loopneq
syn keyword gasOpcode_X64_Base		loopnz loopnzb loopnzw loopnzl loopnzq
syn keyword gasOpcode_X64_Base		loopz loopzb loopzw loopzl loopzq
syn keyword gasOpcode_X64_Base		lsl
syn keyword gasOpcode_386_Base		lss lssb lssw lssl lssq
syn keyword gasOpcode_286_Base		ltr
syn keyword gasOpcode_X64_Base		mfence
syn keyword gasOpcode_PRESCOTT_Base	monitor
syn keyword gasOpcode_386_Base		mov movb movw movl movq
syn keyword gasOpcode_X64_SSE		movd
syn keyword gasOpcode_X64_MMX		movq
syn keyword gasOpcode_8086_Base		movsb
syn keyword gasOpcode_386_Base		movsd
syn keyword gasOpcode_X64_Base		movsq
syn keyword gasOpcode_8086_Base		movsw
syn keyword gasOpcode_X64_Base		movsx
syn keyword gasOpcode_X64_Base		movsxd
syn keyword gasOpcode_X64_Base		movsx
syn keyword gasOpcode_X64_Base		movzx
syn keyword gasOpcode_X64_Base		mul
syn keyword gasOpcode_PRESCOTT_Base	mwait
syn keyword gasOpcode_X64_Base		neg
syn keyword gasOpcode_X64_Base		nop
syn keyword gasOpcode_X64_Base		not
syn keyword gasOpcode_386_Base		or orb orw orl orq
syn keyword gasOpcode_386_Base		out
syn keyword gasOpcode_186_Base		outsb
syn keyword gasOpcode_386_Base		outsd
syn keyword gasOpcode_186_Base		outsw
syn keyword gasOpcode_PENT_MMX		packssdw packssdwb packssdww packssdwl packssdwq
syn keyword gasOpcode_PENT_MMX		packsswb packsswbb packsswbw packsswbl packsswbq
syn keyword gasOpcode_PENT_MMX		packuswb packuswbb packuswbw packuswbl packuswbq
syn keyword gasOpcode_PENT_MMX		paddb paddbb paddbw paddbl paddbq
syn keyword gasOpcode_PENT_MMX		paddd padddb padddw padddl padddq
syn keyword gasOpcode_PENT_MMX		paddsb paddsbb paddsbw paddsbl paddsbq
syn keyword gasOpcode_PENT_MMX		paddsiw paddsiwb paddsiww paddsiwl paddsiwq
syn keyword gasOpcode_PENT_MMX		paddsw paddswb paddsww paddswl paddswq
syn keyword gasOpcode_PENT_MMX		paddusb paddusbb paddusbw paddusbl paddusbq
syn keyword gasOpcode_PENT_MMX		paddusw padduswb paddusww padduswl padduswq
syn keyword gasOpcode_PENT_MMX		paddw paddwb paddww paddwl paddwq
syn keyword gasOpcode_PENT_MMX		pand pandb pandw pandl pandq
syn keyword gasOpcode_PENT_MMX		pandn pandnb pandnw pandnl pandnq
syn keyword gasOpcode_8086_Base		pause
syn keyword gasOpcode_PENT_MMX		paveb pavebb pavebw pavebl pavebq
syn keyword gasOpcode_PENT_3DNOW	pavgusb pavgusbb pavgusbw pavgusbl pavgusbq
syn keyword gasOpcode_PENT_MMX		pcmpeqb pcmpeqbb pcmpeqbw pcmpeqbl pcmpeqbq
syn keyword gasOpcode_PENT_MMX		pcmpeqd pcmpeqdb pcmpeqdw pcmpeqdl pcmpeqdq
syn keyword gasOpcode_PENT_MMX		pcmpeqw pcmpeqwb pcmpeqww pcmpeqwl pcmpeqwq
syn keyword gasOpcode_PENT_MMX		pcmpgtb pcmpgtbb pcmpgtbw pcmpgtbl pcmpgtbq
syn keyword gasOpcode_PENT_MMX		pcmpgtd pcmpgtdb pcmpgtdw pcmpgtdl pcmpgtdq
syn keyword gasOpcode_PENT_MMX		pcmpgtw pcmpgtwb pcmpgtww pcmpgtwl pcmpgtwq
syn keyword gasOpcode_PENT_MMX		pdistib pdistibb pdistibw pdistibl pdistibq
syn keyword gasOpcode_PENT_3DNOW	pf2id pf2idb pf2idw pf2idl pf2idq
syn keyword gasOpcode_PENT_3DNOW	pfacc pfaccb pfaccw pfaccl pfaccq
syn keyword gasOpcode_PENT_3DNOW	pfadd pfaddb pfaddw pfaddl pfaddq
syn keyword gasOpcode_PENT_3DNOW	pfcmpeq pfcmpeqb pfcmpeqw pfcmpeql pfcmpeqq
syn keyword gasOpcode_PENT_3DNOW	pfcmpge pfcmpgeb pfcmpgew pfcmpgel pfcmpgeq
syn keyword gasOpcode_PENT_3DNOW	pfcmpgt pfcmpgtb pfcmpgtw pfcmpgtl pfcmpgtq
syn keyword gasOpcode_PENT_3DNOW	pfmax pfmaxb pfmaxw pfmaxl pfmaxq
syn keyword gasOpcode_PENT_3DNOW	pfmin pfminb pfminw pfminl pfminq
syn keyword gasOpcode_PENT_3DNOW	pfmul pfmulb pfmulw pfmull pfmulq
syn keyword gasOpcode_PENT_3DNOW	pfrcp pfrcpb pfrcpw pfrcpl pfrcpq
syn keyword gasOpcode_PENT_3DNOW	pfrcpit1 pfrcpit1b pfrcpit1w pfrcpit1l pfrcpit1q
syn keyword gasOpcode_PENT_3DNOW	pfrcpit2 pfrcpit2b pfrcpit2w pfrcpit2l pfrcpit2q
syn keyword gasOpcode_PENT_3DNOW	pfrsqit1 pfrsqit1b pfrsqit1w pfrsqit1l pfrsqit1q
syn keyword gasOpcode_PENT_3DNOW	pfrsqrt pfrsqrtb pfrsqrtw pfrsqrtl pfrsqrtq
syn keyword gasOpcode_PENT_3DNOW	pfsub pfsubb pfsubw pfsubl pfsubq
syn keyword gasOpcode_PENT_3DNOW	pfsubr pfsubrb pfsubrw pfsubrl pfsubrq
syn keyword gasOpcode_PENT_3DNOW	pi2fd pi2fdb pi2fdw pi2fdl pi2fdq
syn keyword gasOpcode_PENT_MMX		pmachriw pmachriwb pmachriww pmachriwl pmachriwq
syn keyword gasOpcode_PENT_MMX		pmaddwd pmaddwdb pmaddwdw pmaddwdl pmaddwdq
syn keyword gasOpcode_PENT_MMX		pmagw pmagwb pmagww pmagwl pmagwq
syn keyword gasOpcode_PENT_MMX		pmulhriw pmulhriwb pmulhriww pmulhriwl pmulhriwq
syn keyword gasOpcode_PENT_3DNOW	pmulhrwa pmulhrwab pmulhrwaw pmulhrwal pmulhrwaq
syn keyword gasOpcode_PENT_MMX		pmulhrwc pmulhrwcb pmulhrwcw pmulhrwcl pmulhrwcq
syn keyword gasOpcode_PENT_MMX		pmulhw pmulhwb pmulhww pmulhwl pmulhwq
syn keyword gasOpcode_PENT_MMX		pmullw pmullwb pmullww pmullwl pmullwq
syn keyword gasOpcode_PENT_MMX		pmvgezb pmvgezbb pmvgezbw pmvgezbl pmvgezbq
syn keyword gasOpcode_PENT_MMX		pmvlzb pmvlzbb pmvlzbw pmvlzbl pmvlzbq
syn keyword gasOpcode_PENT_MMX		pmvnzb pmvnzbb pmvnzbw pmvnzbl pmvnzbq
syn keyword gasOpcode_PENT_MMX		pmvzb pmvzbb pmvzbw pmvzbl pmvzbq
syn keyword gasOpcode_X64_Base		pop popb popw popl popq
syn keyword gasOpcode_386_Base		pop
syn keyword gasOpcode_186_Base		popa
syn keyword gasOpcode_386_Base		popad
syn keyword gasOpcode_186_Base		popaw
syn keyword gasOpcode_8086_Base		popf
syn keyword gasOpcode_386_Base		popfd popfl
syn keyword gasOpcode_X64_Base		popfq
syn keyword gasOpcode_8086_Base		popfw
syn keyword gasOpcode_PENT_MMX		por porb porw porl porq
syn keyword gasOpcode_PENT_3DNOW	prefetch prefetchb prefetchw prefetchl prefetchq
syn keyword gasOpcode_PENT_3DNOW	prefetchw prefetchwb prefetchww prefetchwl prefetchwq
syn keyword gasOpcode_PENT_MMX		pslld pslldb pslldw pslldl pslldq
syn keyword gasOpcode_PENT_MMX		psllq psllqb psllqw psllql psllqq
syn keyword gasOpcode_PENT_MMX		psllw psllwb psllww psllwl psllwq
syn keyword gasOpcode_PENT_MMX		psrad psradb psradw psradl psradq
syn keyword gasOpcode_PENT_MMX		psraw psrawb psraww psrawl psrawq
syn keyword gasOpcode_PENT_MMX		psrld psrldb psrldw psrldl psrldq
syn keyword gasOpcode_PENT_MMX		psrlq psrlqb psrlqw psrlql psrlqq
syn keyword gasOpcode_PENT_MMX		psrlw psrlwb psrlww psrlwl psrlwq
syn keyword gasOpcode_PENT_MMX		psubb psubbb psubbw psubbl psubbq
syn keyword gasOpcode_PENT_MMX		psubd psubdb psubdw psubdl psubdq
syn keyword gasOpcode_PENT_MMX		psubsb psubsbb psubsbw psubsbl psubsbq
syn keyword gasOpcode_PENT_MMX		psubsiw psubsiwb psubsiww psubsiwl psubsiwq
syn keyword gasOpcode_PENT_MMX		psubsw psubswb psubsww psubswl psubswq
syn keyword gasOpcode_PENT_MMX		psubusb psubusbb psubusbw psubusbl psubusbq
syn keyword gasOpcode_PENT_MMX		psubusw psubuswb psubusww psubuswl psubuswq
syn keyword gasOpcode_PENT_MMX		psubw psubwb psubww psubwl psubwq
syn keyword gasOpcode_PENT_MMX		punpckhbw punpckhbwb punpckhbww punpckhbwl punpckhbwq
syn keyword gasOpcode_PENT_MMX		punpckhdq punpckhdqb punpckhdqw punpckhdql punpckhdqq
syn keyword gasOpcode_PENT_MMX		punpckhwd punpckhwdb punpckhwdw punpckhwdl punpckhwdq
syn keyword gasOpcode_PENT_MMX		punpcklbw punpcklbwb punpcklbww punpcklbwl punpcklbwq
syn keyword gasOpcode_PENT_MMX		punpckldq punpckldqb punpckldqw punpckldql punpckldqq
syn keyword gasOpcode_PENT_MMX		punpcklwd punpcklwdb punpcklwdw punpcklwdl punpcklwdq
syn keyword gasOpcode_X64_Base		push pushb pushw pushl pushq
syn keyword gasOpcode_186_Base		pusha
syn keyword gasOpcode_386_Base		pushad
syn keyword gasOpcode_186_Base		pushaw
syn keyword gasOpcode_8086_Base		pushf
syn keyword gasOpcode_386_Base		pushfd
syn keyword gasOpcode_X64_Base		pushfq
syn keyword gasOpcode_8086_Base		pushfw
syn keyword gasOpcode_PENT_MMX		pxor pxorb pxorw pxorl pxorq
syn keyword gasOpcode_X64_Base		rcl rclb rclw rcll rclq
syn keyword gasOpcode_X64_Base		rcr rcrb rcrw rcrl rcrq
syn keyword gasOpcode_P6_Base		rdshr
syn keyword gasOpcode_PENT_Base		rdmsr
syn keyword gasOpcode_P6_Base		rdpmc
syn keyword gasOpcode_PENT_Base		rdtsc
syn keyword gasOpcode_X86_64_Base		rdtscp
syn keyword gasOpcode_8086_Base		ret retb retw retl retq
syn keyword gasOpcode_8086_Base		retf retfb retfw retfl retfq
syn keyword gasOpcode_8086_Base		retn retnb retnw retnl retnq
syn keyword gasOpcode_X64_Base		rol rolb rolw roll rolq
syn keyword gasOpcode_X64_Base		ror rorb rorw rorl rorq
syn keyword gasOpcode_P6_Base		rdm
syn keyword gasOpcode_486_Base		rsdc rsdcb rsdcw rsdcl rsdcq
syn keyword gasOpcode_486_Base		rsldt rsldtb rsldtw rsldtl rsldtq
syn keyword gasOpcode_PENTM_Base		rsm
syn keyword gasOpcode_486_Base		rsts rstsb rstsw rstsl rstsq
syn keyword gasOpcode_8086_Base		sahf
syn keyword gasOpcode_X64_Base		sal salb salw sall salq
syn keyword gasOpcode_8086_Base		salc
syn keyword gasOpcode_X64_Base		sar sarb sarw sarl sarq
syn keyword gasOpcode_386_Base		sbb sbbb sbbw sbbl sbbq
syn keyword gasOpcode_8086_Base		scasb
syn keyword gasOpcode_386_Base		scasd
syn keyword gasOpcode_X64_Base		scasq
syn keyword gasOpcode_8086_Base		scasw
syn keyword gasOpcode_X64_Base		sfence
syn keyword gasOpcode_286_Base		sgdt sgdtb sgdtw sgdtl sgdtq
syn keyword gasOpcode_X64_Base		shl shlb shlw shll shlq
syn keyword gasOpcode_X64_Base		shld
syn keyword gasOpcode_X64_Base		shr shrb shrw shrl shrq
syn keyword gasOpcode_X64_Base		shrd
syn keyword gasOpcode_286_Base		sidt sidtb sidtw sidtl sidtq
syn keyword gasOpcode_X64_Base		sldt
syn keyword gasOpcode_X64_Base		skinit
syn keyword gasOpcode_386_Base		smi
syn keyword gasOpcode_P6_Base		smint
syn keyword gasOpcode_486_Base		smintold
syn keyword gasOpcode_386_Base		smsw
syn keyword gasOpcode_8086_Base		stc
syn keyword gasOpcode_8086_Base		std
syn keyword gasOpcode_X64_Base		stgi
syn keyword gasOpcode_8086_Base		sti
syn keyword gasOpcode_8086_Base		stosb
syn keyword gasOpcode_386_Base		stosd stosl
syn keyword gasOpcode_X64_Base		stosq
syn keyword gasOpcode_8086_Base		stosw
syn keyword gasOpcode_X64_Base		str
syn keyword gasOpcode_386_Base		sub subb subw subl subq
syn keyword gasOpcode_486_Base		svdc svdcb svdcw svdcl svdcq
syn keyword gasOpcode_486_Base		svldt svldtb svldtw svldtl svldtq
syn keyword gasOpcode_486_Base		svts svtsb svtsw svtsl svtsq
syn keyword gasOpcode_X64_Base		swapgs
syn keyword gasOpcode_P6_Base		syscall
syn keyword gasOpcode_P6_Base		sysenter
syn keyword gasOpcode_P6_Base		sysexit
syn keyword gasOpcode_P6_Base		sysret
syn keyword gasOpcode_386_Base		test testb testw testl testq
syn keyword gasOpcode_186_Base		ud0
syn keyword gasOpcode_186_Base		ud1
syn keyword gasOpcode_186_Base		ud2b
syn keyword gasOpcode_186_Base		ud2
syn keyword gasOpcode_186_Base		ud2a
syn keyword gasOpcode_386_Base		umov
syn keyword gasOpcode_286_Base		verr
syn keyword gasOpcode_286_Base		verw
syn keyword gasOpcode_8086_Base		fwait
syn keyword gasOpcode_486_Base		wbinvd
syn keyword gasOpcode_P6_Base		wrshr
syn keyword gasOpcode_PENT_Base		wrmsr
syn keyword gasOpcode_X64_Base		xadd
syn keyword gasOpcode_386_Base		xbts
syn keyword gasOpcode_X64_Base		xchg
syn keyword gasOpcode_8086_Base		xlatb
syn keyword gasOpcode_8086_Base		xlat
syn keyword gasOpcode_386_Base		xor xorb xorw xorl xorq
syn keyword gasOpcode_X64_Base		cmovcc
syn match   gasOpcode_8086_Base		/\<j\(e\|ne\|a\|ae\|b\|be\|nbe\|g\|ge\|ng\|nge\|l\|le\|\|z\|nz\|c\|nc\|d\|nd\|o\|no\|p\|np\|s\|ns\)[bwlq]\?\>/
syn match   gasOpcode_386_Base		/\<set\(e\|ne\|a\|ae\|b\|be\|nbe\|g\|ge\|ng\|nge\|l\|le\|\|z\|nz\|c\|nc\|d\|nd\|o\|no\|p\|np\|s\|ns\)[bwlq]\?\>/

"-- Section: VIA (Centaur) security instructions
syn keyword gasOpcode_PENT_Base		xstore
syn keyword gasOpcode_PENT_Base		xcryptecb
syn keyword gasOpcode_PENT_Base		xcryptcbc
syn keyword gasOpcode_PENT_Base		xcryptctr
syn keyword gasOpcode_PENT_Base		xcryptcfb
syn keyword gasOpcode_PENT_Base		xcryptofb
syn keyword gasOpcode_PENT_Base		montmul
syn keyword gasOpcode_PENT_Base		xsha1
syn keyword gasOpcode_PENT_Base		xsha256

"-- Section: Intel AVX Carry-Less Multiplication instructions (CLMUL)
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpclmullqlqdq vpclmullqlqdqb vpclmullqlqdqw vpclmullqlqdql vpclmullqlqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpclmulhqlqdq vpclmulhqlqdqb vpclmulhqlqdqw vpclmulhqlqdql vpclmulhqlqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpclmullqhqdq vpclmullqhqdqb vpclmullqhqdqw vpclmullqhqdql vpclmullqhqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpclmulhqhqdq vpclmulhqhqdqb vpclmulhqhqdqw vpclmulhqhqdql vpclmulhqhqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpclmulqdq vpclmulqdqb vpclmulqdqw vpclmulqdql vpclmulqdqq

"-- Section: AMD SSE5 instructions
syn keyword gasOpcode_AMD_SSE5		fmaddps fmaddpsb fmaddpsw fmaddpsl fmaddpsq
syn keyword gasOpcode_AMD_SSE5		fmaddpd fmaddpdb fmaddpdw fmaddpdl fmaddpdq
syn keyword gasOpcode_AMD_SSE5		fmaddss fmaddssb fmaddssw fmaddssl fmaddssq
syn keyword gasOpcode_AMD_SSE5		fmaddsd fmaddsdb fmaddsdw fmaddsdl fmaddsdq
syn keyword gasOpcode_AMD_SSE5		fmsubps fmsubpsb fmsubpsw fmsubpsl fmsubpsq
syn keyword gasOpcode_AMD_SSE5		fmsubpd fmsubpdb fmsubpdw fmsubpdl fmsubpdq
syn keyword gasOpcode_AMD_SSE5		fmsubss fmsubssb fmsubssw fmsubssl fmsubssq
syn keyword gasOpcode_AMD_SSE5		fmsubsd fmsubsdb fmsubsdw fmsubsdl fmsubsdq
syn keyword gasOpcode_AMD_SSE5		fnmaddps fnmaddpsb fnmaddpsw fnmaddpsl fnmaddpsq
syn keyword gasOpcode_AMD_SSE5		fnmaddpd fnmaddpdb fnmaddpdw fnmaddpdl fnmaddpdq
syn keyword gasOpcode_AMD_SSE5		fnmaddss fnmaddssb fnmaddssw fnmaddssl fnmaddssq
syn keyword gasOpcode_AMD_SSE5		fnmaddsd fnmaddsdb fnmaddsdw fnmaddsdl fnmaddsdq
syn keyword gasOpcode_AMD_SSE5		fnmsubps fnmsubpsb fnmsubpsw fnmsubpsl fnmsubpsq
syn keyword gasOpcode_AMD_SSE5		fnmsubpd fnmsubpdb fnmsubpdw fnmsubpdl fnmsubpdq
syn keyword gasOpcode_AMD_SSE5		fnmsubss fnmsubssb fnmsubssw fnmsubssl fnmsubssq
syn keyword gasOpcode_AMD_SSE5		fnmsubsd fnmsubsdb fnmsubsdw fnmsubsdl fnmsubsdq
syn keyword gasOpcode_AMD_SSE5		comeqps comeqpsb comeqpsw comeqpsl comeqpsq
syn keyword gasOpcode_AMD_SSE5		comltps comltpsb comltpsw comltpsl comltpsq
syn keyword gasOpcode_AMD_SSE5		comleps comlepsb comlepsw comlepsl comlepsq
syn keyword gasOpcode_AMD_SSE5		comunordps comunordpsb comunordpsw comunordpsl comunordpsq
syn keyword gasOpcode_AMD_SSE5		comuneqps comuneqpsb comuneqpsw comuneqpsl comuneqpsq
syn keyword gasOpcode_AMD_SSE5		comunltps comunltpsb comunltpsw comunltpsl comunltpsq
syn keyword gasOpcode_AMD_SSE5		comunleps comunlepsb comunlepsw comunlepsl comunlepsq
syn keyword gasOpcode_AMD_SSE5		comordps comordpsb comordpsw comordpsl comordpsq
syn keyword gasOpcode_AMD_SSE5		comueqps comueqpsb comueqpsw comueqpsl comueqpsq
syn keyword gasOpcode_AMD_SSE5		comultps comultpsb comultpsw comultpsl comultpsq
syn keyword gasOpcode_AMD_SSE5		comuleps comulepsb comulepsw comulepsl comulepsq
syn keyword gasOpcode_AMD_SSE5		comfalseps comfalsepsb comfalsepsw comfalsepsl comfalsepsq
syn keyword gasOpcode_AMD_SSE5		comneqps comneqpsb comneqpsw comneqpsl comneqpsq
syn keyword gasOpcode_AMD_SSE5		comnltps comnltpsb comnltpsw comnltpsl comnltpsq
syn keyword gasOpcode_AMD_SSE5		comnleps comnlepsb comnlepsw comnlepsl comnlepsq
syn keyword gasOpcode_AMD_SSE5		comtrueps comtruepsb comtruepsw comtruepsl comtruepsq
syn keyword gasOpcode_AMD_SSE5		comps compsb compsw compsl compsq
syn keyword gasOpcode_AMD_SSE5		comeqpd comeqpdb comeqpdw comeqpdl comeqpdq
syn keyword gasOpcode_AMD_SSE5		comltpd comltpdb comltpdw comltpdl comltpdq
syn keyword gasOpcode_AMD_SSE5		comlepd comlepdb comlepdw comlepdl comlepdq
syn keyword gasOpcode_AMD_SSE5		comunordpd comunordpdb comunordpdw comunordpdl comunordpdq
syn keyword gasOpcode_AMD_SSE5		comuneqpd comuneqpdb comuneqpdw comuneqpdl comuneqpdq
syn keyword gasOpcode_AMD_SSE5		comunltpd comunltpdb comunltpdw comunltpdl comunltpdq
syn keyword gasOpcode_AMD_SSE5		comunlepd comunlepdb comunlepdw comunlepdl comunlepdq
syn keyword gasOpcode_AMD_SSE5		comordpd comordpdb comordpdw comordpdl comordpdq
syn keyword gasOpcode_AMD_SSE5		comueqpd comueqpdb comueqpdw comueqpdl comueqpdq
syn keyword gasOpcode_AMD_SSE5		comultpd comultpdb comultpdw comultpdl comultpdq
syn keyword gasOpcode_AMD_SSE5		comulepd comulepdb comulepdw comulepdl comulepdq
syn keyword gasOpcode_AMD_SSE5		comfalsepd comfalsepdb comfalsepdw comfalsepdl comfalsepdq
syn keyword gasOpcode_AMD_SSE5		comneqpd comneqpdb comneqpdw comneqpdl comneqpdq
syn keyword gasOpcode_AMD_SSE5		comnltpd comnltpdb comnltpdw comnltpdl comnltpdq
syn keyword gasOpcode_AMD_SSE5		comnlepd comnlepdb comnlepdw comnlepdl comnlepdq
syn keyword gasOpcode_AMD_SSE5		comtruepd comtruepdb comtruepdw comtruepdl comtruepdq
syn keyword gasOpcode_AMD_SSE5		compd compdb compdw compdl compdq
syn keyword gasOpcode_AMD_SSE5		comeqss comeqssb comeqssw comeqssl comeqssq
syn keyword gasOpcode_AMD_SSE5		comltss comltssb comltssw comltssl comltssq
syn keyword gasOpcode_AMD_SSE5		comless comlessb comlessw comlessl comlessq
syn keyword gasOpcode_AMD_SSE5		comunordss comunordssb comunordssw comunordssl comunordssq
syn keyword gasOpcode_AMD_SSE5		comuneqss comuneqssb comuneqssw comuneqssl comuneqssq
syn keyword gasOpcode_AMD_SSE5		comunltss comunltssb comunltssw comunltssl comunltssq
syn keyword gasOpcode_AMD_SSE5		comunless comunlessb comunlessw comunlessl comunlessq
syn keyword gasOpcode_AMD_SSE5		comordss comordssb comordssw comordssl comordssq
syn keyword gasOpcode_AMD_SSE5		comueqss comueqssb comueqssw comueqssl comueqssq
syn keyword gasOpcode_AMD_SSE5		comultss comultssb comultssw comultssl comultssq
syn keyword gasOpcode_AMD_SSE5		comuless comulessb comulessw comulessl comulessq
syn keyword gasOpcode_AMD_SSE5		comfalsess comfalsessb comfalsessw comfalsessl comfalsessq
syn keyword gasOpcode_AMD_SSE5		comneqss comneqssb comneqssw comneqssl comneqssq
syn keyword gasOpcode_AMD_SSE5		comnltss comnltssb comnltssw comnltssl comnltssq
syn keyword gasOpcode_AMD_SSE5		comnless comnlessb comnlessw comnlessl comnlessq
syn keyword gasOpcode_AMD_SSE5		comtruess comtruessb comtruessw comtruessl comtruessq
syn keyword gasOpcode_AMD_SSE5		comss comssb comssw comssl comssq
syn keyword gasOpcode_AMD_SSE5		comeqsd comeqsdb comeqsdw comeqsdl comeqsdq
syn keyword gasOpcode_AMD_SSE5		comltsd comltsdb comltsdw comltsdl comltsdq
syn keyword gasOpcode_AMD_SSE5		comlesd comlesdb comlesdw comlesdl comlesdq
syn keyword gasOpcode_AMD_SSE5		comunordsd comunordsdb comunordsdw comunordsdl comunordsdq
syn keyword gasOpcode_AMD_SSE5		comuneqsd comuneqsdb comuneqsdw comuneqsdl comuneqsdq
syn keyword gasOpcode_AMD_SSE5		comunltsd comunltsdb comunltsdw comunltsdl comunltsdq
syn keyword gasOpcode_AMD_SSE5		comunlesd comunlesdb comunlesdw comunlesdl comunlesdq
syn keyword gasOpcode_AMD_SSE5		comordsd comordsdb comordsdw comordsdl comordsdq
syn keyword gasOpcode_AMD_SSE5		comueqsd comueqsdb comueqsdw comueqsdl comueqsdq
syn keyword gasOpcode_AMD_SSE5		comultsd comultsdb comultsdw comultsdl comultsdq
syn keyword gasOpcode_AMD_SSE5		comulesd comulesdb comulesdw comulesdl comulesdq
syn keyword gasOpcode_AMD_SSE5		comfalsesd comfalsesdb comfalsesdw comfalsesdl comfalsesdq
syn keyword gasOpcode_AMD_SSE5		comneqsd comneqsdb comneqsdw comneqsdl comneqsdq
syn keyword gasOpcode_AMD_SSE5		comnltsd comnltsdb comnltsdw comnltsdl comnltsdq
syn keyword gasOpcode_AMD_SSE5		comnlesd comnlesdb comnlesdw comnlesdl comnlesdq
syn keyword gasOpcode_AMD_SSE5		comtruesd comtruesdb comtruesdw comtruesdl comtruesdq
syn keyword gasOpcode_AMD_SSE5		comsd comsdb comsdw comsdl comsdq
syn keyword gasOpcode_AMD_SSE5		pcomltb pcomltbb pcomltbw pcomltbl pcomltbq
syn keyword gasOpcode_AMD_SSE5		pcomleb pcomlebb pcomlebw pcomlebl pcomlebq
syn keyword gasOpcode_AMD_SSE5		pcomgtb pcomgtbb pcomgtbw pcomgtbl pcomgtbq
syn keyword gasOpcode_AMD_SSE5		pcomgeb pcomgebb pcomgebw pcomgebl pcomgebq
syn keyword gasOpcode_AMD_SSE5		pcomeqb pcomeqbb pcomeqbw pcomeqbl pcomeqbq
syn keyword gasOpcode_AMD_SSE5		pcomneqb pcomneqbb pcomneqbw pcomneqbl pcomneqbq
syn keyword gasOpcode_AMD_SSE5		pcomfalseb pcomfalsebb pcomfalsebw pcomfalsebl pcomfalsebq
syn keyword gasOpcode_AMD_SSE5		pcomtrueb pcomtruebb pcomtruebw pcomtruebl pcomtruebq
syn keyword gasOpcode_AMD_SSE5		pcomb pcombb pcombw pcombl pcombq
syn keyword gasOpcode_AMD_SSE5		pcomltw pcomltwb pcomltww pcomltwl pcomltwq
syn keyword gasOpcode_AMD_SSE5		pcomlew pcomlewb pcomleww pcomlewl pcomlewq
syn keyword gasOpcode_AMD_SSE5		pcomgtw pcomgtwb pcomgtww pcomgtwl pcomgtwq
syn keyword gasOpcode_AMD_SSE5		pcomgew pcomgewb pcomgeww pcomgewl pcomgewq
syn keyword gasOpcode_AMD_SSE5		pcomeqw pcomeqwb pcomeqww pcomeqwl pcomeqwq
syn keyword gasOpcode_AMD_SSE5		pcomneqw pcomneqwb pcomneqww pcomneqwl pcomneqwq
syn keyword gasOpcode_AMD_SSE5		pcomfalsew pcomfalsewb pcomfalseww pcomfalsewl pcomfalsewq
syn keyword gasOpcode_AMD_SSE5		pcomtruew pcomtruewb pcomtrueww pcomtruewl pcomtruewq
syn keyword gasOpcode_AMD_SSE5		pcomw pcomwb pcomww pcomwl pcomwq
syn keyword gasOpcode_AMD_SSE5		pcomltd pcomltdb pcomltdw pcomltdl pcomltdq
syn keyword gasOpcode_AMD_SSE5		pcomled pcomledb pcomledw pcomledl pcomledq
syn keyword gasOpcode_AMD_SSE5		pcomgtd pcomgtdb pcomgtdw pcomgtdl pcomgtdq
syn keyword gasOpcode_AMD_SSE5		pcomged pcomgedb pcomgedw pcomgedl pcomgedq
syn keyword gasOpcode_AMD_SSE5		pcomeqd pcomeqdb pcomeqdw pcomeqdl pcomeqdq
syn keyword gasOpcode_AMD_SSE5		pcomneqd pcomneqdb pcomneqdw pcomneqdl pcomneqdq
syn keyword gasOpcode_AMD_SSE5		pcomfalsed pcomfalsedb pcomfalsedw pcomfalsedl pcomfalsedq
syn keyword gasOpcode_AMD_SSE5		pcomtrued pcomtruedb pcomtruedw pcomtruedl pcomtruedq
syn keyword gasOpcode_AMD_SSE5		pcomd pcomdb pcomdw pcomdl pcomdq
syn keyword gasOpcode_AMD_SSE5		pcomltq pcomltqb pcomltqw pcomltql pcomltqq
syn keyword gasOpcode_AMD_SSE5		pcomleq pcomleqb pcomleqw pcomleql pcomleqq
syn keyword gasOpcode_AMD_SSE5		pcomgtq pcomgtqb pcomgtqw pcomgtql pcomgtqq
syn keyword gasOpcode_AMD_SSE5		pcomgeq pcomgeqb pcomgeqw pcomgeql pcomgeqq
syn keyword gasOpcode_AMD_SSE5		pcomeqq pcomeqqb pcomeqqw pcomeqql pcomeqqq
syn keyword gasOpcode_AMD_SSE5		pcomneqq pcomneqqb pcomneqqw pcomneqql pcomneqqq
syn keyword gasOpcode_AMD_SSE5		pcomfalseq pcomfalseqb pcomfalseqw pcomfalseql pcomfalseqq
syn keyword gasOpcode_AMD_SSE5		pcomtrueq pcomtrueqb pcomtrueqw pcomtrueql pcomtrueqq
syn keyword gasOpcode_AMD_SSE5		pcomq pcomqb pcomqw pcomql pcomqq
syn keyword gasOpcode_AMD_SSE5		pcomltub pcomltubb pcomltubw pcomltubl pcomltubq
syn keyword gasOpcode_AMD_SSE5		pcomleub pcomleubb pcomleubw pcomleubl pcomleubq
syn keyword gasOpcode_AMD_SSE5		pcomgtub pcomgtubb pcomgtubw pcomgtubl pcomgtubq
syn keyword gasOpcode_AMD_SSE5		pcomgeub pcomgeubb pcomgeubw pcomgeubl pcomgeubq
syn keyword gasOpcode_AMD_SSE5		pcomequb pcomequbb pcomequbw pcomequbl pcomequbq
syn keyword gasOpcode_AMD_SSE5		pcomnequb pcomnequbb pcomnequbw pcomnequbl pcomnequbq
syn keyword gasOpcode_AMD_SSE5		pcomfalseub pcomfalseubb pcomfalseubw pcomfalseubl pcomfalseubq
syn keyword gasOpcode_AMD_SSE5		pcomtrueub pcomtrueubb pcomtrueubw pcomtrueubl pcomtrueubq
syn keyword gasOpcode_AMD_SSE5		pcomub pcomubb pcomubw pcomubl pcomubq
syn keyword gasOpcode_AMD_SSE5		pcomltuw pcomltuwb pcomltuww pcomltuwl pcomltuwq
syn keyword gasOpcode_AMD_SSE5		pcomleuw pcomleuwb pcomleuww pcomleuwl pcomleuwq
syn keyword gasOpcode_AMD_SSE5		pcomgtuw pcomgtuwb pcomgtuww pcomgtuwl pcomgtuwq
syn keyword gasOpcode_AMD_SSE5		pcomgeuw pcomgeuwb pcomgeuww pcomgeuwl pcomgeuwq
syn keyword gasOpcode_AMD_SSE5		pcomequw pcomequwb pcomequww pcomequwl pcomequwq
syn keyword gasOpcode_AMD_SSE5		pcomnequw pcomnequwb pcomnequww pcomnequwl pcomnequwq
syn keyword gasOpcode_AMD_SSE5		pcomfalseuw pcomfalseuwb pcomfalseuww pcomfalseuwl pcomfalseuwq
syn keyword gasOpcode_AMD_SSE5		pcomtrueuw pcomtrueuwb pcomtrueuww pcomtrueuwl pcomtrueuwq
syn keyword gasOpcode_AMD_SSE5		pcomuw pcomuwb pcomuww pcomuwl pcomuwq
syn keyword gasOpcode_AMD_SSE5		pcomltud pcomltudb pcomltudw pcomltudl pcomltudq
syn keyword gasOpcode_AMD_SSE5		pcomleud pcomleudb pcomleudw pcomleudl pcomleudq
syn keyword gasOpcode_AMD_SSE5		pcomgtud pcomgtudb pcomgtudw pcomgtudl pcomgtudq
syn keyword gasOpcode_AMD_SSE5		pcomgeud pcomgeudb pcomgeudw pcomgeudl pcomgeudq
syn keyword gasOpcode_AMD_SSE5		pcomequd pcomequdb pcomequdw pcomequdl pcomequdq
syn keyword gasOpcode_AMD_SSE5		pcomnequd pcomnequdb pcomnequdw pcomnequdl pcomnequdq
syn keyword gasOpcode_AMD_SSE5		pcomfalseud pcomfalseudb pcomfalseudw pcomfalseudl pcomfalseudq
syn keyword gasOpcode_AMD_SSE5		pcomtrueud pcomtrueudb pcomtrueudw pcomtrueudl pcomtrueudq
syn keyword gasOpcode_AMD_SSE5		pcomud pcomudb pcomudw pcomudl pcomudq
syn keyword gasOpcode_AMD_SSE5		pcomltuq pcomltuqb pcomltuqw pcomltuql pcomltuqq
syn keyword gasOpcode_AMD_SSE5		pcomleuq pcomleuqb pcomleuqw pcomleuql pcomleuqq
syn keyword gasOpcode_AMD_SSE5		pcomgtuq pcomgtuqb pcomgtuqw pcomgtuql pcomgtuqq
syn keyword gasOpcode_AMD_SSE5		pcomgeuq pcomgeuqb pcomgeuqw pcomgeuql pcomgeuqq
syn keyword gasOpcode_AMD_SSE5		pcomequq pcomequqb pcomequqw pcomequql pcomequqq
syn keyword gasOpcode_AMD_SSE5		pcomnequq pcomnequqb pcomnequqw pcomnequql pcomnequqq
syn keyword gasOpcode_AMD_SSE5		pcomfalseuq pcomfalseuqb pcomfalseuqw pcomfalseuql pcomfalseuqq
syn keyword gasOpcode_AMD_SSE5		pcomtrueuq pcomtrueuqb pcomtrueuqw pcomtrueuql pcomtrueuqq
syn keyword gasOpcode_AMD_SSE5		pcomuq pcomuqb pcomuqw pcomuql pcomuqq
syn keyword gasOpcode_AMD_SSE5		permps permpsb permpsw permpsl permpsq
syn keyword gasOpcode_AMD_SSE5		permpd permpdb permpdw permpdl permpdq
syn keyword gasOpcode_AMD_SSE5		pcmov pcmovb pcmovw pcmovl pcmovq
syn keyword gasOpcode_AMD_SSE5		pperm ppermb ppermw pperml ppermq
syn keyword gasOpcode_AMD_SSE5		pmacssww pmacsswwb pmacsswww pmacsswwl pmacsswwq
syn keyword gasOpcode_AMD_SSE5		pmacsww pmacswwb pmacswww pmacswwl pmacswwq
syn keyword gasOpcode_AMD_SSE5		pmacsswd pmacsswdb pmacsswdw pmacsswdl pmacsswdq
syn keyword gasOpcode_AMD_SSE5		pmacswd pmacswdb pmacswdw pmacswdl pmacswdq
syn keyword gasOpcode_AMD_SSE5		pmacssdd pmacssddb pmacssddw pmacssddl pmacssddq
syn keyword gasOpcode_AMD_SSE5		pmacsdd pmacsddb pmacsddw pmacsddl pmacsddq
syn keyword gasOpcode_AMD_SSE5		pmacssdql pmacssdqlb pmacssdqlw pmacssdqll pmacssdqlq
syn keyword gasOpcode_AMD_SSE5		pmacsdql pmacsdqlb pmacsdqlw pmacsdqll pmacsdqlq
syn keyword gasOpcode_AMD_SSE5		pmacssdqh pmacssdqhb pmacssdqhw pmacssdqhl pmacssdqhq
syn keyword gasOpcode_AMD_SSE5		pmacsdqh pmacsdqhb pmacsdqhw pmacsdqhl pmacsdqhq
syn keyword gasOpcode_AMD_SSE5		pmadcsswd pmadcsswdb pmadcsswdw pmadcsswdl pmadcsswdq
syn keyword gasOpcode_AMD_SSE5		pmadcswd pmadcswdb pmadcswdw pmadcswdl pmadcswdq
syn keyword gasOpcode_AMD_SSE5		protb protbb protbw protbl protbq
syn keyword gasOpcode_AMD_SSE5		protw protwb protww protwl protwq
syn keyword gasOpcode_AMD_SSE5		protd protdb protdw protdl protdq
syn keyword gasOpcode_AMD_SSE5		protq protqb protqw protql protqq
syn keyword gasOpcode_AMD_SSE5		pshlb pshlbb pshlbw pshlbl pshlbq
syn keyword gasOpcode_AMD_SSE5		pshlw pshlwb pshlww pshlwl pshlwq
syn keyword gasOpcode_AMD_SSE5		pshld pshldb pshldw pshldl pshldq
syn keyword gasOpcode_AMD_SSE5		pshlq pshlqb pshlqw pshlql pshlqq
syn keyword gasOpcode_AMD_SSE5		pshab pshabb pshabw pshabl pshabq
syn keyword gasOpcode_AMD_SSE5		pshaw pshawb pshaww pshawl pshawq
syn keyword gasOpcode_AMD_SSE5		pshad pshadb pshadw pshadl pshadq
syn keyword gasOpcode_AMD_SSE5		pshaq pshaqb pshaqw pshaql pshaqq
syn keyword gasOpcode_AMD_SSE5		frczps frczpsb frczpsw frczpsl frczpsq
syn keyword gasOpcode_AMD_SSE5		frczpd frczpdb frczpdw frczpdl frczpdq
syn keyword gasOpcode_AMD_SSE5		frczss frczssb frczssw frczssl frczssq
syn keyword gasOpcode_AMD_SSE5		frczsd frczsdb frczsdw frczsdl frczsdq
syn keyword gasOpcode_AMD_SSE5		cvtph2ps cvtph2psb cvtph2psw cvtph2psl cvtph2psq
syn keyword gasOpcode_AMD_SSE5		cvtps2ph cvtps2phb cvtps2phw cvtps2phl cvtps2phq
syn keyword gasOpcode_AMD_SSE5		phaddbw phaddbwb phaddbww phaddbwl phaddbwq
syn keyword gasOpcode_AMD_SSE5		phaddbd phaddbdb phaddbdw phaddbdl phaddbdq
syn keyword gasOpcode_AMD_SSE5		phaddbq phaddbqb phaddbqw phaddbql phaddbqq
syn keyword gasOpcode_AMD_SSE5		phaddwd phaddwdb phaddwdw phaddwdl phaddwdq
syn keyword gasOpcode_AMD_SSE5		phaddwq phaddwqb phaddwqw phaddwql phaddwqq
syn keyword gasOpcode_AMD_SSE5		phadddq phadddqb phadddqw phadddql phadddqq
syn keyword gasOpcode_AMD_SSE5		phaddubw phaddubwb phaddubww phaddubwl phaddubwq
syn keyword gasOpcode_AMD_SSE5		phaddubd phaddubdb phaddubdw phaddubdl phaddubdq
syn keyword gasOpcode_AMD_SSE5		phaddubq phaddubqb phaddubqw phaddubql phaddubqq
syn keyword gasOpcode_AMD_SSE5		phadduwd phadduwdb phadduwdw phadduwdl phadduwdq
syn keyword gasOpcode_AMD_SSE5		phadduwq phadduwqb phadduwqw phadduwql phadduwqq
syn keyword gasOpcode_AMD_SSE5		phaddudq phaddudqb phaddudqw phaddudql phaddudqq
syn keyword gasOpcode_AMD_SSE5		phsubbw phsubbwb phsubbww phsubbwl phsubbwq
syn keyword gasOpcode_AMD_SSE5		phsubwd phsubwdb phsubwdw phsubwdl phsubwdq
syn keyword gasOpcode_AMD_SSE5		phsubdq phsubdqb phsubdqw phsubdql phsubdqq
syn keyword gasOpcode_AMD_SSE5		protb protbb protbw protbl protbq
syn keyword gasOpcode_AMD_SSE5		protw protwb protww protwl protwq
syn keyword gasOpcode_AMD_SSE5		protd protdb protdw protdl protdq
syn keyword gasOpcode_AMD_SSE5		protq protqb protqw protql protqq
syn keyword gasOpcode_AMD_SSE5		roundps roundpsb roundpsw roundpsl roundpsq
syn keyword gasOpcode_AMD_SSE5		roundpd roundpdb roundpdw roundpdl roundpdq
syn keyword gasOpcode_AMD_SSE5		roundss roundssb roundssw roundssl roundssq
syn keyword gasOpcode_AMD_SSE5		roundsd roundsdb roundsdw roundsdl roundsdq

"-- Section: Introduced in Deschutes but necessary for SSE support
syn keyword gasOpcode_P6_SSE		fxrstor fxrstorb fxrstorw fxrstorl fxrstorq
syn keyword gasOpcode_P6_SSE		fxsave fxsaveb fxsavew fxsavel fxsaveq

"-- Section: Prescott New Instructions (SSE3)
syn keyword gasOpcode_PRESCOTT_SSE3	addsubpd addsubpdb addsubpdw addsubpdl addsubpdq
syn keyword gasOpcode_PRESCOTT_SSE3	addsubps addsubpsb addsubpsw addsubpsl addsubpsq
syn keyword gasOpcode_PRESCOTT_SSE3	haddpd haddpdb haddpdw haddpdl haddpdq
syn keyword gasOpcode_PRESCOTT_SSE3	haddps haddpsb haddpsw haddpsl haddpsq
syn keyword gasOpcode_PRESCOTT_SSE3	hsubpd hsubpdb hsubpdw hsubpdl hsubpdq
syn keyword gasOpcode_PRESCOTT_SSE3	hsubps hsubpsb hsubpsw hsubpsl hsubpsq
syn keyword gasOpcode_PRESCOTT_SSE3	lddqu lddqub lddquw lddqul lddquq
syn keyword gasOpcode_PRESCOTT_SSE3	movddup movddupb movddupw movddupl movddupq
syn keyword gasOpcode_PRESCOTT_SSE3	movshdup movshdupb movshdupw movshdupl movshdupq
syn keyword gasOpcode_PRESCOTT_SSE3	movsldup movsldupb movsldupw movsldupl movsldupq

"-- Section: Intel AES instructions
syn keyword gasOpcode_SSE		aesenc aesencb aesencw aesencl aesencq
syn keyword gasOpcode_SSE		aesenclast aesenclastb aesenclastw aesenclastl aesenclastq
syn keyword gasOpcode_SSE		aesdec aesdecb aesdecw aesdecl aesdecq
syn keyword gasOpcode_SSE		aesdeclast aesdeclastb aesdeclastw aesdeclastl aesdeclastq
syn keyword gasOpcode_SSE		aesimc aesimcb aesimcw aesimcl aesimcq
syn keyword gasOpcode_SSE		aeskeygenassist aeskeygenassistb aeskeygenassistw aeskeygenassistl aeskeygenassistq

"-- Section: Willamette Streaming SIMD instructions (SSE2)
syn keyword gasOpcode_SSE2		addpd addpdb addpdw addpdl addpdq
syn keyword gasOpcode_SSE2		addsd addsdb addsdw addsdl addsdq
syn keyword gasOpcode_SSE2		andnpd andnpdb andnpdw andnpdl andnpdq
syn keyword gasOpcode_SSE2		andpd andpdb andpdw andpdl andpdq
syn keyword gasOpcode_SSE2		cmpeqpd cmpeqpdb cmpeqpdw cmpeqpdl cmpeqpdq
syn keyword gasOpcode_SSE2		cmpeqsd cmpeqsdb cmpeqsdw cmpeqsdl cmpeqsdq
syn keyword gasOpcode_SSE2		cmplepd cmplepdb cmplepdw cmplepdl cmplepdq
syn keyword gasOpcode_SSE2		cmplesd cmplesdb cmplesdw cmplesdl cmplesdq
syn keyword gasOpcode_SSE2		cmpltpd cmpltpdb cmpltpdw cmpltpdl cmpltpdq
syn keyword gasOpcode_SSE2		cmpltsd cmpltsdb cmpltsdw cmpltsdl cmpltsdq
syn keyword gasOpcode_SSE2		cmpneqpd cmpneqpdb cmpneqpdw cmpneqpdl cmpneqpdq
syn keyword gasOpcode_SSE2		cmpneqsd cmpneqsdb cmpneqsdw cmpneqsdl cmpneqsdq
syn keyword gasOpcode_SSE2		cmpnlepd cmpnlepdb cmpnlepdw cmpnlepdl cmpnlepdq
syn keyword gasOpcode_SSE2		cmpnlesd cmpnlesdb cmpnlesdw cmpnlesdl cmpnlesdq
syn keyword gasOpcode_SSE2		cmpnltpd cmpnltpdb cmpnltpdw cmpnltpdl cmpnltpdq
syn keyword gasOpcode_SSE2		cmpnltsd cmpnltsdb cmpnltsdw cmpnltsdl cmpnltsdq
syn keyword gasOpcode_SSE2		cmpordpd cmpordpdb cmpordpdw cmpordpdl cmpordpdq
syn keyword gasOpcode_SSE2		cmpordsd cmpordsdb cmpordsdw cmpordsdl cmpordsdq
syn keyword gasOpcode_SSE2		cmpunordpd cmpunordpdb cmpunordpdw cmpunordpdl cmpunordpdq
syn keyword gasOpcode_SSE2		cmpunordsd cmpunordsdb cmpunordsdw cmpunordsdl cmpunordsdq
syn keyword gasOpcode_Base		cmppd cmppdb cmppdw cmppdl cmppdq
syn keyword gasOpcode_SSE2		cmpsd cmpsdb cmpsdw cmpsdl cmpsdq
syn keyword gasOpcode_SSE2		comisd comisdb comisdw comisdl comisdq
syn keyword gasOpcode_SSE2		cvtdq2pd cvtdq2pdb cvtdq2pdw cvtdq2pdl cvtdq2pdq
syn keyword gasOpcode_SSE2		cvtdq2ps cvtdq2psb cvtdq2psw cvtdq2psl cvtdq2psq
syn keyword gasOpcode_SSE2		cvtpd2dq cvtpd2dqb cvtpd2dqw cvtpd2dql cvtpd2dqq
syn keyword gasOpcode_SSE2		cvtpd2pi cvtpd2pib cvtpd2piw cvtpd2pil cvtpd2piq
syn keyword gasOpcode_SSE2		cvtpd2ps cvtpd2psb cvtpd2psw cvtpd2psl cvtpd2psq
syn keyword gasOpcode_SSE2		cvtpi2pd cvtpi2pdb cvtpi2pdw cvtpi2pdl cvtpi2pdq
syn keyword gasOpcode_SSE2		cvtps2dq cvtps2dqb cvtps2dqw cvtps2dql cvtps2dqq
syn keyword gasOpcode_SSE2		cvtps2pd cvtps2pdb cvtps2pdw cvtps2pdl cvtps2pdq
syn keyword gasOpcode_X64_SSE2		cvtsd2si cvtsd2sib cvtsd2siw cvtsd2sil cvtsd2siq
syn keyword gasOpcode_SSE2		cvtsd2ss cvtsd2ssb cvtsd2ssw cvtsd2ssl cvtsd2ssq
syn keyword gasOpcode_X64_SSE2		cvtsi2sd
syn keyword gasOpcode_SSE2		cvtss2sd cvtss2sdb cvtss2sdw cvtss2sdl cvtss2sdq
syn keyword gasOpcode_SSE2		cvttpd2pi cvttpd2pib cvttpd2piw cvttpd2pil cvttpd2piq
syn keyword gasOpcode_SSE2		cvttpd2dq cvttpd2dqb cvttpd2dqw cvttpd2dql cvttpd2dqq
syn keyword gasOpcode_SSE2		cvttps2dq cvttps2dqb cvttps2dqw cvttps2dql cvttps2dqq
syn keyword gasOpcode_X64_SSE2		cvttsd2si cvttsd2sib cvttsd2siw cvttsd2sil cvttsd2siq
syn keyword gasOpcode_SSE2		divpd divpdb divpdw divpdl divpdq
syn keyword gasOpcode_SSE2		divsd divsdb divsdw divsdl divsdq
syn keyword gasOpcode_SSE2		maxpd maxpdb maxpdw maxpdl maxpdq
syn keyword gasOpcode_SSE2		maxsd maxsdb maxsdw maxsdl maxsdq
syn keyword gasOpcode_SSE2		minpd minpdb minpdw minpdl minpdq
syn keyword gasOpcode_SSE2		minsd minsdb minsdw minsdl minsdq
syn keyword gasOpcode_SSE2		movapd movapdb movapdw movapdl movapdq
syn keyword gasOpcode_SSE2		movhpd movhpdb movhpdw movhpdl movhpdq
syn keyword gasOpcode_SSE2		movlpd movlpdb movlpdw movlpdl movlpdq
syn keyword gasOpcode_X64_SSE2		movmskpd
syn keyword gasOpcode_SSE2		movsd movsdb movsdw movsdl movsdq
syn keyword gasOpcode_SSE2		movupd movupdb movupdw movupdl movupdq
syn keyword gasOpcode_SSE2		mulpd mulpdb mulpdw mulpdl mulpdq
syn keyword gasOpcode_SSE2		mulsd mulsdb mulsdw mulsdl mulsdq
syn keyword gasOpcode_SSE2		orpd orpdb orpdw orpdl orpdq
syn keyword gasOpcode_SSE2		shufpd shufpdb shufpdw shufpdl shufpdq
syn keyword gasOpcode_SSE2		sqrtpd sqrtpdb sqrtpdw sqrtpdl sqrtpdq
syn keyword gasOpcode_SSE2		sqrtsd sqrtsdb sqrtsdw sqrtsdl sqrtsdq
syn keyword gasOpcode_SSE2		subpd subpdb subpdw subpdl subpdq
syn keyword gasOpcode_SSE2		subsd subsdb subsdw subsdl subsdq
syn keyword gasOpcode_SSE2		ucomisd ucomisdb ucomisdw ucomisdl ucomisdq
syn keyword gasOpcode_SSE2		unpckhpd unpckhpdb unpckhpdw unpckhpdl unpckhpdq
syn keyword gasOpcode_SSE2		unpcklpd unpcklpdb unpcklpdw unpcklpdl unpcklpdq
syn keyword gasOpcode_SSE2		xorpd xorpdb xorpdw xorpdl xorpdq

"-- Section: Intel Carry-Less Multiplication instructions (CLMUL)
syn keyword gasOpcode_SSE		pclmullqlqdq pclmullqlqdqb pclmullqlqdqw pclmullqlqdql pclmullqlqdqq
syn keyword gasOpcode_SSE		pclmulhqlqdq pclmulhqlqdqb pclmulhqlqdqw pclmulhqlqdql pclmulhqlqdqq
syn keyword gasOpcode_SSE		pclmullqhqdq pclmullqhqdqb pclmullqhqdqw pclmullqhqdql pclmullqhqdqq
syn keyword gasOpcode_SSE		pclmulhqhqdq pclmulhqhqdqb pclmulhqhqdqw pclmulhqhqdql pclmulhqhqdqq
syn keyword gasOpcode_SSE		pclmulqdq pclmulqdqb pclmulqdqw pclmulqdql pclmulqdqq

"-- Section: New MMX instructions introduced in Katmai
syn keyword gasOpcode_KATMAI_MMX	maskmovq
syn keyword gasOpcode_KATMAI_MMX	movntq movntqb movntqw movntql movntqq
syn keyword gasOpcode_KATMAI_MMX	pavgb pavgbb pavgbw pavgbl pavgbq
syn keyword gasOpcode_KATMAI_MMX	pavgw pavgwb pavgww pavgwl pavgwq
syn keyword gasOpcode_KATMAI_MMX	pextrw pextrwb pextrww pextrwl pextrwq
syn keyword gasOpcode_KATMAI_MMX	pinsrw pinsrwb pinsrww pinsrwl pinsrwq
syn keyword gasOpcode_KATMAI_MMX	pmaxsw pmaxswb pmaxsww pmaxswl pmaxswq
syn keyword gasOpcode_KATMAI_MMX	pmaxub pmaxubb pmaxubw pmaxubl pmaxubq
syn keyword gasOpcode_KATMAI_MMX	pminsw pminswb pminsww pminswl pminswq
syn keyword gasOpcode_KATMAI_MMX	pminub pminubb pminubw pminubl pminubq
syn keyword gasOpcode_KATMAI_MMX	pmovmskb
syn keyword gasOpcode_KATMAI_MMX	pmulhuw pmulhuwb pmulhuww pmulhuwl pmulhuwq
syn keyword gasOpcode_KATMAI_MMX	psadbw psadbwb psadbww psadbwl psadbwq
syn keyword gasOpcode_KATMAI_MMX2	pshufw pshufwb pshufww pshufwl pshufwq

"-- Section: Intel SMX
syn keyword gasOpcode_KATMAI_Base	getsec

"-- Section: Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2)
syn keyword gasOpcode_KATMAI_SSE	addps addpsb addpsw addpsl addpsq
syn keyword gasOpcode_KATMAI_SSE	addss addssb addssw addssl addssq
syn keyword gasOpcode_KATMAI_SSE	andnps andnpsb andnpsw andnpsl andnpsq
syn keyword gasOpcode_KATMAI_SSE	andps andpsb andpsw andpsl andpsq
syn keyword gasOpcode_KATMAI_SSE	cmpeqps cmpeqpsb cmpeqpsw cmpeqpsl cmpeqpsq
syn keyword gasOpcode_KATMAI_SSE	cmpeqss cmpeqssb cmpeqssw cmpeqssl cmpeqssq
syn keyword gasOpcode_KATMAI_SSE	cmpleps cmplepsb cmplepsw cmplepsl cmplepsq
syn keyword gasOpcode_KATMAI_SSE	cmpless cmplessb cmplessw cmplessl cmplessq
syn keyword gasOpcode_KATMAI_SSE	cmpltps cmpltpsb cmpltpsw cmpltpsl cmpltpsq
syn keyword gasOpcode_KATMAI_SSE	cmpltss cmpltssb cmpltssw cmpltssl cmpltssq
syn keyword gasOpcode_KATMAI_SSE	cmpneqps cmpneqpsb cmpneqpsw cmpneqpsl cmpneqpsq
syn keyword gasOpcode_KATMAI_SSE	cmpneqss cmpneqssb cmpneqssw cmpneqssl cmpneqssq
syn keyword gasOpcode_KATMAI_SSE	cmpnleps cmpnlepsb cmpnlepsw cmpnlepsl cmpnlepsq
syn keyword gasOpcode_KATMAI_SSE	cmpnless cmpnlessb cmpnlessw cmpnlessl cmpnlessq
syn keyword gasOpcode_KATMAI_SSE	cmpnltps cmpnltpsb cmpnltpsw cmpnltpsl cmpnltpsq
syn keyword gasOpcode_KATMAI_SSE	cmpnltss cmpnltssb cmpnltssw cmpnltssl cmpnltssq
syn keyword gasOpcode_KATMAI_SSE	cmpordps cmpordpsb cmpordpsw cmpordpsl cmpordpsq
syn keyword gasOpcode_KATMAI_SSE	cmpordss cmpordssb cmpordssw cmpordssl cmpordssq
syn keyword gasOpcode_KATMAI_SSE	cmpunordps cmpunordpsb cmpunordpsw cmpunordpsl cmpunordpsq
syn keyword gasOpcode_KATMAI_SSE	cmpunordss cmpunordssb cmpunordssw cmpunordssl cmpunordssq
syn keyword gasOpcode_KATMAI_SSE	cmpps cmppsb cmppsw cmppsl cmppsq
syn keyword gasOpcode_KATMAI_SSE	cmpss cmpssb cmpssw cmpssl cmpssq
syn keyword gasOpcode_KATMAI_SSE	comiss comissb comissw comissl comissq
syn keyword gasOpcode_KATMAI_SSE	cvtpi2ps cvtpi2psb cvtpi2psw cvtpi2psl cvtpi2psq
syn keyword gasOpcode_KATMAI_SSE	cvtps2pi cvtps2pib cvtps2piw cvtps2pil cvtps2piq
syn keyword gasOpcode_X64_SSE		cvtsi2ss
syn keyword gasOpcode_X64_SSE		cvtss2si cvtss2sib cvtss2siw cvtss2sil cvtss2siq
syn keyword gasOpcode_KATMAI_SSE	cvttps2pi cvttps2pib cvttps2piw cvttps2pil cvttps2piq
syn keyword gasOpcode_X64_SSE		cvttss2si cvttss2sib cvttss2siw cvttss2sil cvttss2siq
syn keyword gasOpcode_KATMAI_SSE	divps divpsb divpsw divpsl divpsq
syn keyword gasOpcode_KATMAI_SSE	divss divssb divssw divssl divssq
syn keyword gasOpcode_KATMAI_SSE	ldmxcsr ldmxcsrb ldmxcsrw ldmxcsrl ldmxcsrq
syn keyword gasOpcode_KATMAI_SSE	maxps maxpsb maxpsw maxpsl maxpsq
syn keyword gasOpcode_KATMAI_SSE	maxss maxssb maxssw maxssl maxssq
syn keyword gasOpcode_KATMAI_SSE	minps minpsb minpsw minpsl minpsq
syn keyword gasOpcode_KATMAI_SSE	minss minssb minssw minssl minssq
syn keyword gasOpcode_KATMAI_SSE	movaps
syn keyword gasOpcode_KATMAI_SSE	movhps movhpsb movhpsw movhpsl movhpsq
syn keyword gasOpcode_KATMAI_SSE	movlhps
syn keyword gasOpcode_KATMAI_SSE	movlps movlpsb movlpsw movlpsl movlpsq
syn keyword gasOpcode_KATMAI_SSE	movhlps
syn keyword gasOpcode_X64_SSE		movmskps
syn keyword gasOpcode_KATMAI_SSE	movntps movntpsb movntpsw movntpsl movntpsq
syn keyword gasOpcode_KATMAI_SSE	movss
syn keyword gasOpcode_KATMAI_SSE	movups
syn keyword gasOpcode_KATMAI_SSE	mulps mulpsb mulpsw mulpsl mulpsq
syn keyword gasOpcode_KATMAI_SSE	mulss mulssb mulssw mulssl mulssq
syn keyword gasOpcode_KATMAI_SSE	orps orpsb orpsw orpsl orpsq
syn keyword gasOpcode_KATMAI_SSE	rcpps rcppsb rcppsw rcppsl rcppsq
syn keyword gasOpcode_KATMAI_SSE	rcpss rcpssb rcpssw rcpssl rcpssq
syn keyword gasOpcode_KATMAI_SSE	rsqrtps rsqrtpsb rsqrtpsw rsqrtpsl rsqrtpsq
syn keyword gasOpcode_KATMAI_SSE	rsqrtss rsqrtssb rsqrtssw rsqrtssl rsqrtssq
syn keyword gasOpcode_KATMAI_SSE	shufps shufpsb shufpsw shufpsl shufpsq
syn keyword gasOpcode_KATMAI_SSE	sqrtps sqrtpsb sqrtpsw sqrtpsl sqrtpsq
syn keyword gasOpcode_KATMAI_SSE	sqrtss sqrtssb sqrtssw sqrtssl sqrtssq
syn keyword gasOpcode_KATMAI_SSE	stmxcsr stmxcsrb stmxcsrw stmxcsrl stmxcsrq
syn keyword gasOpcode_KATMAI_SSE	subps subpsb subpsw subpsl subpsq
syn keyword gasOpcode_KATMAI_SSE	subss subssb subssw subssl subssq
syn keyword gasOpcode_KATMAI_SSE	ucomiss ucomissb ucomissw ucomissl ucomissq
syn keyword gasOpcode_KATMAI_SSE	unpckhps unpckhpsb unpckhpsw unpckhpsl unpckhpsq
syn keyword gasOpcode_KATMAI_SSE	unpcklps unpcklpsb unpcklpsw unpcklpsl unpcklpsq
syn keyword gasOpcode_KATMAI_SSE	xorps xorpsb xorpsw xorpsl xorpsq

"-- Section: Extended Page Tables VMX instructions
syn keyword gasOpcode_VMX		invept inveptb inveptw inveptl inveptq
syn keyword gasOpcode_VMX		invvpid invvpidb invvpidw invvpidl invvpidq

"-- Section: VMX Instructions
syn keyword gasOpcode_VMX		vmcall
syn keyword gasOpcode_VMX		vmclear vmclearb vmclearw vmclearl vmclearq
syn keyword gasOpcode_VMX		vmlaunch
syn keyword gasOpcode_X64_VMX		vmload
syn keyword gasOpcode_X64_VMX		vmmcall
syn keyword gasOpcode_VMX		vmptrld vmptrldb vmptrldw vmptrldl vmptrldq
syn keyword gasOpcode_VMX		vmptrst vmptrstb vmptrstw vmptrstl vmptrstq
syn keyword gasOpcode_X64_VMX		vmread
syn keyword gasOpcode_VMX		vmresume
syn keyword gasOpcode_X64_VMX		vmrun
syn keyword gasOpcode_X64_VMX		vmsave
syn keyword gasOpcode_X64_VMX		vmwrite
syn keyword gasOpcode_VMX		vmxoff
syn keyword gasOpcode_VMX		vmxon vmxonb vmxonw vmxonl vmxonq

"-- Section: Intel AVX AES instructions
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaesenc vaesencb vaesencw vaesencl vaesencq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaesenclast vaesenclastb vaesenclastw vaesenclastl vaesenclastq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaesdec vaesdecb vaesdecw vaesdecl vaesdecq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaesdeclast vaesdeclastb vaesdeclastw vaesdeclastl vaesdeclastq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaesimc vaesimcb vaesimcw vaesimcl vaesimcq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaeskeygenassist vaeskeygenassistb vaeskeygenassistw vaeskeygenassistl vaeskeygenassistq

"-- Section: New instructions in Barcelona
syn keyword gasOpcode_X64_Base		lzcnt

"-- Section: Intel AVX instructions
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddpd vaddpdb vaddpdw vaddpdl vaddpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddps vaddpsb vaddpsw vaddpsl vaddpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddsd vaddsdb vaddsdw vaddsdl vaddsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddss vaddssb vaddssw vaddssl vaddssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddsubpd vaddsubpdb vaddsubpdw vaddsubpdl vaddsubpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vaddsubps vaddsubpsb vaddsubpsw vaddsubpsl vaddsubpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vandpd vandpdb vandpdw vandpdl vandpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vandps vandpsb vandpsw vandpsl vandpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vandnpd vandnpdb vandnpdw vandnpdl vandnpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vandnps vandnpsb vandnpsw vandnpsl vandnpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vblendpd vblendpdb vblendpdw vblendpdl vblendpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vblendps vblendpsb vblendpsw vblendpsl vblendpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vblendvpd vblendvpdb vblendvpdw vblendvpdl vblendvpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vblendvps vblendvpsb vblendvpsw vblendvpsl vblendvpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vblendvpd vblendvpdb vblendvpdw vblendvpdl vblendvpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vbroadcastss vbroadcastssb vbroadcastssw vbroadcastssl vbroadcastssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vbroadcastsd vbroadcastsdb vbroadcastsdw vbroadcastsdl vbroadcastsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vbroadcastf128 vbroadcastf128b vbroadcastf128w vbroadcastf128l vbroadcastf128q
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeqpd vcmpeqpdb vcmpeqpdw vcmpeqpdl vcmpeqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpltpd vcmpltpdb vcmpltpdw vcmpltpdl vcmpltpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplepd vcmplepdb vcmplepdw vcmplepdl vcmplepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunordpd vcmpunordpdb vcmpunordpdw vcmpunordpdl vcmpunordpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneqpd vcmpneqpdb vcmpneqpdw vcmpneqpdl vcmpneqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnltpd vcmpnltpdb vcmpnltpdw vcmpnltpdl vcmpnltpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlepd vcmpnlepdb vcmpnlepdw vcmpnlepdl vcmpnlepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpordpd vcmpordpdb vcmpordpdw vcmpordpdl vcmpordpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_uqpd vcmpeq_uqpdb vcmpeq_uqpdw vcmpeq_uqpdl vcmpeq_uqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngepd vcmpngepdb vcmpngepdw vcmpngepdl vcmpngepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngtpd vcmpngtpdb vcmpngtpdw vcmpngtpdl vcmpngtpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalsepd vcmpfalsepdb vcmpfalsepdw vcmpfalsepdl vcmpfalsepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_oqpd vcmpneq_oqpdb vcmpneq_oqpdw vcmpneq_oqpdl vcmpneq_oqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgepd vcmpgepdb vcmpgepdw vcmpgepdl vcmpgepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgtpd vcmpgtpdb vcmpgtpdw vcmpgtpdl vcmpgtpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptruepd vcmptruepdb vcmptruepdw vcmptruepdl vcmptruepdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_ospd vcmpeq_ospdb vcmpeq_ospdw vcmpeq_ospdl vcmpeq_ospdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplt_oqpd vcmplt_oqpdb vcmplt_oqpdw vcmplt_oqpdl vcmplt_oqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmple_oqpd vcmple_oqpdb vcmple_oqpdw vcmple_oqpdl vcmple_oqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunord_spd vcmpunord_spdb vcmpunord_spdw vcmpunord_spdl vcmpunord_spdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_uspd vcmpneq_uspdb vcmpneq_uspdw vcmpneq_uspdl vcmpneq_uspdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlt_uqpd vcmpnlt_uqpdb vcmpnlt_uqpdw vcmpnlt_uqpdl vcmpnlt_uqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnle_uqpd vcmpnle_uqpdb vcmpnle_uqpdw vcmpnle_uqpdl vcmpnle_uqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpord_spd vcmpord_spdb vcmpord_spdw vcmpord_spdl vcmpord_spdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_uspd vcmpeq_uspdb vcmpeq_uspdw vcmpeq_uspdl vcmpeq_uspdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnge_uqpd vcmpnge_uqpdb vcmpnge_uqpdw vcmpnge_uqpdl vcmpnge_uqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngt_uqpd vcmpngt_uqpdb vcmpngt_uqpdw vcmpngt_uqpdl vcmpngt_uqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalse_ospd vcmpfalse_ospdb vcmpfalse_ospdw vcmpfalse_ospdl vcmpfalse_ospdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_ospd vcmpneq_ospdb vcmpneq_ospdw vcmpneq_ospdl vcmpneq_ospdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpge_oqpd vcmpge_oqpdb vcmpge_oqpdw vcmpge_oqpdl vcmpge_oqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgt_oqpd vcmpgt_oqpdb vcmpgt_oqpdw vcmpgt_oqpdl vcmpgt_oqpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptrue_uspd vcmptrue_uspdb vcmptrue_uspdw vcmptrue_uspdl vcmptrue_uspdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmppd vcmppdb vcmppdw vcmppdl vcmppdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeqps vcmpeqpsb vcmpeqpsw vcmpeqpsl vcmpeqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpltps vcmpltpsb vcmpltpsw vcmpltpsl vcmpltpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpleps vcmplepsb vcmplepsw vcmplepsl vcmplepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunordps vcmpunordpsb vcmpunordpsw vcmpunordpsl vcmpunordpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneqps vcmpneqpsb vcmpneqpsw vcmpneqpsl vcmpneqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnltps vcmpnltpsb vcmpnltpsw vcmpnltpsl vcmpnltpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnleps vcmpnlepsb vcmpnlepsw vcmpnlepsl vcmpnlepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpordps vcmpordpsb vcmpordpsw vcmpordpsl vcmpordpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_uqps vcmpeq_uqpsb vcmpeq_uqpsw vcmpeq_uqpsl vcmpeq_uqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngeps vcmpngepsb vcmpngepsw vcmpngepsl vcmpngepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngtps vcmpngtpsb vcmpngtpsw vcmpngtpsl vcmpngtpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalseps vcmpfalsepsb vcmpfalsepsw vcmpfalsepsl vcmpfalsepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_oqps vcmpneq_oqpsb vcmpneq_oqpsw vcmpneq_oqpsl vcmpneq_oqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgeps vcmpgepsb vcmpgepsw vcmpgepsl vcmpgepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgtps vcmpgtpsb vcmpgtpsw vcmpgtpsl vcmpgtpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptrueps vcmptruepsb vcmptruepsw vcmptruepsl vcmptruepsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_osps vcmpeq_ospsb vcmpeq_ospsw vcmpeq_ospsl vcmpeq_ospsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplt_oqps vcmplt_oqpsb vcmplt_oqpsw vcmplt_oqpsl vcmplt_oqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmple_oqps vcmple_oqpsb vcmple_oqpsw vcmple_oqpsl vcmple_oqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunord_sps vcmpunord_spsb vcmpunord_spsw vcmpunord_spsl vcmpunord_spsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_usps vcmpneq_uspsb vcmpneq_uspsw vcmpneq_uspsl vcmpneq_uspsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlt_uqps vcmpnlt_uqpsb vcmpnlt_uqpsw vcmpnlt_uqpsl vcmpnlt_uqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnle_uqps vcmpnle_uqpsb vcmpnle_uqpsw vcmpnle_uqpsl vcmpnle_uqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpord_sps vcmpord_spsb vcmpord_spsw vcmpord_spsl vcmpord_spsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_usps vcmpeq_uspsb vcmpeq_uspsw vcmpeq_uspsl vcmpeq_uspsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnge_uqps vcmpnge_uqpsb vcmpnge_uqpsw vcmpnge_uqpsl vcmpnge_uqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngt_uqps vcmpngt_uqpsb vcmpngt_uqpsw vcmpngt_uqpsl vcmpngt_uqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalse_osps vcmpfalse_ospsb vcmpfalse_ospsw vcmpfalse_ospsl vcmpfalse_ospsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_osps vcmpneq_ospsb vcmpneq_ospsw vcmpneq_ospsl vcmpneq_ospsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpge_oqps vcmpge_oqpsb vcmpge_oqpsw vcmpge_oqpsl vcmpge_oqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgt_oqps vcmpgt_oqpsb vcmpgt_oqpsw vcmpgt_oqpsl vcmpgt_oqpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptrue_usps vcmptrue_uspsb vcmptrue_uspsw vcmptrue_uspsl vcmptrue_uspsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpps vcmppsb vcmppsw vcmppsl vcmppsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeqsd vcmpeqsdb vcmpeqsdw vcmpeqsdl vcmpeqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpltsd vcmpltsdb vcmpltsdw vcmpltsdl vcmpltsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplesd vcmplesdb vcmplesdw vcmplesdl vcmplesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunordsd vcmpunordsdb vcmpunordsdw vcmpunordsdl vcmpunordsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneqsd vcmpneqsdb vcmpneqsdw vcmpneqsdl vcmpneqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnltsd vcmpnltsdb vcmpnltsdw vcmpnltsdl vcmpnltsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlesd vcmpnlesdb vcmpnlesdw vcmpnlesdl vcmpnlesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpordsd vcmpordsdb vcmpordsdw vcmpordsdl vcmpordsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_uqsd vcmpeq_uqsdb vcmpeq_uqsdw vcmpeq_uqsdl vcmpeq_uqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngesd vcmpngesdb vcmpngesdw vcmpngesdl vcmpngesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngtsd vcmpngtsdb vcmpngtsdw vcmpngtsdl vcmpngtsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalsesd vcmpfalsesdb vcmpfalsesdw vcmpfalsesdl vcmpfalsesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_oqsd vcmpneq_oqsdb vcmpneq_oqsdw vcmpneq_oqsdl vcmpneq_oqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgesd vcmpgesdb vcmpgesdw vcmpgesdl vcmpgesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgtsd vcmpgtsdb vcmpgtsdw vcmpgtsdl vcmpgtsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptruesd vcmptruesdb vcmptruesdw vcmptruesdl vcmptruesdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_ossd vcmpeq_ossdb vcmpeq_ossdw vcmpeq_ossdl vcmpeq_ossdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplt_oqsd vcmplt_oqsdb vcmplt_oqsdw vcmplt_oqsdl vcmplt_oqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmple_oqsd vcmple_oqsdb vcmple_oqsdw vcmple_oqsdl vcmple_oqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunord_ssd vcmpunord_ssdb vcmpunord_ssdw vcmpunord_ssdl vcmpunord_ssdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_ussd vcmpneq_ussdb vcmpneq_ussdw vcmpneq_ussdl vcmpneq_ussdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlt_uqsd vcmpnlt_uqsdb vcmpnlt_uqsdw vcmpnlt_uqsdl vcmpnlt_uqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnle_uqsd vcmpnle_uqsdb vcmpnle_uqsdw vcmpnle_uqsdl vcmpnle_uqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpord_ssd vcmpord_ssdb vcmpord_ssdw vcmpord_ssdl vcmpord_ssdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_ussd vcmpeq_ussdb vcmpeq_ussdw vcmpeq_ussdl vcmpeq_ussdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnge_uqsd vcmpnge_uqsdb vcmpnge_uqsdw vcmpnge_uqsdl vcmpnge_uqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngt_uqsd vcmpngt_uqsdb vcmpngt_uqsdw vcmpngt_uqsdl vcmpngt_uqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalse_ossd vcmpfalse_ossdb vcmpfalse_ossdw vcmpfalse_ossdl vcmpfalse_ossdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_ossd vcmpneq_ossdb vcmpneq_ossdw vcmpneq_ossdl vcmpneq_ossdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpge_oqsd vcmpge_oqsdb vcmpge_oqsdw vcmpge_oqsdl vcmpge_oqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgt_oqsd vcmpgt_oqsdb vcmpgt_oqsdw vcmpgt_oqsdl vcmpgt_oqsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptrue_ussd vcmptrue_ussdb vcmptrue_ussdw vcmptrue_ussdl vcmptrue_ussdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpsd vcmpsdb vcmpsdw vcmpsdl vcmpsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeqss vcmpeqssb vcmpeqssw vcmpeqssl vcmpeqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpltss vcmpltssb vcmpltssw vcmpltssl vcmpltssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpless vcmplessb vcmplessw vcmplessl vcmplessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunordss vcmpunordssb vcmpunordssw vcmpunordssl vcmpunordssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneqss vcmpneqssb vcmpneqssw vcmpneqssl vcmpneqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnltss vcmpnltssb vcmpnltssw vcmpnltssl vcmpnltssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnless vcmpnlessb vcmpnlessw vcmpnlessl vcmpnlessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpordss vcmpordssb vcmpordssw vcmpordssl vcmpordssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_uqss vcmpeq_uqssb vcmpeq_uqssw vcmpeq_uqssl vcmpeq_uqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngess vcmpngessb vcmpngessw vcmpngessl vcmpngessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngtss vcmpngtssb vcmpngtssw vcmpngtssl vcmpngtssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalsess vcmpfalsessb vcmpfalsessw vcmpfalsessl vcmpfalsessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_oqss vcmpneq_oqssb vcmpneq_oqssw vcmpneq_oqssl vcmpneq_oqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgess vcmpgessb vcmpgessw vcmpgessl vcmpgessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgtss vcmpgtssb vcmpgtssw vcmpgtssl vcmpgtssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptruess vcmptruessb vcmptruessw vcmptruessl vcmptruessq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_osss vcmpeq_osssb vcmpeq_osssw vcmpeq_osssl vcmpeq_osssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmplt_oqss vcmplt_oqssb vcmplt_oqssw vcmplt_oqssl vcmplt_oqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmple_oqss vcmple_oqssb vcmple_oqssw vcmple_oqssl vcmple_oqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpunord_sss vcmpunord_sssb vcmpunord_sssw vcmpunord_sssl vcmpunord_sssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_usss vcmpneq_usssb vcmpneq_usssw vcmpneq_usssl vcmpneq_usssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnlt_uqss vcmpnlt_uqssb vcmpnlt_uqssw vcmpnlt_uqssl vcmpnlt_uqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnle_uqss vcmpnle_uqssb vcmpnle_uqssw vcmpnle_uqssl vcmpnle_uqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpord_sss vcmpord_sssb vcmpord_sssw vcmpord_sssl vcmpord_sssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpeq_usss vcmpeq_usssb vcmpeq_usssw vcmpeq_usssl vcmpeq_usssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpnge_uqss vcmpnge_uqssb vcmpnge_uqssw vcmpnge_uqssl vcmpnge_uqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpngt_uqss vcmpngt_uqssb vcmpngt_uqssw vcmpngt_uqssl vcmpngt_uqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpfalse_osss vcmpfalse_osssb vcmpfalse_osssw vcmpfalse_osssl vcmpfalse_osssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpneq_osss vcmpneq_osssb vcmpneq_osssw vcmpneq_osssl vcmpneq_osssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpge_oqss vcmpge_oqssb vcmpge_oqssw vcmpge_oqssl vcmpge_oqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpgt_oqss vcmpgt_oqssb vcmpgt_oqssw vcmpgt_oqssl vcmpgt_oqssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmptrue_usss vcmptrue_usssb vcmptrue_usssw vcmptrue_usssl vcmptrue_usssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcmpss vcmpssb vcmpssw vcmpssl vcmpssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcomisd vcomisdb vcomisdw vcomisdl vcomisdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcomiss vcomissb vcomissw vcomissl vcomissq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtdq2pd vcvtdq2pdb vcvtdq2pdw vcvtdq2pdl vcvtdq2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtdq2ps vcvtdq2psb vcvtdq2psw vcvtdq2psl vcvtdq2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtpd2dq vcvtpd2dqb vcvtpd2dqw vcvtpd2dql vcvtpd2dqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtpd2ps vcvtpd2psb vcvtpd2psw vcvtpd2psl vcvtpd2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtps2dq vcvtps2dqb vcvtps2dqw vcvtps2dql vcvtps2dqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtps2pd vcvtps2pdb vcvtps2pdw vcvtps2pdl vcvtps2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtsd2si vcvtsd2sib vcvtsd2siw vcvtsd2sil vcvtsd2siq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtsd2ss vcvtsd2ssb vcvtsd2ssw vcvtsd2ssl vcvtsd2ssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtsi2sd
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtsi2ss
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtss2sd vcvtss2sdb vcvtss2sdw vcvtss2sdl vcvtss2sdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvtss2si vcvtss2sib vcvtss2siw vcvtss2sil vcvtss2siq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvttpd2dq vcvttpd2dqb vcvttpd2dqw vcvttpd2dql vcvttpd2dqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvttps2dq vcvttps2dqb vcvttps2dqw vcvttps2dql vcvttps2dqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvttsd2si vcvttsd2sib vcvttsd2siw vcvttsd2sil vcvttsd2siq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vcvttss2si vcvttss2sib vcvttss2siw vcvttss2sil vcvttss2siq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdivpd vdivpdb vdivpdw vdivpdl vdivpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdivps vdivpsb vdivpsw vdivpsl vdivpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdivsd vdivsdb vdivsdw vdivsdl vdivsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdivss vdivssb vdivssw vdivssl vdivssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdppd vdppdb vdppdw vdppdl vdppdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vdpps vdppsb vdppsw vdppsl vdppsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vextractf128 vextractf128b vextractf128w vextractf128l vextractf128q
syn keyword gasOpcode_SANDYBRIDGE_AVX	vextractps vextractpsb vextractpsw vextractpsl vextractpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vhaddpd vhaddpdb vhaddpdw vhaddpdl vhaddpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vhaddps vhaddpsb vhaddpsw vhaddpsl vhaddpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vhsubpd vhsubpdb vhsubpdw vhsubpdl vhsubpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vhsubps vhsubpsb vhsubpsw vhsubpsl vhsubpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vinsertf128 vinsertf128b vinsertf128w vinsertf128l vinsertf128q
syn keyword gasOpcode_SANDYBRIDGE_AVX	vinsertps vinsertpsb vinsertpsw vinsertpsl vinsertpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vlddqu vlddqub vlddquw vlddqul vlddquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vldqqu vldqqub vldqquw vldqqul vldqquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vlddqu vlddqub vlddquw vlddqul vlddquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vldmxcsr vldmxcsrb vldmxcsrw vldmxcsrl vldmxcsrq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaskmovdqu
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaskmovps vmaskmovpsb vmaskmovpsw vmaskmovpsl vmaskmovpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaskmovpd vmaskmovpdb vmaskmovpdw vmaskmovpdl vmaskmovpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaxpd vmaxpdb vmaxpdw vmaxpdl vmaxpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaxps vmaxpsb vmaxpsw vmaxpsl vmaxpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaxsd vmaxsdb vmaxsdw vmaxsdl vmaxsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmaxss vmaxssb vmaxssw vmaxssl vmaxssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vminpd vminpdb vminpdw vminpdl vminpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vminps vminpsb vminpsw vminpsl vminpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vminsd vminsdb vminsdw vminsdl vminsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vminss vminssb vminssw vminssl vminssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovapd vmovapdb vmovapdw vmovapdl vmovapdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovaps vmovapsb vmovapsw vmovapsl vmovapsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovq vmovqb vmovqw vmovql vmovqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovd
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovd
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovddup vmovddupb vmovddupw vmovddupl vmovddupq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovdqa vmovdqab vmovdqaw vmovdqal vmovdqaq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovqqa vmovqqab vmovqqaw vmovqqal vmovqqaq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovdqa vmovdqab vmovdqaw vmovdqal vmovdqaq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovdqu vmovdqub vmovdquw vmovdqul vmovdquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovqqu vmovqqub vmovqquw vmovqqul vmovqquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovdqu vmovdqub vmovdquw vmovdqul vmovdquq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovhlps
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovhpd vmovhpdb vmovhpdw vmovhpdl vmovhpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovhps vmovhpsb vmovhpsw vmovhpsl vmovhpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovlhps
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovlpd vmovlpdb vmovlpdw vmovlpdl vmovlpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovlps vmovlpsb vmovlpsw vmovlpsl vmovlpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovmskpd vmovmskpdb vmovmskpdw vmovmskpdl vmovmskpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovmskps vmovmskpsb vmovmskpsw vmovmskpsl vmovmskpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntdq vmovntdqb vmovntdqw vmovntdql vmovntdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntqq vmovntqqb vmovntqqw vmovntqql vmovntqqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntdq vmovntdqb vmovntdqw vmovntdql vmovntdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntdqa vmovntdqab vmovntdqaw vmovntdqal vmovntdqaq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntpd vmovntpdb vmovntpdw vmovntpdl vmovntpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovntps vmovntpsb vmovntpsw vmovntpsl vmovntpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovsd vmovsdb vmovsdw vmovsdl vmovsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovshdup vmovshdupb vmovshdupw vmovshdupl vmovshdupq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovsldup vmovsldupb vmovsldupw vmovsldupl vmovsldupq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovss vmovssb vmovssw vmovssl vmovssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovupd vmovupdb vmovupdw vmovupdl vmovupdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmovups vmovupsb vmovupsw vmovupsl vmovupsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmpsadbw vmpsadbwb vmpsadbww vmpsadbwl vmpsadbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmulpd vmulpdb vmulpdw vmulpdl vmulpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmulps vmulpsb vmulpsw vmulpsl vmulpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmulsd vmulsdb vmulsdw vmulsdl vmulsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vmulss vmulssb vmulssw vmulssl vmulssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vorpd vorpdb vorpdw vorpdl vorpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vorps vorpsb vorpsw vorpsl vorpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpabsb vpabsbb vpabsbw vpabsbl vpabsbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpabsw vpabswb vpabsww vpabswl vpabswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpabsd vpabsdb vpabsdw vpabsdl vpabsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpacksswb vpacksswbb vpacksswbw vpacksswbl vpacksswbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpackssdw vpackssdwb vpackssdww vpackssdwl vpackssdwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpackuswb vpackuswbb vpackuswbw vpackuswbl vpackuswbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpackusdw vpackusdwb vpackusdww vpackusdwl vpackusdwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddb vpaddbb vpaddbw vpaddbl vpaddbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddw vpaddwb vpaddww vpaddwl vpaddwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddd vpadddb vpadddw vpadddl vpadddq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddq vpaddqb vpaddqw vpaddql vpaddqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddsb vpaddsbb vpaddsbw vpaddsbl vpaddsbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddsw vpaddswb vpaddsww vpaddswl vpaddswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddusb vpaddusbb vpaddusbw vpaddusbl vpaddusbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpaddusw vpadduswb vpaddusww vpadduswl vpadduswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpalignr vpalignrb vpalignrw vpalignrl vpalignrq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpand vpandb vpandw vpandl vpandq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpandn vpandnb vpandnw vpandnl vpandnq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpavgb vpavgbb vpavgbw vpavgbl vpavgbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpavgw vpavgwb vpavgww vpavgwl vpavgwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpblendvb vpblendvbb vpblendvbw vpblendvbl vpblendvbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpblendw vpblendwb vpblendww vpblendwl vpblendwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpestri vpcmpestrib vpcmpestriw vpcmpestril vpcmpestriq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpestrm vpcmpestrmb vpcmpestrmw vpcmpestrml vpcmpestrmq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpistri vpcmpistrib vpcmpistriw vpcmpistril vpcmpistriq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpistrm vpcmpistrmb vpcmpistrmw vpcmpistrml vpcmpistrmq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpeqb vpcmpeqbb vpcmpeqbw vpcmpeqbl vpcmpeqbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpeqw vpcmpeqwb vpcmpeqww vpcmpeqwl vpcmpeqwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpeqd vpcmpeqdb vpcmpeqdw vpcmpeqdl vpcmpeqdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpeqq vpcmpeqqb vpcmpeqqw vpcmpeqql vpcmpeqqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpgtb vpcmpgtbb vpcmpgtbw vpcmpgtbl vpcmpgtbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpgtw vpcmpgtwb vpcmpgtww vpcmpgtwl vpcmpgtwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpgtd vpcmpgtdb vpcmpgtdw vpcmpgtdl vpcmpgtdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpcmpgtq vpcmpgtqb vpcmpgtqw vpcmpgtql vpcmpgtqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilpd vpermilpdb vpermilpdw vpermilpdl vpermilpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermiltd2pd vpermiltd2pdb vpermiltd2pdw vpermiltd2pdl vpermiltd2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilmo2pd vpermilmo2pdb vpermilmo2pdw vpermilmo2pdl vpermilmo2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilmz2pd vpermilmz2pdb vpermilmz2pdw vpermilmz2pdl vpermilmz2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermil2pd vpermil2pdb vpermil2pdw vpermil2pdl vpermil2pdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilps vpermilpsb vpermilpsw vpermilpsl vpermilpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermiltd2ps vpermiltd2psb vpermiltd2psw vpermiltd2psl vpermiltd2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilmo2ps vpermilmo2psb vpermilmo2psw vpermilmo2psl vpermilmo2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermilmz2ps vpermilmz2psb vpermilmz2psw vpermilmz2psl vpermilmz2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpermil2ps vpermil2psb vpermil2psw vpermil2psl vpermil2psq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vperm2f128 vperm2f128b vperm2f128w vperm2f128l vperm2f128q
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpextrb vpextrbb vpextrbw vpextrbl vpextrbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpextrw vpextrwb vpextrww vpextrwl vpextrwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpextrd vpextrdb vpextrdw vpextrdl vpextrdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpextrq vpextrqb vpextrqw vpextrql vpextrqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphaddw vphaddwb vphaddww vphaddwl vphaddwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphaddd vphadddb vphadddw vphadddl vphadddq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphaddsw vphaddswb vphaddsww vphaddswl vphaddswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphminposuw vphminposuwb vphminposuww vphminposuwl vphminposuwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphsubw vphsubwb vphsubww vphsubwl vphsubwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphsubd vphsubdb vphsubdw vphsubdl vphsubdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vphsubsw vphsubswb vphsubsww vphsubswl vphsubswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpinsrb vpinsrbb vpinsrbw vpinsrbl vpinsrbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpinsrw vpinsrwb vpinsrww vpinsrwl vpinsrwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpinsrd vpinsrdb vpinsrdw vpinsrdl vpinsrdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpinsrq vpinsrqb vpinsrqw vpinsrql vpinsrqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaddwd vpmaddwdb vpmaddwdw vpmaddwdl vpmaddwdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaddubsw vpmaddubswb vpmaddubsww vpmaddubswl vpmaddubswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxsb vpmaxsbb vpmaxsbw vpmaxsbl vpmaxsbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxsw vpmaxswb vpmaxsww vpmaxswl vpmaxswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxsd vpmaxsdb vpmaxsdw vpmaxsdl vpmaxsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxub vpmaxubb vpmaxubw vpmaxubl vpmaxubq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxuw vpmaxuwb vpmaxuww vpmaxuwl vpmaxuwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmaxud vpmaxudb vpmaxudw vpmaxudl vpmaxudq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminsb vpminsbb vpminsbw vpminsbl vpminsbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminsw vpminswb vpminsww vpminswl vpminswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminsd vpminsdb vpminsdw vpminsdl vpminsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminub vpminubb vpminubw vpminubl vpminubq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminuw vpminuwb vpminuww vpminuwl vpminuwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpminud vpminudb vpminudw vpminudl vpminudq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovmskb
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxbw vpmovsxbwb vpmovsxbww vpmovsxbwl vpmovsxbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxbd vpmovsxbdb vpmovsxbdw vpmovsxbdl vpmovsxbdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxbq vpmovsxbqb vpmovsxbqw vpmovsxbql vpmovsxbqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxwd vpmovsxwdb vpmovsxwdw vpmovsxwdl vpmovsxwdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxwq vpmovsxwqb vpmovsxwqw vpmovsxwql vpmovsxwqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovsxdq vpmovsxdqb vpmovsxdqw vpmovsxdql vpmovsxdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxbw vpmovzxbwb vpmovzxbww vpmovzxbwl vpmovzxbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxbd vpmovzxbdb vpmovzxbdw vpmovzxbdl vpmovzxbdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxbq vpmovzxbqb vpmovzxbqw vpmovzxbql vpmovzxbqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxwd vpmovzxwdb vpmovzxwdw vpmovzxwdl vpmovzxwdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxwq vpmovzxwqb vpmovzxwqw vpmovzxwql vpmovzxwqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmovzxdq vpmovzxdqb vpmovzxdqw vpmovzxdql vpmovzxdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmulhuw vpmulhuwb vpmulhuww vpmulhuwl vpmulhuwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmulhrsw vpmulhrswb vpmulhrsww vpmulhrswl vpmulhrswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmulhw vpmulhwb vpmulhww vpmulhwl vpmulhwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmullw vpmullwb vpmullww vpmullwl vpmullwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmulld vpmulldb vpmulldw vpmulldl vpmulldq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmuludq vpmuludqb vpmuludqw vpmuludql vpmuludqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpmuldq vpmuldqb vpmuldqw vpmuldql vpmuldqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpor vporb vporw vporl vporq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsadbw vpsadbwb vpsadbww vpsadbwl vpsadbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpshufb vpshufbb vpshufbw vpshufbl vpshufbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpshufd vpshufdb vpshufdw vpshufdl vpshufdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpshufhw vpshufhwb vpshufhww vpshufhwl vpshufhwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpshuflw vpshuflwb vpshuflww vpshuflwl vpshuflwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsignb vpsignbb vpsignbw vpsignbl vpsignbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsignw vpsignwb vpsignww vpsignwl vpsignwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsignd vpsigndb vpsigndw vpsigndl vpsigndq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpslldq vpslldqb vpslldqw vpslldql vpslldqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsrldq vpsrldqb vpsrldqw vpsrldql vpsrldqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsllw vpsllwb vpsllww vpsllwl vpsllwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpslld vpslldb vpslldw vpslldl vpslldq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsllq vpsllqb vpsllqw vpsllql vpsllqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsraw vpsrawb vpsraww vpsrawl vpsrawq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsrad vpsradb vpsradw vpsradl vpsradq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsrlw vpsrlwb vpsrlww vpsrlwl vpsrlwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsrld vpsrldb vpsrldw vpsrldl vpsrldq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsrlq vpsrlqb vpsrlqw vpsrlql vpsrlqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vptest vptestb vptestw vptestl vptestq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubb vpsubbb vpsubbw vpsubbl vpsubbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubw vpsubwb vpsubww vpsubwl vpsubwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubd vpsubdb vpsubdw vpsubdl vpsubdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubq vpsubqb vpsubqw vpsubql vpsubqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubsb vpsubsbb vpsubsbw vpsubsbl vpsubsbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubsw vpsubswb vpsubsww vpsubswl vpsubswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubusb vpsubusbb vpsubusbw vpsubusbl vpsubusbq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpsubusw vpsubuswb vpsubusww vpsubuswl vpsubuswq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpckhbw vpunpckhbwb vpunpckhbww vpunpckhbwl vpunpckhbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpckhwd vpunpckhwdb vpunpckhwdw vpunpckhwdl vpunpckhwdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpckhdq vpunpckhdqb vpunpckhdqw vpunpckhdql vpunpckhdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpckhqdq vpunpckhqdqb vpunpckhqdqw vpunpckhqdql vpunpckhqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpcklbw vpunpcklbwb vpunpcklbww vpunpcklbwl vpunpcklbwq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpcklwd vpunpcklwdb vpunpcklwdw vpunpcklwdl vpunpcklwdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpckldq vpunpckldqb vpunpckldqw vpunpckldql vpunpckldqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpunpcklqdq vpunpcklqdqb vpunpcklqdqw vpunpcklqdql vpunpcklqdqq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vpxor vpxorb vpxorw vpxorl vpxorq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vrcpps vrcppsb vrcppsw vrcppsl vrcppsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vrcpss vrcpssb vrcpssw vrcpssl vrcpssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vrsqrtps vrsqrtpsb vrsqrtpsw vrsqrtpsl vrsqrtpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vrsqrtss vrsqrtssb vrsqrtssw vrsqrtssl vrsqrtssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vroundpd vroundpdb vroundpdw vroundpdl vroundpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vroundps vroundpsb vroundpsw vroundpsl vroundpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vroundsd vroundsdb vroundsdw vroundsdl vroundsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vroundss vroundssb vroundssw vroundssl vroundssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vshufpd vshufpdb vshufpdw vshufpdl vshufpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vshufps vshufpsb vshufpsw vshufpsl vshufpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsqrtpd vsqrtpdb vsqrtpdw vsqrtpdl vsqrtpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsqrtps vsqrtpsb vsqrtpsw vsqrtpsl vsqrtpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsqrtsd vsqrtsdb vsqrtsdw vsqrtsdl vsqrtsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsqrtss vsqrtssb vsqrtssw vsqrtssl vsqrtssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vstmxcsr vstmxcsrb vstmxcsrw vstmxcsrl vstmxcsrq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsubpd vsubpdb vsubpdw vsubpdl vsubpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsubps vsubpsb vsubpsw vsubpsl vsubpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsubsd vsubsdb vsubsdw vsubsdl vsubsdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vsubss vsubssb vsubssw vsubssl vsubssq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vtestps vtestpsb vtestpsw vtestpsl vtestpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vtestpd vtestpdb vtestpdw vtestpdl vtestpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vucomisd vucomisdb vucomisdw vucomisdl vucomisdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vucomiss vucomissb vucomissw vucomissl vucomissq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vunpckhpd vunpckhpdb vunpckhpdw vunpckhpdl vunpckhpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vunpckhps vunpckhpsb vunpckhpsw vunpckhpsl vunpckhpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vunpcklpd vunpcklpdb vunpcklpdw vunpcklpdl vunpcklpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vunpcklps vunpcklpsb vunpcklpsw vunpcklpsl vunpcklpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vxorpd vxorpdb vxorpdw vxorpdl vxorpdq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vxorps vxorpsb vxorpsw vxorpsl vxorpsq
syn keyword gasOpcode_SANDYBRIDGE_AVX	vzeroall
syn keyword gasOpcode_SANDYBRIDGE_AVX	vzeroupper

"-- Section: AMD Enhanced 3DNow! (Athlon) instructions
syn keyword gasOpcode_PENT_3DNOW	pf2iw pf2iwb pf2iww pf2iwl pf2iwq
syn keyword gasOpcode_PENT_3DNOW	pfnacc pfnaccb pfnaccw pfnaccl pfnaccq
syn keyword gasOpcode_PENT_3DNOW	pfpnacc pfpnaccb pfpnaccw pfpnaccl pfpnaccq
syn keyword gasOpcode_PENT_3DNOW	pi2fw pi2fwb pi2fww pi2fwl pi2fwq
syn keyword gasOpcode_PENT_3DNOW	pswapd pswapdb pswapdw pswapdl pswapdq

"-- Section: Penryn New Instructions (SSE4.1)
syn keyword gasOpcode_SSE41		blendpd blendpdb blendpdw blendpdl blendpdq
syn keyword gasOpcode_SSE41		blendps blendpsb blendpsw blendpsl blendpsq
syn keyword gasOpcode_SSE41		blendvpd blendvpdb blendvpdw blendvpdl blendvpdq
syn keyword gasOpcode_SSE41		blendvps blendvpsb blendvpsw blendvpsl blendvpsq
syn keyword gasOpcode_SSE41		dppd dppdb dppdw dppdl dppdq
syn keyword gasOpcode_SSE41		dpps dppsb dppsw dppsl dppsq
syn keyword gasOpcode_X64_SSE41		extractps extractpsb extractpsw extractpsl extractpsq
syn keyword gasOpcode_SSE41		insertps insertpsb insertpsw insertpsl insertpsq
syn keyword gasOpcode_SSE41		movntdqa movntdqab movntdqaw movntdqal movntdqaq
syn keyword gasOpcode_SSE41		mpsadbw mpsadbwb mpsadbww mpsadbwl mpsadbwq
syn keyword gasOpcode_SSE41		packusdw packusdwb packusdww packusdwl packusdwq
syn keyword gasOpcode_SSE41		pblendvb pblendvbb pblendvbw pblendvbl pblendvbq
syn keyword gasOpcode_SSE41		pblendw pblendwb pblendww pblendwl pblendwq
syn keyword gasOpcode_SSE41		pcmpeqq pcmpeqqb pcmpeqqw pcmpeqql pcmpeqqq
syn keyword gasOpcode_X64_SSE41		pextrb pextrbb pextrbw pextrbl pextrbq
syn keyword gasOpcode_SSE41		pextrd pextrdb pextrdw pextrdl pextrdq
syn keyword gasOpcode_X64_SSE41		pextrq pextrqb pextrqw pextrql pextrqq
syn keyword gasOpcode_X64_SSE41		pextrw pextrwb pextrww pextrwl pextrwq
syn keyword gasOpcode_SSE41		phminposuw phminposuwb phminposuww phminposuwl phminposuwq
syn keyword gasOpcode_SSE41		pinsrb pinsrbb pinsrbw pinsrbl pinsrbq
syn keyword gasOpcode_SSE41		pinsrd pinsrdb pinsrdw pinsrdl pinsrdq
syn keyword gasOpcode_X64_SSE41		pinsrq pinsrqb pinsrqw pinsrql pinsrqq
syn keyword gasOpcode_SSE41		pmaxsb pmaxsbb pmaxsbw pmaxsbl pmaxsbq
syn keyword gasOpcode_SSE41		pmaxsd pmaxsdb pmaxsdw pmaxsdl pmaxsdq
syn keyword gasOpcode_SSE41		pmaxud pmaxudb pmaxudw pmaxudl pmaxudq
syn keyword gasOpcode_SSE41		pmaxuw pmaxuwb pmaxuww pmaxuwl pmaxuwq
syn keyword gasOpcode_SSE41		pminsb pminsbb pminsbw pminsbl pminsbq
syn keyword gasOpcode_SSE41		pminsd pminsdb pminsdw pminsdl pminsdq
syn keyword gasOpcode_SSE41		pminud pminudb pminudw pminudl pminudq
syn keyword gasOpcode_SSE41		pminuw pminuwb pminuww pminuwl pminuwq
syn keyword gasOpcode_SSE41		pmovsxbw pmovsxbwb pmovsxbww pmovsxbwl pmovsxbwq
syn keyword gasOpcode_SSE41		pmovsxbd pmovsxbdb pmovsxbdw pmovsxbdl pmovsxbdq
syn keyword gasOpcode_SSE41		pmovsxbq pmovsxbqb pmovsxbqw pmovsxbql pmovsxbqq
syn keyword gasOpcode_SSE41		pmovsxwd pmovsxwdb pmovsxwdw pmovsxwdl pmovsxwdq
syn keyword gasOpcode_SSE41		pmovsxwq pmovsxwqb pmovsxwqw pmovsxwql pmovsxwqq
syn keyword gasOpcode_SSE41		pmovsxdq pmovsxdqb pmovsxdqw pmovsxdql pmovsxdqq
syn keyword gasOpcode_SSE41		pmovzxbw pmovzxbwb pmovzxbww pmovzxbwl pmovzxbwq
syn keyword gasOpcode_SSE41		pmovzxbd pmovzxbdb pmovzxbdw pmovzxbdl pmovzxbdq
syn keyword gasOpcode_SSE41		pmovzxbq pmovzxbqb pmovzxbqw pmovzxbql pmovzxbqq
syn keyword gasOpcode_SSE41		pmovzxwd pmovzxwdb pmovzxwdw pmovzxwdl pmovzxwdq
syn keyword gasOpcode_SSE41		pmovzxwq pmovzxwqb pmovzxwqw pmovzxwql pmovzxwqq
syn keyword gasOpcode_SSE41		pmovzxdq pmovzxdqb pmovzxdqw pmovzxdql pmovzxdqq
syn keyword gasOpcode_SSE41		pmuldq pmuldqb pmuldqw pmuldql pmuldqq
syn keyword gasOpcode_SSE41		pmulld pmulldb pmulldw pmulldl pmulldq
syn keyword gasOpcode_SSE41		ptest ptestb ptestw ptestl ptestq
syn keyword gasOpcode_SSE41		roundpd roundpdb roundpdw roundpdl roundpdq
syn keyword gasOpcode_SSE41		roundps roundpsb roundpsw roundpsl roundpsq
syn keyword gasOpcode_SSE41		roundsd roundsdb roundsdw roundsdl roundsdq
syn keyword gasOpcode_SSE41		roundss roundssb roundssw roundssl roundssq

"-- Section: AMD SSE4A
syn keyword gasOpcode_AMD_SSE4A		extrq
syn keyword gasOpcode_AMD_SSE4A		insertq
syn keyword gasOpcode_AMD_SSE4A		movntsd movntsdb movntsdw movntsdl movntsdq
syn keyword gasOpcode_AMD_SSE4A		movntss movntssb movntssw movntssl movntssq


" links
hi def link gasDirectiveX86	gasDirective
hi def link gasRegisterX86	gasRegister
hi def link gasRegisterX86Cr	gasRegister
hi def link gasRegisterX86Dr	gasRegister
hi def link gasRegisterX86MMX	gasRegister

" link to defaults
hi def link gasDirective	Preproc
hi def link gasDirectiveStore	Type
hi def link gasDirectiveMacro	Macro
hi def link gasRegister		Identifier
hi def link gasString		String
hi def link gasCharacter	Character
hi def link gasBinaryNumber	Constant
hi def link gasOctalNumber	Constant
hi def link gasHexNumber	Constant
hi def link gasDecimalNumber	Constant
hi def link gasSymbol		Function
hi def link gasSymbolRef	Special
hi def link gasSpecial		Special
hi def link gasLabel		Function
hi def link gasLocalLabel	Label
hi def link gasOperator		Operator
hi def link gasOpcode		Keyword
hi def link gasComment		Comment
hi def link gasCommentSingle	Comment

"-- initial mapping => Keyword
func! s:MapOpcode (group, cpu, ext)
	let himap = 'Keyword'

	if exists('g:gasDisableOpcodes')
		if index(split(g:gasDisableOpcodes), a:cpu) != -1
			let himap = 'Error'
		endif
		if index(split(g:gasDisableOpcodes), a:ext) != -1
			let himap = 'Error'
		endif
	endif

	if exists('b:gasDisableOpcodes')
		if index(split(b:gasDisableOpcodes), a:cpu) != -1
			let himap = 'Error'
		endif
		if index(split(b:gasDisableOpcodes), a:ext) != -1
			let himap = 'Error'
		endif
	endif

	exe 'hi link '.a:group.' '.himap
endf

call <SID>MapOpcode('gasOpcode_186_Base'       , '186'        , 'base')
call <SID>MapOpcode('gasOpcode_286_Base'       , '286'        , 'base')
call <SID>MapOpcode('gasOpcode_3862_Base'      , '3862'       , 'base')
call <SID>MapOpcode('gasOpcode_386_Base'       , '386'        , 'base')
call <SID>MapOpcode('gasOpcode_486_Base'       , '486'        , 'base')
call <SID>MapOpcode('gasOpcode_8086_Base'      , '8086'       , 'base')
call <SID>MapOpcode('gasOpcode_AMD_SSE4A'      , 'amd'        , 'sse4a')
call <SID>MapOpcode('gasOpcode_AMD_SSE5'       , 'amd'        , 'sse5')
call <SID>MapOpcode('gasOpcode_FUTURE_FMA'     , 'future'     , 'fma')
call <SID>MapOpcode('gasOpcode_IA64_Base'      , 'ia64'       , 'base')
call <SID>MapOpcode('gasOpcode_KATMAI_Base'    , 'katmai'     , 'base')
call <SID>MapOpcode('gasOpcode_KATMAI_MMX'     , 'katmai'     , 'mmx')
call <SID>MapOpcode('gasOpcode_KATMAI_MMX2'    , 'katmai'     , 'mmx2')
call <SID>MapOpcode('gasOpcode_KATMAI_SSE'     , 'katmai'     , 'sse')
call <SID>MapOpcode('gasOpcode_NEHALEM_Base'   , 'nehalem'    , 'base')
call <SID>MapOpcode('gasOpcode_P6_Base'        , 'p6'         , 'base')
call <SID>MapOpcode('gasOpcode_P6_SSE'         , 'p6'         , 'sse')
call <SID>MapOpcode('gasOpcode_PENTM_Base'     , 'pentium_m'  , 'base')
call <SID>MapOpcode('gasOpcode_PENT_3DNOW'     , 'pentium'    , '3dnow')
call <SID>MapOpcode('gasOpcode_PENT_Base'      , 'pentium'    , 'base')
call <SID>MapOpcode('gasOpcode_PENT_MMX'       , 'pentium'    , 'mmx')
call <SID>MapOpcode('gasOpcode_PRESCOTT_Base'  , 'prescott'   , 'base')
call <SID>MapOpcode('gasOpcode_PRESCOTT_SSE3'  , 'prescott'   , 'sse3')
call <SID>MapOpcode('gasOpcode_SANDYBRIDGE_AVX', 'sandybridge', 'avx')
call <SID>MapOpcode('gasOpcode_X642_Base'      , 'x642'       , 'base')
call <SID>MapOpcode('gasOpcode_X64_Base'       , 'x64'        , 'base')
call <SID>MapOpcode('gasOpcode_X64_MMX'        , 'x64'        , 'mmx')
call <SID>MapOpcode('gasOpcode_X64_SSE'        , 'x64'        , 'sse')
call <SID>MapOpcode('gasOpcode_X64_SSE2'       , 'x64'        , 'sse2')
call <SID>MapOpcode('gasOpcode_X64_SSE41'      , 'x64'        , 'sse4.1')
call <SID>MapOpcode('gasOpcode_X64_SSE42'      , 'x64'        , 'sse4.2')
call <SID>MapOpcode('gasOpcode_X64_VMX'        , 'x64'        , 'vmx')
call <SID>MapOpcode('gasOpcode_X86_64_Base'    , 'x64'        , 'base')

" support CPP preprocessor tags
syn case match

syn include @cPP syntax/c.vim
syn match   cPPLineCont "\\$" contained

syn region  cPPPreProc start=/^\s*#\s*\(if\|else\|endif\|define\|include\)/ end=/$/ contains=@cPP,cPPLineCont


" finishing touches
let b:current_syntax = "gas"

syn sync ccomment
syn sync linebreaks=1

" vim: ts=8 sw=8 :

Added vim/syntax/go.vim.































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
" Copyright 2009 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" go.vim: Vim syntax file for Go.
"
" Options:
"   There are some options for customizing the highlighting; the recommended
"   settings are the default values, but you can write:
"     let OPTION_NAME = 0
"   in your ~/.vimrc file to disable particular options. You can also write:
"     let OPTION_NAME = 1
"   to enable particular options. At present, all options default to on.
"
"   - go_highlight_array_whitespace_error
"     Highlights white space after "[]".
"   - go_highlight_chan_whitespace_error
"     Highlights white space around the communications operator that don't follow
"     the standard style.
"   - go_highlight_extra_types
"     Highlights commonly used library types (io.Reader, etc.).
"   - go_highlight_space_tab_error
"     Highlights instances of tabs following spaces.
"   - go_highlight_trailing_whitespace_error
"     Highlights trailing white space.

" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
  finish
endif

if !exists("go_highlight_array_whitespace_error")
  let go_highlight_array_whitespace_error = 1
endif
if !exists("go_highlight_chan_whitespace_error")
  let go_highlight_chan_whitespace_error = 1
endif
if !exists("go_highlight_extra_types")
  let go_highlight_extra_types = 1
endif
if !exists("go_highlight_space_tab_error")
  let go_highlight_space_tab_error = 1
endif
if !exists("go_highlight_trailing_whitespace_error")
  let go_highlight_trailing_whitespace_error = 1
endif

syn case match

syn keyword     goDirective         package import
syn keyword     goDeclaration       var const type
syn keyword     goDeclType          struct interface

hi def link     goDirective         Statement
hi def link     goDeclaration       Keyword
hi def link     goDeclType          Keyword

" Keywords within functions
syn keyword     goStatement         defer go goto return break continue fallthrough
syn keyword     goConditional       if else switch select
syn keyword     goLabel             case default
syn keyword     goRepeat            for range

hi def link     goStatement         Statement
hi def link     goConditional       Conditional
hi def link     goLabel             Label
hi def link     goRepeat            Repeat

" Predefined types
syn keyword     goType              chan map bool string error
syn keyword     goSignedInts        int int8 int16 int32 int64 rune
syn keyword     goUnsignedInts      byte uint uint8 uint16 uint32 uint64 uintptr
syn keyword     goFloats            float32 float64
syn keyword     goComplexes         complex64 complex128

hi def link     goType              Type
hi def link     goSignedInts        Type
hi def link     goUnsignedInts      Type
hi def link     goFloats            Type
hi def link     goComplexes         Type

" Treat func specially: it's a declaration at the start of a line, but a type
" elsewhere. Order matters here.
syn match       goType              /\<func\>/
syn match       goDeclaration       /^func\>/

" Predefined functions and values
syn keyword     goBuiltins          append cap close complex copy delete imag len
syn keyword     goBuiltins          make new panic print println real recover
syn keyword     goConstants         iota true false nil

hi def link     goBuiltins          Keyword
hi def link     goConstants         Keyword

" Comments; their contents
syn keyword     goTodo              contained TODO FIXME XXX BUG
syn cluster     goCommentGroup      contains=goTodo
syn region      goComment           start="/\*" end="\*/" contains=@goCommentGroup,@Spell
syn region      goComment           start="//" end="$" contains=@goCommentGroup,@Spell

hi def link     goComment           Comment
hi def link     goTodo              Todo

" Go escapes
syn match       goEscapeOctal       display contained "\\[0-7]\{3}"
syn match       goEscapeC           display contained +\\[abfnrtv\\'"]+
syn match       goEscapeX           display contained "\\x\x\{2}"
syn match       goEscapeU           display contained "\\u\x\{4}"
syn match       goEscapeBigU        display contained "\\U\x\{8}"
syn match       goEscapeError       display contained +\\[^0-7xuUabfnrtv\\'"]+

hi def link     goEscapeOctal       goSpecialString
hi def link     goEscapeC           goSpecialString
hi def link     goEscapeX           goSpecialString
hi def link     goEscapeU           goSpecialString
hi def link     goEscapeBigU        goSpecialString
hi def link     goSpecialString     Special
hi def link     goEscapeError       Error

" Strings and their contents
syn cluster     goStringGroup       contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU,goEscapeError
syn region      goString            start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@goStringGroup
syn region      goRawString         start=+`+ end=+`+

hi def link     goString            String
hi def link     goRawString         String

" Characters; their contents
syn cluster     goCharacterGroup    contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU
syn region      goCharacter         start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@goCharacterGroup

hi def link     goCharacter         Character

" Regions
syn region      goBlock             start="{" end="}" transparent fold
syn region      goParen             start='(' end=')' transparent

" Integers
syn match       goDecimalInt        "\<\d\+\([Ee]\d\+\)\?\>"
syn match       goHexadecimalInt    "\<0x\x\+\>"
syn match       goOctalInt          "\<0\o\+\>"
syn match       goOctalError        "\<0\o*[89]\d*\>"

hi def link     goDecimalInt        Integer
hi def link     goHexadecimalInt    Integer
hi def link     goOctalInt          Integer
hi def link     Integer             Number

" Floating point
syn match       goFloat             "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>"
syn match       goFloat             "\<\.\d\+\([Ee][-+]\d\+\)\?\>"
syn match       goFloat             "\<\d\+[Ee][-+]\d\+\>"

hi def link     goFloat             Float

" Imaginary literals
syn match       goImaginary         "\<\d\+i\>"
syn match       goImaginary         "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>"
syn match       goImaginary         "\<\.\d\+\([Ee][-+]\d\+\)\?i\>"
syn match       goImaginary         "\<\d\+[Ee][-+]\d\+i\>"

hi def link     goImaginary         Number

" Spaces after "[]"
if go_highlight_array_whitespace_error != 0
  syn match goSpaceError display "\(\[\]\)\@<=\s\+"
endif

" Spacing errors around the 'chan' keyword
if go_highlight_chan_whitespace_error != 0
  " receive-only annotation on chan type
  syn match goSpaceError display "\(<-\)\@<=\s\+\(chan\>\)\@="
  " send-only annotation on chan type
  syn match goSpaceError display "\(\<chan\)\@<=\s\+\(<-\)\@="
  " value-ignoring receives in a few contexts
  syn match goSpaceError display "\(\(^\|[={(,;]\)\s*<-\)\@<=\s\+"
endif

" Extra types commonly seen
if go_highlight_extra_types != 0
  syn match goExtraType /\<bytes\.\(Buffer\)\>/
  syn match goExtraType /\<io\.\(Reader\|Writer\|ReadWriter\|ReadWriteCloser\)\>/
  syn match goExtraType /\<reflect\.\(Kind\|Type\|Value\)\>/
  syn match goExtraType /\<unsafe\.Pointer\>/
endif

" Space-tab error
if go_highlight_space_tab_error != 0
  syn match goSpaceError display " \+\t"me=e-1
endif

" Trailing white space error
if go_highlight_trailing_whitespace_error != 0
  syn match goSpaceError display excludenl "\s\+$"
endif

hi def link     goExtraType         Type
hi def link     goSpaceError        Error

" Search backwards for a global declaration to start processing the syntax.
"syn sync match goSync grouphere NONE /^\(const\|var\|type\|func\)\>/

" There's a bug in the implementation of grouphere. For now, use the
" following as a more expensive/less precise workaround.
syn sync minlines=500

let b:current_syntax = "go"

Added vim/syntax/godoc.vim.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.

if exists("b:current_syntax")
  finish
endif

syn case match
syn match  godocTitle "^\([A-Z]*\)$"

command -nargs=+ HiLink hi def link <args>

HiLink godocTitle Title

delcommand HiLink

let b:current_syntax = "godoc"

" vim:ts=4 sts=2 sw=2:

Added vim/syntax/mips.vim.





























































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
" Vim syntax file
" Language: MIPS
" Maintainer:   Alex Brick <alex@alexrbrick.com>
" Last Change:  2007 Oct 18

if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

setlocal iskeyword+=-
syntax case match

syntax match mipsComment /#.*/
syntax region gasComment          start=/\/\*/ end=/\*\//
syntax region gasCommentSingle    start=/#/ end=/$/

syntax match mipsNumber /\<[-]\?\d\+\>/ " Decimal numbers
syntax match mipsNumber /\<-\?0\(x\|X\)[0-9a-fA-F]\+\>/ " Hex numbers
syntax region mipsString start=/"/ skip=/\\"/ end=/"/
syntax match mipsLabelColon /:/ contained
syntax match mipsLabel /\w\+:/ contains=mipsLabelColon

" Registers
syntax match mipsRegister "\$zero"
syntax match mipsRegister "\$v0"
syntax match mipsRegister "\$v1"
syntax match mipsRegister "\$a0"
syntax match mipsRegister "\$a1"
syntax match mipsRegister "\$a2"
syntax match mipsRegister "\$a3"
syntax match mipsRegister "\$t0"
syntax match mipsRegister "\$t1"
syntax match mipsRegister "\$t2"
syntax match mipsRegister "\$t3"
syntax match mipsRegister "\$t4"
syntax match mipsRegister "\$t5"
syntax match mipsRegister "\$t6"
syntax match mipsRegister "\$t7"
syntax match mipsRegister "\$t8"
syntax match mipsRegister "\$t9"
syntax match mipsRegister "\$s0"
syntax match mipsRegister "\$s1"
syntax match mipsRegister "\$s2"
syntax match mipsRegister "\$s3"
syntax match mipsRegister "\$s4"
syntax match mipsRegister "\$s5"
syntax match mipsRegister "\$s6"
syntax match mipsRegister "\$s7"
syntax match mipsRegister "\$k0"
syntax match mipsRegister "\$k1"
syntax match mipsRegister "\$gp"
syntax match mipsRegister "\$sp"
syntax match mipsRegister "\$fp"
syntax match mipsRegister "\$ra"

let i = 0
while i < 32
    " This is for the regular registers
    execute 'syntax match mipsRegister "\$' . i . '\(\d\+\)\@!"'
    " And this is for the FP registers
    execute 'syntax match mipsRegister "\$f' . i . '\(\d\+\)\@!"'
    let i = i + 1
endwhile

" Directives
syntax match mipsDirective "\.2byte"
syntax match mipsDirective "\.4byte"
syntax match mipsDirective "\.8byte"
syntax match mipsDirective "\.aent"
syntax match mipsDirective "\.align"
syntax match mipsDirective "\.aascii"
syntax match mipsDirective "\.asciiz"
syntax match mipsDirective "\.byte"
syntax match mipsDirective "\.comm"
syntax match mipsDirective "\.cpadd"
syntax match mipsDirective "\.cpload"
syntax match mipsDirective "\.cplocal"
syntax match mipsDirective "\.cprestore"
syntax match mipsDirective "\.cpreturn"
syntax match mipsDirective "\.cpsetup"
syntax match mipsDirective "\.data"
syntax match mipsDirective "\.double"
syntax match mipsDirective "\.dword"
syntax match mipsDirective "\.dynsym"
syntax match mipsDirective "\.end"
syntax match mipsDirective "\.endr"
syntax match mipsDirective "\.ent"
syntax match mipsDirective "\.extern"
syntax match mipsDirective "\.file"
syntax match mipsDirective "\.float"
syntax match mipsDirective "\.fmask"
syntax match mipsDirective "\.frame"
syntax match mipsDirective "\.globl"
syntax match mipsDirective "\.gpvalue"
syntax match mipsDirective "\.gpword"
syntax match mipsDirective "\.half"
syntax match mipsDirective "\.kdata"
syntax match mipsDirective "\.ktext"
syntax match mipsDirective "\.lab"
syntax match mipsDirective "\.lcomm"
syntax match mipsDirective "\.loc"
syntax match mipsDirective "\.mask"
syntax match mipsDirective "\.nada"
syntax match mipsDirective "\.nop"
syntax match mipsDirective "\.option"
syntax match mipsDirective "\.origin"
syntax match mipsDirective "\.repeat"
syntax match mipsDirective "\.rdata"
syntax match mipsDirective "\.sdata"
syntax match mipsDirective "\.section"
syntax match mipsDirective "\.set"
syntax match mipsDirective "\.size"
syntax match mipsDirective "\.space"
syntax match mipsDirective "\.struct"
syntax match mipsDirective "\.text"
syntax match mipsDirective "\.type"
syntax match mipsDirective "\.verstamp"
syntax match mipsDirective "\.weakext"
syntax match mipsDirective "\.word"

" Arithmetic and Logical Instructions
syntax keyword mipsInstruction abs
syntax keyword mipsInstruction add addu addi addiu
syntax keyword mipsInstruction and andi
syntax keyword mipsInstruction clo clz
syntax keyword mipsInstruction div divu 
syntax keyword mipsInstruction mult multu mul mulo mulou madd maddu msub msubu
syntax keyword mipsInstruction neg negu
syntax keyword mipsInstruction nor
syntax keyword mipsInstruction not
syntax keyword mipsInstruction or ori
syntax keyword mipsInstruction rem remu
syntax keyword mipsInstruction sll sllv sra srav srl srlv
syntax keyword mipsInstruction rol ror
syntax keyword mipsInstruction sub subu
syntax keyword mipsInstruction xor xori

" Constant-Manipulating Instructions
syntax keyword mipsInstruction lui li
syntax keyword mipsInstruction slt sltu slti sltiu
syntax keyword mipsInstruction seq
syntax keyword mipsInstruction sge sgeu
syntax keyword mipsInstruction sgt sgtu
syntax keyword mipsInstruction sle sleu
syntax keyword mipsInstruction sne

" Branch Instructions
syntax keyword mipsInstruction b
syntax keyword mipsInstruction bc1f bc1t
syntax keyword mipsInstruction beq beqz
syntax keyword mipsInstruction bgez bgezal bgtz
syntax keyword mipsInstruction blez bltzal bltz
syntax keyword mipsInstruction bne bnez
syntax keyword mipsInstruction bge bgeu
syntax keyword mipsInstruction bgt bgtu
syntax keyword mipsInstruction ble bleu
syntax keyword mipsInstruction blt bltu

" Jump Instructions
syntax keyword mipsInstruction j jal jalr jr

" Trap Instructions
syntax keyword mipsInstruction teq teqi
syntax keyword mipsInstruction tne tnei
syntax keyword mipsInstruction tge tgeu tgei tgeiu
syntax keyword mipsInstruction tlt tltu tlti tltiu

" Load Instructions
syntax keyword mipsInstruction la
syntax keyword mipsInstruction lb lbu lh lhu
syntax keyword mipsInstruction lw lwc1 lwl lwr
syntax keyword mipsInstruction ld
syntax keyword mipsInstruction ulh ulhu ulw
syntax keyword mipsInstruction ll

" Store Instructions
syntax keyword mipsInstruction sb sh sw swc1 sdc1 swl swr sd ush usw sc

" Data Movement Instructions
syntax keyword mipsInstruction move
syntax keyword mipsInstruction mfhi mflo
syntax keyword mipsInstruction mthi mtlo
syntax keyword mipsInstruction mfc0 mfc1
syntax match mipsInstruction "mfc1\.d"
syntax keyword mipsInstruction mtc0 mtc1
syntax keyword mipsInstruction movn movz movf movt

" Floating-Point Instructions
syntax match mipsInstruction "abs\.d"
syntax match mipsInstruction "abs\.s"
syntax match mipsInstruction "add\.d"
syntax match mipsInstruction "add\.s"
syntax match mipsInstruction "ceil\.w\.d"
syntax match mipsInstruction "ceil\.w\.s"
syntax match mipsInstruction "c\.eq\.d"
syntax match mipsInstruction "c\.eq\.s"
syntax match mipsInstruction "c\.le\.d"
syntax match mipsInstruction "c\.le\.s"
syntax match mipsInstruction "c\.lt\.d"
syntax match mipsInstruction "c\.lt\.s"
syntax match mipsInstruction "cvt\.d\.s"
syntax match mipsInstruction "cvt\.d\.w"
syntax match mipsInstruction "cvt\.s\.d"
syntax match mipsInstruction "cvt\.s\.w"
syntax match mipsInstruction "cvt\.w\.d"
syntax match mipsInstruction "cvt\.w\.s"
syntax match mipsInstruction "div\.d"
syntax match mipsInstruction "div\.s"
syntax match mipsInstruction "floor\.w\.d"
syntax match mipsInstruction "floor\.w\.s"
syntax match mipsInstruction "l\.d"
syntax match mipsInstruction "l\.s"
syntax match mipsInstruction "mov\.d"
syntax match mipsInstruction "mov\.s"
syntax match mipsInstruction "movf\.d"
syntax match mipsInstruction "movf\.s"
syntax match mipsInstruction "movt\.d"
syntax match mipsInstruction "movt\.s"
syntax match mipsInstruction "movn\.d"
syntax match mipsInstruction "movn\.s"
syntax match mipsInstruction "movz\.d"
syntax match mipsInstruction "movz\.s"
syntax match mipsInstruction "mul\.d"
syntax match mipsInstruction "mul\.s"
syntax match mipsInstruction "neg\.d"
syntax match mipsInstruction "neg\.s"
syntax match mipsInstruction "round\.w\.d"
syntax match mipsInstruction "round\.w\.s"
syntax match mipsInstruction "sqrt\.d"
syntax match mipsInstruction "sqrt\.s"
syntax match mipsInstruction "s\.d"
syntax match mipsInstruction "s\.s"
syntax match mipsInstruction "sub\.d"
syntax match mipsInstruction "sub\.s"
syntax match mipsInstruction "trunc\.w\.d"
syntax match mipsInstruction "trunc\.w\.s"

" Exception and Interrupt Instructions
syntax keyword mipsInstruction eret
syntax keyword mipsInstruction syscall
syntax keyword mipsInstruction break
syntax keyword mipsInstruction nop

hi def link mipsComment        Comment
hi def link mipsNumber         String
hi def link mipsString         String
hi def link mipsLabel          Function
hi def link mipsRegister       Identifier
hi def link mipsDirective      Preproc
hi def link mipsInstruction    Statement

let b:current_syntax = "mips"

Added vim/syntax/ppc.vim.

































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
" Vim syntax file for PPC Assembler
" Language: PPC Assembler
" Version : 0.2
" Last Change: 2004 May 19
"   added MSSCR0, HID0 and HID1 to keywords
"   use \<, \> expression (begining, end of word) to match register
"                    
" Currently not supported : AltiVec, others: automatically shift left labels
" upon entering ':'
" BUGS:
"   registers are highlighted if part of string
"   	mfspr   r3, MSSCR0      /* Errata No. 1: clear bits 18-25 of MSSCR0 */
"   will highlight R0
" Only tested with vim version 6.0
" Author: Michael Brandt <Michael.Brandt@emsyso.de>


" Quit if syntax file already loaded and vim > 6.00
if version < 600
    syntax clear
elseif exists("b:current_syntax")
    finish
endif

" Read the C syntax for pre-processor statements
if version < 600
  so <sfile>:p:h/c.vim
else
  runtime! syntax/c.vim
  unlet b:current_syntax
endif

" Case insensitive
syntax case ignore

" # conflicts with cpp statements and #if 0 highlighting as comment will be
" broken.
" exclude cpp statements from being assembler comments:
" syntax match ppcComment /.+\#.*/ contains=cCppOut
" or only recognize comments which a preceded by at least 1 whitespace:
syntax match ppcComment /\s\+\#.*/

syntax match ppcLabel /[A-Z0-9_\-]\+:/
syntax match ppcRegister /\<%r[0-3]*[0-9]\>/
" segment register
syntax match ppcRegister /\<%r[0-1]*[0-9]\>/
" sp is often used as synonym for r1
syntax keyword ppcRegister sp

syntax keyword ppcSPR CSRR0 CSRR1 CTR DAC1 DAC2 DBCR0 DBCR1 DBCR2 DBSR DEAR DEC DECAR DVC1 DVC2 ESR EVPR HID0 HID1 IAC1 IAC2 IAC3 IAC4 IVOR0 IVOR1 IVOR2 IVOR3 IVOR4 IVOR5 IVOR6 IVOR7 IVOR8 IVOR9 IVOR10 IVOR11 IVOR12 IVOR13 IVOR14 IVOR15 LR MSSCR0 PID PIR PVR SPRG0 SPRG1 SPRG2 SPRG3 SPRG4 SPRG5 SPRG6 SPRG7 SRR0 SRR1 TBL TBU TCR TSR USPRG0 XER

" syntax region ppcString start=/"/ skip=/\\"/ end=/"/
" syntax match ppcNumber /[0-9]\+/

" Book E Mnemoics
syntax keyword ppcMnemonic add add\. addc addc\. addco addco\. adde adde\. adde64 adde64o addeo addeo\. addi addic addic\. addis addme addme\. addme64 addme64o addmeo addmeo\. addo addo\. addze addze\. addze64 addze64o addzeo addzeo\. and and\. andc andc\. andi\. andis\. b ba bc bca bcctr bcctre

syntax keyword ppcMnemonic bcctrel bcctrl bce bcea bcel bcela bcl bcla bclr bclre bclrel bclrl be bea bel bela bl bla cmp cmpi cmpl cmpli cntlzd cntlzw cntlzw\. crand crandc creqv crnand crnor cror crorc crxor dcba dcbae dcbf dcbfe dcbi dcbie dcbst dcbste dcbt dcbte dcbtst dcbtste dcbz dcbze

syntax keyword ppcMnemonic divd divdo divdu divduo divw divw\. divwo divwo\. divwu divwu\. divwuo divwuo\. eqv eqv\. extsb extsb\. extsh extsh\. extsw fabs fabs\. fadd fadd\. fadds fadds\. fcfid fcmpo fcmpu fctid fctidz fctiw fctiw\. fctiwz fctiwz\. fdiv fdiv\. fdivs fdivs\. fmadd fmadd\. fmadds fmadds\. fmr fmr\. fmsub fmsub\. fmsubs

syntax keyword ppcMnemonic fmsubs\. fmul fmul\. fmuls fmuls\. fnabs fnabs\. fneg fneg\. fnmadd fnmadd\. fnmadds fnmadds\. fnmsub fnmsub\. fnmsubs fnmsubs\. fres fres\. frsp frsp\. frsqrte frsqrte\. fsel fsel\. fsqrt fsqrt\. fsqrts fsqrts\. fsub fsub\. fsubs fsubs\. icbi icbie icbt icbte isync lbz lbze lbzu lbzue lbzux lbzuxe lbzx lbzxe ldarxe

syntax keyword ppcMnemonic lde ldue lduxe ldxe lfd lfde lfdu lfdue lfdux lfduxe lfdx lfdxe lfs lfse lfsu lfsue lfsux lfsuxe lfsx lfsxe lha lhae lhau lhaue lhaux lhauxe lhax lhaxe lhbrx lhbrxe lhz lhze lhzu lhzue lhzux lhzuxe lhzx lhzxe lmw lswi lswx lwarx lwarxe lwbrx lwbrxe lwz lwze

syntax keyword ppcMnemonic lwzu lwzue lwzux lwzuxe lwzx lwzxe mbar mcrf mcrfs mcrxr mcrxr64 mfapidi mfcr mfdcr mffs mffs\. mfmsr mfspr mfsr mftb msync mtcrf mtdcr mtfsb0 mtfsb0\. mtfsb1 mtfsb1\. mtfsf mtfsf\. mtfsfi mtfsfi\. mtmsr mtspr mtsr mtsrin mulhd mulhdu mulhw mulhw\. mulhwu mulhwu\. mulld mulldo mulli mullw mullw\. mullwo mullwo\. nand nand\. neg

syntax keyword ppcMnemonic neg\. nego nego\. nor nor\. or or\. orc orc\. ori oris rfci rfi rldcl rldcr rldic rldicl rldicr rldimi rlwimi rlwimi\. rlwinm rlwinm\. rlwnm rlwnm\. sc sld slw slw\. srad sradi sraw sraw\. srawi srawi\. srd srw srw\. stb stbe stbue stbu stbux stbuxe stbx stbxe stdcxe\.

syntax keyword ppcMnemonic stde stdue stduxe stdxe stfd stfde stfdu stfdue stfdux stfduxe stfdx stfdxe stfiwx stfiwxe stfs stfse stfsu stfsue stfsux stfsuxe stfsx stfsxe sth sthbrx sthbrxe sthe sthu sthue sthux sthuxe sthx sthxe stmw stswi stswx stw stwbrx stwbrxe stwcx\. stwcxe\. stwe stwu stwue stwux stwuxe stwx stwxe

syntax keyword ppcMnemonic subf subf\. subfc subfc\. subfco subfco\. subfe subfe\. subfe64 subfe64o subfeo subfeo\. subfic subfme subfme\. subfme64 subfme64o subfmeo subfmeo\. subfo subfo\. subfze subfze\. subfze64 subfze64o subfzeo subfzeo\. td tdi tlbivax tlbivaxe tlbre tlbsx tlbsxe tlbwe tw twi wrtee wrteei xor xor\. xori xoris


"syntax match ppcAsmDirective		"\.[a-z][a-z]\+"
syntax keyword ppcAsmDirective .alias .align .ascii .asciz .byte .common .double .empty .file .globl .global .half .ident .local .noalias .nonvolatile .nword .optim .popsection .proc .pushsection .quad .reserve .section .seg .single .size .skip .stabn .stabs .type .uahalf .uaword .version .volatile .weak .word .xword i.xstabs

"syntax keyword ppcSimplified
syntax keyword ppcSimplified extlwi extlwi\.  extrwi extrwi\.  inslwi inslwi\.  insrwi insrwi\.  la mr mtcr nop not rotrwi rotrwi\.  slwi sli slwi\.  sli\.  srwi sri srwi\.  sri\.  clrrwi clrrwi\.  clrlslwi clrlslwi\.

" Simplified Mnemonics for Subtract Instructions
syntax keyword ppcSimplified subi subis subic subic.
syntax keyword ppcSimplified sub subc

" Simplified Mnemonics for Word Compare Instructions
syntax keyword ppcSimplified cmpwi cmpw cmplwi cmplw

" simplified branch mnemonics
syntax keyword ppcSimplified blr bctr blrl bctrl
syntax keyword ppcSimplified bt bta btlr btctr btl btla btlrl btctrl
syntax keyword ppcSimplified bf bfa bflr bfctr bfl bfla bflrl bfctrl
syntax keyword ppcSimplified bdnz bdnza bdnzlr bdnzl bdnzla bdnzlrl 
syntax keyword ppcSimplified bdnzt bdnzta bdnztlr bdnztl bdnztla bdnztlrl 
syntax keyword ppcSimplified bdnzf bdnzfa bdnzflr bdnzfl bdnzfla bdnzflrl
syntax keyword ppcSimplified bdz bdza bdzlr bdzl bdzla bdzlrl
syntax keyword ppcSimplified bdzt bdzta bdztlr bdztl bdztla bdztlrl
syntax keyword ppcSimplified bdzf bdzfa bdzflr bdzfl bdzfla bdzflrl

syntax keyword ppcSimplified blt blta bltlr bltctr bltl bltla bltlrl bltctrl
syntax keyword ppcSimplified ble blea blelr blectr blel blela blelrl blectrl
syntax keyword ppcSimplified beq beqa beqlr beqctr beql beqla beqlrl beqctrl
syntax keyword ppcSimplified bge bgea bgelr bgectr bgel bgela bgelrl bgectrl
syntax keyword ppcSimplified bgt bgta bgtlr bgtctr bgtl bgtla bgtlrl bgtctrl
syntax keyword ppcSimplified bnl bnla bnllr bnlctr bnll bnlla bnllrl bnlctrl
syntax keyword ppcSimplified bne bnea bnelr bnectr bnel bnela bnelrl bnectrl
syntax keyword ppcSimplified bng bnga bnglr bngctr bngl bngla bnglrl bngctrl
syntax keyword ppcSimplified bso bsoa bsolr bsoctr bsol bsola bsolrl bsoctrl
syntax keyword ppcSimplified bns bnsa bnslr bnsctr bnsl bnsla bnslrl bnsctrl
syntax keyword ppcSimplified bun buna bunlr bunctr bunl bunla bunlrl bunctrl
syntax keyword ppcSimplified bnu bnua bnulr bnuctr bnul bnula bnulrl bnuctrl

" simplified mnemonics for traps
syntax keyword ppcSimplified trap twlti twlt twlei twle tweqi tweq twgei twge twgti twgt twnli twnl twnei twne twngi twng twllti twllt twllei twlle twlgei twlge twlgti twlgt twlnli twlnl twlngi twlng

" simplified mnemonics for SPRs
syntax keyword ppcSimplified mtxer mtlr mtctr mtdsisr mtdar mtdec mtsdr1 mtsrr0 mtsrr1 mtsprg mtear
syntax keyword ppcSimplified mttbl mttbu mtibatu mtibatl mtdbatu mtdbatl
syntax keyword ppcSimplified mfxer mflr mfctr mfdsisr mfdar mfdec mfsdr1 mfsrr0 mfsrr1 mfsprg mfear
syntax keyword ppcSimplified mftb mftbu mfpvr mfibatu mfibatl mfdbatu mfdbatl

syntax keyword ppcSimplified li lis rotlwi

" arch specific ?
syntax keyword ppcMnemonic eieio sync 

" optional instructions
syntax keyword ppcMnemonic tlbia tlbie tlbsync

if !exists("did_ppc_syntax_inits")
   	let did_ppc_syntax_inits=1
	highlight link ppcComment Comment
	highlight link ppcLabel Function
	" highlight link ppcString String
	" highlight link ppcNumber Number

	highlight link ppcAsmDirective Preproc

	highlight link ppcMnemonic Keyword

    " seems logical to use Preproc, but since in usual PPC assembler many
    " simplified mnemonics are used it gets to colorful
	" highlight link ppcSimplified Preproc
	highlight link ppcSimplified Keyword
	highlight link ppcMnemonicSyn Keyword

	highlight link ppcRegister Identifier
	highlight link ppcSpr Identifier
endif
let b:current_syntax="ppc"

" . is normally not part of the iskeyword string. Add it for mnemonics ending
" in ., like "andi."
set iskeyword+=.
" does not belong into syntax file, put it into your filetype plugin
" ~/.vim/ftplugin/ppc.vim
" set ts=8 sw=8 ai smartindent

" put following line into your .vimrc if PPC assembler instead of GNU asm
" should be choosen for .S or .s files
" let g:asmsyntax = "ppc"

Added vimrc.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
source /usr/share/vim/vim73/vimrc_example.vim

set t_Co=256
set background=dark
let g:inkpot_black_background=1
colorscheme inkpot

set cinoptions=+4,(4,u4,w4
set colorcolumn=81
highlight ColorColumn ctermbg=235
let c_space_errors=1
set ignorecase
set smartcase
set modeline
set modelines=1000
set nrformats=hex

au BufNewFile,BufRead */haiku/* :se ts=4 sw=4
au BufNewFile,BufRead */LLVM/* :se ts=2 sw=2 et
au BufNewFile,BufRead *.c :se ft=c.doxygen
au BufNewFile,BufRead *.h :se ft=objc.doxygen
au BufNewFile,BufRead *.m :se ft=objc.doxygen
au BufNewFile,BufRead *.v :se ts=4 sw=4
au BufNewFile,BufRead *.vhd :se ts=4 sw=4
au BufNewFile,BufRead *.py :se ts=4 sw=4 et
au BufNewFile,BufRead *.cs :se ts=4 sw=4
au BufNewFile,BufRead *.pas :se ts=2 sw=2 et
au BufNewFile,BufRead *.rb :se ts=2 sw=2 et