fdcc.vim (5648B)
1 " Vim syntax file 2 " Language: fdcc or locale files 3 " Maintainer: Dwayne Bailey <dwayne@translate.org.za> 4 " Last Change: 2004 May 16 5 " Remarks: FDCC (Formal Definitions of Cultural Conventions) see ISO TR 14652 6 7 " quit when a syntax file was already loaded 8 if exists("b:current_syntax") 9 finish 10 endif 11 12 syn sync minlines=150 13 setlocal iskeyword+=- 14 15 " Numbers 16 syn match fdccNumber /[0-9]*/ contained 17 18 " Unicode codings and strings 19 syn match fdccUnicodeInValid /<[^<]*>/ contained 20 syn match fdccUnicodeValid /<U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]>/ contained 21 syn region fdccString start=/"/ end=/"/ contains=fdccUnicodeInValid,fdccUnicodeValid 22 23 " Valid LC_ Keywords 24 syn keyword fdccKeyword escape_char comment_char 25 syn keyword fdccKeywordIdentification title source address contact email tel fax language territory revision date category 26 syn keyword fdccKeywordCtype copy space translit_start include translit_end outdigit class 27 syn keyword fdccKeywordCollate copy script order_start order_end collating-symbol reorder-after reorder-end collating-element symbol-equivalence 28 syn keyword fdccKeywordMonetary copy int_curr_symbol currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn 29 syn keyword fdccKeywordNumeric copy decimal_point thousands_sep grouping 30 syn keyword fdccKeywordTime copy abday day abmon mon d_t_fmt d_fmt t_fmt am_pm t_fmt_ampm date_fmt era_d_fmt first_weekday first_workday week cal_direction time_zone era alt_digits era_d_t_fmt 31 syn keyword fdccKeywordMessages copy yesexpr noexpr yesstr nostr 32 syn keyword fdccKeywordPaper copy height width 33 syn keyword fdccKeywordTelephone copy tel_int_fmt int_prefix tel_dom_fmt int_select 34 syn keyword fdccKeywordMeasurement copy measurement 35 syn keyword fdccKeywordName copy name_fmt name_gen name_mr name_mrs name_miss name_ms 36 syn keyword fdccKeywordAddress copy postal_fmt country_name country_post country_ab2 country_ab3 country_num country_car country_isbn lang_name lang_ab lang_term lang_lib 37 38 " Comments 39 syn keyword fdccTodo TODO FIXME contained 40 syn match fdccVariable /%[a-zA-Z]/ contained 41 syn match fdccComment /[#%].*/ contains=fdccTodo,fdccVariable 42 43 " LC_ Groups 44 syn region fdccBlank matchgroup=fdccLCIdentification start=/^LC_IDENTIFICATION$/ end=/^END LC_IDENTIFICATION$/ contains=fdccKeywordIdentification,fdccString,fdccComment 45 syn region fdccBlank matchgroup=fdccLCCtype start=/^LC_CTYPE$/ end=/^END LC_CTYPE$/ contains=fdccKeywordCtype,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid 46 syn region fdccBlank matchgroup=fdccLCCollate start=/^LC_COLLATE$/ end=/^END LC_COLLATE$/ contains=fdccKeywordCollate,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid 47 syn region fdccBlank matchgroup=fdccLCMonetary start=/^LC_MONETARY$/ end=/^END LC_MONETARY$/ contains=fdccKeywordMonetary,fdccString,fdccComment,fdccNumber 48 syn region fdccBlank matchgroup=fdccLCNumeric start=/^LC_NUMERIC$/ end=/^END LC_NUMERIC$/ contains=fdccKeywordNumeric,fdccString,fdccComment,fdccNumber 49 syn region fdccBlank matchgroup=fdccLCTime start=/^LC_TIME$/ end=/^END LC_TIME$/ contains=fdccKeywordTime,fdccString,fdccComment,fdccNumber 50 syn region fdccBlank matchgroup=fdccLCMessages start=/^LC_MESSAGES$/ end=/^END LC_MESSAGES$/ contains=fdccKeywordMessages,fdccString,fdccComment 51 syn region fdccBlank matchgroup=fdccLCPaper start=/^LC_PAPER$/ end=/^END LC_PAPER$/ contains=fdccKeywordPaper,fdccString,fdccComment,fdccNumber 52 syn region fdccBlank matchgroup=fdccLCTelephone start=/^LC_TELEPHONE$/ end=/^END LC_TELEPHONE$/ contains=fdccKeywordTelephone,fdccString,fdccComment 53 syn region fdccBlank matchgroup=fdccLCMeasurement start=/^LC_MEASUREMENT$/ end=/^END LC_MEASUREMENT$/ contains=fdccKeywordMeasurement,fdccString,fdccComment,fdccNumber 54 syn region fdccBlank matchgroup=fdccLCName start=/^LC_NAME$/ end=/^END LC_NAME$/ contains=fdccKeywordName,fdccString,fdccComment 55 syn region fdccBlank matchgroup=fdccLCAddress start=/^LC_ADDRESS$/ end=/^END LC_ADDRESS$/ contains=fdccKeywordAddress,fdccString,fdccComment,fdccNumber 56 57 58 " Only when an item doesn't have highlighting yet 59 60 hi def link fdccBlank Blank 61 62 hi def link fdccTodo Todo 63 hi def link fdccComment Comment 64 hi def link fdccVariable Type 65 66 hi def link fdccLCIdentification Statement 67 hi def link fdccLCCtype Statement 68 hi def link fdccLCCollate Statement 69 hi def link fdccLCMonetary Statement 70 hi def link fdccLCNumeric Statement 71 hi def link fdccLCTime Statement 72 hi def link fdccLCMessages Statement 73 hi def link fdccLCPaper Statement 74 hi def link fdccLCTelephone Statement 75 hi def link fdccLCMeasurement Statement 76 hi def link fdccLCName Statement 77 hi def link fdccLCAddress Statement 78 79 hi def link fdccUnicodeInValid Error 80 hi def link fdccUnicodeValid String 81 hi def link fdccString String 82 hi def link fdccNumber Blank 83 84 hi def link fdccKeywordIdentification fdccKeyword 85 hi def link fdccKeywordCtype fdccKeyword 86 hi def link fdccKeywordCollate fdccKeyword 87 hi def link fdccKeywordMonetary fdccKeyword 88 hi def link fdccKeywordNumeric fdccKeyword 89 hi def link fdccKeywordTime fdccKeyword 90 hi def link fdccKeywordMessages fdccKeyword 91 hi def link fdccKeywordPaper fdccKeyword 92 hi def link fdccKeywordTelephone fdccKeyword 93 hi def link fdccKeywordMeasurement fdccKeyword 94 hi def link fdccKeywordName fdccKeyword 95 hi def link fdccKeywordAddress fdccKeyword 96 hi def link fdccKeyword Identifier 97 98 99 let b:current_syntax = "fdcc" 100 101 " vim: ts=8