source: issm/oecreview/Archive/12678-13393/ISSM-12956-12957.diff

Last change on this file was 13394, checked in by Mathieu Morlighem, 13 years ago

Added 12678-13393

File size: 13.7 KB
  • u/astrid-r1b/morlighe/issmuci/trunk-jpl/../trunk-jpl/externalpackages/vim/addons/vim/syntax/c.vim

     
    10271027syn keyword cConstant PatersonEnum
    10281028syn keyword cConstant ArrheniusEnum
    10291029"ISSM's Enums end
     1030"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
     1031
     1032if !exists("c_no_ansi") || exists("c_ansi_typedefs")
     1033        syn keyword   cType             size_t ssize_t wchar_t ptrdiff_t sig_atomic_t fpos_t
     1034        syn keyword   cType             clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t
     1035        syn keyword   cType             mbstate_t wctrans_t wint_t wctype_t
     1036        syn keyword   cType             lldiv_t float_t double_t fenv_t fexcept_t
     1037endif
     1038if !exists("c_no_c99") " ISO C99
     1039        syn keyword     cType           bool complex imaginary
     1040        syn keyword     cType           int8_t int16_t int32_t int64_t
     1041        syn keyword     cType           uint8_t uint16_t uint32_t uint64_t
     1042        syn keyword     cType           int_least8_t int_least16_t int_least32_t int_least64_t
     1043        syn keyword     cType           uint_least8_t uint_least16_t uint_least32_t uint_least64_t
     1044        syn keyword     cType           int_fast8_t int_fast16_t int_fast32_t int_fast64_t
     1045        syn keyword     cType           uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
     1046        syn keyword     cType           intptr_t uintptr_t
     1047        syn keyword     cType           intmax_t uintmax_t
     1048endif
     1049if exists("c_gnu")
     1050        syn keyword     cType           __label__ __complex__ __volatile__
     1051endif
     1052
     1053syn keyword     cStructure      struct union enum typedef
     1054syn keyword     cStorageClass   static register auto volatile extern const VOL
     1055if exists("c_gnu")
     1056        syn keyword     cStorageClass   inline __attribute__
     1057endif
     1058if !exists("c_no_c99")
     1059        syn keyword     cStorageClass   inline restrict
     1060endif
     1061
     1062if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
     1063        if exists("c_gnu")
     1064                syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__
     1065        endif
     1066        syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ __func__
     1067        syn keyword cConstant __STDC_VERSION__
     1068        syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
     1069        syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
     1070        syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
     1071        syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX
     1072        syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
     1073        syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
     1074        if !exists("c_no_c99")
     1075                syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
     1076                syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
     1077                syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
     1078                syn keyword cConstant UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX
     1079                syn keyword cConstant INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN
     1080                syn keyword cConstant INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX
     1081                syn keyword cConstant UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX
     1082                syn keyword cConstant INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN
     1083                syn keyword cConstant INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX
     1084                syn keyword cConstant UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX
     1085                syn keyword cConstant INTPTR_MIN INTPTR_MAX UINTPTR_MAX
     1086                syn keyword cConstant INTMAX_MIN INTMAX_MAX UINTMAX_MAX
     1087                syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX
     1088                syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX
     1089        endif
     1090        syn keyword cConstant FLT_RADIX FLT_ROUNDS
     1091        syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON
     1092        syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON
     1093        syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON
     1094        syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP
     1095        syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP
     1096        syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP
     1097        syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP
     1098        syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
     1099        syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP
     1100        syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL _NO_LEAP_SECONDS _LOCALTIME
     1101        syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
     1102        syn keyword cConstant LC_NUMERIC LC_TIME
     1103        " syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN
     1104        syn keyword cAnsiFuncPtr SIG_DFL SIG_ERR SIG_IGN
     1105        syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
     1106        syn keyword cConstant INFINITY     FP_SUBNORMAL FP_ILOGB0
     1107        syn keyword cConstant NAN          FP_ZERO      FP_ILOGBNAN
     1108        syn keyword cConstant FP_INFINITE  FP_FAST_FMA
     1109        syn keyword cConstant HUGE_VALF    FP_NAN       FP_FAST_FMAF
     1110        syn keyword cConstant HUGE_VALL    FP_NORMAL    FP_FAST_FMAL
     1111        syn keyword cConstant FE_OVERFLOW      FE_TOWARDZERO
     1112        syn keyword cConstant FE_UNDERFLOW     FE_UPWARD
     1113        syn keyword cConstant FE_DIVBYZERO     FE_ALL_EXCEPT    FE_DFL_ENV
     1114        syn keyword cConstant FE_INEXACT       FE_DOWNWARD
     1115        syn keyword cConstant FE_INVALID       FE_TONEAREST
     1116        syn keyword cConstant   _Complex_I _Imaginary_I
     1117        " Add POSIX signals as well...
     1118        syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP
     1119        syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
     1120        syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU
     1121        syn keyword cConstant SIGUSR1 SIGUSR2
     1122        syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF
     1123        syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam
     1124        syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
     1125        syn keyword cConstant TMP_MAX stderr stdin stdout
     1126        syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
     1127        " Add POSIX errors as well
     1128        syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
     1129        syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
     1130        syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR
     1131        syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV
     1132        syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS
     1133        syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM
     1134        syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV
     1135        " math.h
     1136        syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
     1137        syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
     1138endif
     1139if !exists("c_no_c99") " ISO C99
     1140        syn keyword cConstant true false __bool_true_false_are_defined
     1141endif
     1142
     1143" Accept %: for # (C99)
     1144syn region      cPreCondit      start="^\s*\(%:\|#\)\s*\(ifdef\|ifndef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
     1145syn keyword     cDefined        defined contained
     1146"syn match      cDefined        display contained "\<defined(\w\+)" contains=cName,cAnsiName
     1147syn region      cPreConditIf    start="^\s*\(%:\|#\)\s*\(if\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cDefined,cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
     1148syn match       cPreCondit      display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
     1149if !exists("c_no_if0")
     1150        syn region      cCppOut         start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
     1151        syn region      cCppOut2        contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
     1152                syn region      cCppSkip        contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
     1153        endif
     1154        syn region      cIncluded       display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
     1155        syn match       cIncluded       display contained "<[^>]*>"
     1156        syn match       cInclude        display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
     1157        syn match cLineSkip     "\\$"
     1158        syn cluster     cPreProcGroup   contains=cPreConditIf,cPreCondit,cIncluded,cInclude,cDefined,cDefine,cErrInParen,cErrInBracket,cUserLabel,cUserLabel2,cGotoLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
     1159        "syn region     cDefine         start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@cPreProcGroup,@Spell
     1160        syn region      cDefine         start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@cPreProcGroup,cName,cFunction,cAnsiFunction,@Spell
     1161        syn region      cPreProc        start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
     1162
     1163        " Highlight User Labels
     1164        syn cluster     cMultiGroup     contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cUserLabel2,cGotoLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
     1165        syn region      cMulti          transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
     1166        " Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
     1167        syn cluster     cLabelGroup     contains=cUserLabel
     1168        syn match       cUserCont       display "^\s*\I\i*\s*:$" contains=@cLabelGroup
     1169        syn match       cUserCont       display ";\s*\I\i*\s*:$" contains=@cLabelGroup
     1170        syn match       cUserCont       display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
     1171        syn match       cUserCont       display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
     1172
     1173        syn match       cUserLabel      display "\I\i*" contained
     1174        syn match       cUserLabel2     display "\I\i*:;\+"me=e-2
     1175        syn match       cGotoLabel      display "\<goto\s\+\I\i*;"me=e-1,hs=s+5 contains=cGoto
     1176        syn keyword     cGoto           contained goto
     1177
     1178        " Avoid recognizing most bitfields as labels
     1179        syn match       cBitField       display "^\s*\I\i*\s*:\s*[1-9]"me=e-1
     1180        syn match       cBitField       display ";\s*\I\i*\s*:\s*[1-9]"me=e-1
     1181
     1182        syn match cOperator     "\(<<\|>>\|[-+*/%&^|<>!=]\)="
     1183        syn match cOperator     "<<\|>>\|&&\|||\|++\|--\|->"
     1184        syn match cOperator     "[.!~*&%<>^|=+-]"
     1185        syn match cOperator     "/[^/*=]"me=e-1
     1186        syn match cOperator     "/$"
     1187        syn match cOperator     "[\\]"
     1188        syn match cOperator     "&&\|||"
     1189        syn match cSpecialCharacter     "[,;]"
     1190        syn match cDelimiter    "[][(){}]"
     1191        syn keyword     cType           CHAR byte BYTE uchar ushort uint ulong
     1192        syn keyword     cType           WORD DWORD QWORD INT INT2 INT4 UNS UNS2 UNS4 INT8 UNS8
     1193        syn keyword     cType           CFG_t cfap_t cBYTE cvoid
     1194        syn keyword     cType           _Bool _Complex _Imaginary __int64
     1195        if !exists("c_no_ansi") || exists("c_ansi_typedefs")
     1196                syn keyword   cMC       __near __far FAR __io __direct DIR
     1197        endif
     1198
     1199        if exists("c_minlines")
     1200                let b:c_minlines = c_minlines
     1201        else
     1202                if !exists("c_no_if0")
     1203                        let b:c_minlines = 50   " #if 0 constructs can be long
     1204                else
     1205                        let b:c_minlines = 15   " mostly for () constructs
     1206                endif
     1207        endif
     1208        exec "syn sync ccomment cComment minlines=" . b:c_minlines
     1209
     1210        " Define the default highlighting.
     1211        " For version 5.7 and earlier: only when not done already
     1212        " For version 5.8 and later: only when an item doesn't have highlighting yet
     1213        if version >= 508 || !exists("did_c_syn_inits")
     1214                if version < 508
     1215                        let did_c_syn_inits = 1
     1216                        command -nargs=+ HiLink hi link <args>
     1217                else
     1218                        command -nargs=+ HiLink hi def link <args>
     1219                endif
     1220
     1221                HiLink cFormat  cSpecial
     1222                HiLink cCppString       cString
     1223                HiLink cCommentL        cComment
     1224                HiLink cCommentStart    cComment
     1225                HiLink cLabel           Label
     1226                " HiLink cUserLabel     Label
     1227                HiLink cUserLabel       UserLabel2
     1228                HiLink cUserLabel2      UserLabel2
     1229                HiLink cGotoLabel       UserLabel2
     1230                HiLink cGoto            Statement
     1231                HiLink cConditional     Conditional
     1232                HiLink cRepeat  Repeat
     1233                HiLink cCharacter       Character
     1234                HiLink cSpecialCharacter cSpecial
     1235                HiLink cNumber  Number
     1236                HiLink cOctal           Number
     1237                HiLink cOctalZero       PreProc         " link this to Error if you want
     1238                HiLink cFloat           Float
     1239                HiLink cOctalError      cError
     1240                HiLink cParenError      cError
     1241                HiLink cErrInParen      cError
     1242                HiLink cErrInBracket    cError
     1243                HiLink cCommentError    cError
     1244                HiLink cCommentStartError       cError
     1245                HiLink cSpaceError      cError
     1246                HiLink cSpecialError    cError
     1247                HiLink cOperator        Operator
     1248                HiLink cOperatorBold    OperatorBold
     1249                HiLink cStructure       Structure
     1250                HiLink cStorageClass    StorageClass
     1251                HiLink cInclude Include
     1252                HiLink cPreProc PreProc
     1253                HiLink cDefine  Macro
     1254                HiLink cDefined PreCondit
     1255                HiLink cIncluded        cString
     1256                HiLink cError           Error
     1257                HiLink cStatement       Statement
     1258                HiLink cPreCondit       PreCondit
     1259                HiLink cPreConditIf     PreCondit
     1260                HiLink cType            Type
     1261                HiLink cConstant        Constant
     1262                HiLink cCommentString cString
     1263                HiLink cComment2String cString
     1264                HiLink cCommentSkip     cComment
     1265                HiLink cString  String
     1266                HiLink cComment Comment
     1267                HiLink cDelimiter     Delimiter
     1268                HiLink cSpecial SpecialChar
     1269                HiLink cTodo            Todo
     1270                HiLink cCppSkip cCppOut
     1271                HiLink cCppOut2 cCppOut
     1272                HiLink cCppOut  Comment
     1273                HiLink cMulti           Operator
     1274                HiLink cMultiMG Operator
     1275                HiLink cFunction        Function
     1276                HiLink cAnsiFunction    StdFunction
     1277                HiLink cName            Name
     1278                HiLink cBitField        Name
     1279                HiLink cAnsiName        StdName
     1280                "HiLink cBlock  BlockBraces
     1281                HiLink cBraces  BlockBraces
     1282                "HiLink cBraceError     Error
     1283                HiLink cMC              MicroController
     1284                HiLink cAnsiFuncPtr     AnsiFuncPtr
     1285
     1286                hi Function             gui=NONE guifg=#e86f00
     1287                "hi StdFunction gui=bold guifg=#ee0040
     1288                hi StdFunction  gui=bold guifg=#e86f00
     1289                hi Statement            gui=bold guifg=#a06129
     1290                hi UserLabel2           gui=bold guifg=#c96129
     1291                hi Operator             gui=NONE guifg=#000000
     1292                hi OperatorBold gui=bold guifg=#000000
     1293                hi StdName              gui=bold guifg=#5276e6
     1294                hi Name         gui=NONE guifg=#5276e6
     1295                hi BlockBraces  gui=bold guifg=#000000
     1296                hi Special              gui=NONE guifg=#a000a0
     1297                hi Comment              gui=NONE guifg=grey62
     1298                hi MicroController      gui=bold guifg=#d00000
     1299                hi AnsiFuncPtr  gui=NONE guifg=#ff0000
     1300                " hi PreProc            gui=NONE guifg=#6a5acd
     1301                hi PreCondit            gui=NONE guifg=#6a5acd
     1302                " hi Macro              gui=NONE guifg=#0000ff
     1303
     1304                delcommand HiLink
     1305        endif
     1306        hi Normal               gui=NONE guifg=#000000 guibg=Ivory1
     1307
     1308        let b:current_syntax = "c"
     1309
     1310        " vim: ts=8
Note: See TracBrowser for help on using the repository browser.