Mercurial > hg > CbC > CbC_gcc
comparison contrib/vim-gcc-dev/syntax/gcc-match.vim @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 " Vim syntax highlighting rules for GCC match-and-simplify language. | |
2 " | |
3 " Copyright (C) 2018 Free Software Foundation, Inc. | |
4 " | |
5 " This script is free software; you can redistribute it and/or modify | |
6 " it under the terms of the GNU General Public License as published by | |
7 " the Free Software Foundation; either version 3, or (at your option) | |
8 " any later version | |
9 | |
10 if exists("b:current_syntax") | |
11 finish | |
12 endif | |
13 | |
14 " Some keywords have a question mark, e.g. 'convert?' | |
15 setl isk=@,48-57,_,? | |
16 | |
17 syn keyword pdTodo contained TODO FIXME XXX | |
18 | |
19 syn keyword pdCtrl match simplify | |
20 syn keyword pdCtrl define_predicates define_operator_list | |
21 syn keyword pdCtrl if switch for with | |
22 | |
23 syn keyword pdType type | |
24 | |
25 syn keyword pdOp view_convert view_convert? | |
26 \ convert convert? convert1 convert2 convert1? convert2? | |
27 \ realpart imagpart | |
28 \ cond vec_cond vec_perm | |
29 \ pointer_plus pointer_diff | |
30 \ plus minus mult mult_highpart | |
31 \ trunc_div ceil_div floor_div round_div | |
32 \ trunc_mod ceil_mod floor_mod round_mod | |
33 \ rdiv exact_div | |
34 \ fix_trunc float negate min max abs absu | |
35 \ lshift rshift lrotate rrotate | |
36 \ bit_ior bit_xor bit_and bit_not | |
37 \ truth_andif truth_orif truth_and | |
38 \ truth_or truth_xor truth_not | |
39 \ lt le gt ge eq ne unordered ordered | |
40 \ unlt unle ungt unge uneq ltgt | |
41 \ addr_space_convert fixed_convert | |
42 \ bit_insert complex conj | |
43 \ reduc_max reduc_min reduc_plus | |
44 \ dot_prod widen_sum sad fma | |
45 \ widen_mult widen_mult_plus widen_mult_minus widen_lshift | |
46 \ vec_widen_mult_hi vec_widen_mult_lo | |
47 \ vec_widen_mult_even vec_widen_mult_odd | |
48 \ vec_unpack_hi vec_unpack_lo | |
49 \ vec_unpack_float_hi vec_unpack_float_lo | |
50 \ vec_pack_trunc vec_pack_sat vec_pack_fix_trunc | |
51 \ vec_widen_lshift_hi vec_widen_lshift_lo | |
52 | |
53 " Match commutative/single-use specifiers: :C, :c, :s, :cs, etc. | |
54 syn match pdOpSpec ":[CcSs]\+\>" | |
55 | |
56 syn match pdCapture "@@\?[a-zA-Z0-9_]\+" | |
57 | |
58 syn region pdComment start="/\*" end="\*/" contains=pdTodo | |
59 | |
60 syn region pdPreProc start="^\s*#" skip="\\$" end="$" keepend | |
61 | |
62 hi def link pdCtrl Statement | |
63 hi def link pdType Identifier | |
64 hi def link pdOp Constant | |
65 hi def link pdOpSpec Operator | |
66 hi def link pdCapture Special | |
67 hi def link pdComment Comment | |
68 hi def link pdTodo Todo | |
69 hi def link pdPreProc PreProc | |
70 | |
71 let b:current_syntax = "gcc-match" |