1" Vim syntax file 2" Language: fdcc or locale files 3" Maintainer: Dwayne Bailey <[email protected]> 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 8if exists("b:current_syntax") 9 finish 10endif 11 12syn sync minlines=150 13setlocal iskeyword+=- 14 15" Numbers 16syn match fdccNumber /[0-9]*/ contained 17 18" Unicode codings and strings 19syn match fdccUnicodeInValid /<[^<]*>/ contained 20syn match fdccUnicodeValid /<U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]>/ contained 21syn region fdccString start=/"/ end=/"/ contains=fdccUnicodeInValid,fdccUnicodeValid 22 23" Valid LC_ Keywords 24syn keyword fdccKeyword escape_char comment_char 25syn keyword fdccKeywordIdentification title source address contact email tel fax language territory revision date category 26syn keyword fdccKeywordCtype copy space translit_start include translit_end outdigit class 27syn keyword fdccKeywordCollate copy script order_start order_end collating-symbol reorder-after reorder-end collating-element symbol-equivalence 28syn 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 29syn keyword fdccKeywordNumeric copy decimal_point thousands_sep grouping 30syn 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 31syn keyword fdccKeywordMessages copy yesexpr noexpr yesstr nostr 32syn keyword fdccKeywordPaper copy height width 33syn keyword fdccKeywordTelephone copy tel_int_fmt int_prefix tel_dom_fmt int_select 34syn keyword fdccKeywordMeasurement copy measurement 35syn keyword fdccKeywordName copy name_fmt name_gen name_mr name_mrs name_miss name_ms 36syn 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 39syn keyword fdccTodo TODO FIXME contained 40syn match fdccVariable /%[a-zA-Z]/ contained 41syn match fdccComment /[#%].*/ contains=fdccTodo,fdccVariable 42 43" LC_ Groups 44syn region fdccBlank matchgroup=fdccLCIdentification start=/^LC_IDENTIFICATION$/ end=/^END LC_IDENTIFICATION$/ contains=fdccKeywordIdentification,fdccString,fdccComment 45syn region fdccBlank matchgroup=fdccLCCtype start=/^LC_CTYPE$/ end=/^END LC_CTYPE$/ contains=fdccKeywordCtype,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid 46syn region fdccBlank matchgroup=fdccLCCollate start=/^LC_COLLATE$/ end=/^END LC_COLLATE$/ contains=fdccKeywordCollate,fdccString,fdccComment,fdccUnicodeInValid,fdccUnicodeValid 47syn region fdccBlank matchgroup=fdccLCMonetary start=/^LC_MONETARY$/ end=/^END LC_MONETARY$/ contains=fdccKeywordMonetary,fdccString,fdccComment,fdccNumber 48syn region fdccBlank matchgroup=fdccLCNumeric start=/^LC_NUMERIC$/ end=/^END LC_NUMERIC$/ contains=fdccKeywordNumeric,fdccString,fdccComment,fdccNumber 49syn region fdccBlank matchgroup=fdccLCTime start=/^LC_TIME$/ end=/^END LC_TIME$/ contains=fdccKeywordTime,fdccString,fdccComment,fdccNumber 50syn region fdccBlank matchgroup=fdccLCMessages start=/^LC_MESSAGES$/ end=/^END LC_MESSAGES$/ contains=fdccKeywordMessages,fdccString,fdccComment 51syn region fdccBlank matchgroup=fdccLCPaper start=/^LC_PAPER$/ end=/^END LC_PAPER$/ contains=fdccKeywordPaper,fdccString,fdccComment,fdccNumber 52syn region fdccBlank matchgroup=fdccLCTelephone start=/^LC_TELEPHONE$/ end=/^END LC_TELEPHONE$/ contains=fdccKeywordTelephone,fdccString,fdccComment 53syn region fdccBlank matchgroup=fdccLCMeasurement start=/^LC_MEASUREMENT$/ end=/^END LC_MEASUREMENT$/ contains=fdccKeywordMeasurement,fdccString,fdccComment,fdccNumber 54syn region fdccBlank matchgroup=fdccLCName start=/^LC_NAME$/ end=/^END LC_NAME$/ contains=fdccKeywordName,fdccString,fdccComment 55syn 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 59command -nargs=+ HiLink hi def link <args> 60 61HiLink fdccBlank Blank 62 63HiLink fdccTodo Todo 64HiLink fdccComment Comment 65HiLink fdccVariable Type 66 67HiLink fdccLCIdentification Statement 68HiLink fdccLCCtype Statement 69HiLink fdccLCCollate Statement 70HiLink fdccLCMonetary Statement 71HiLink fdccLCNumeric Statement 72HiLink fdccLCTime Statement 73HiLink fdccLCMessages Statement 74HiLink fdccLCPaper Statement 75HiLink fdccLCTelephone Statement 76HiLink fdccLCMeasurement Statement 77HiLink fdccLCName Statement 78HiLink fdccLCAddress Statement 79 80HiLink fdccUnicodeInValid Error 81HiLink fdccUnicodeValid String 82HiLink fdccString String 83HiLink fdccNumber Blank 84 85HiLink fdccKeywordIdentification fdccKeyword 86HiLink fdccKeywordCtype fdccKeyword 87HiLink fdccKeywordCollate fdccKeyword 88HiLink fdccKeywordMonetary fdccKeyword 89HiLink fdccKeywordNumeric fdccKeyword 90HiLink fdccKeywordTime fdccKeyword 91HiLink fdccKeywordMessages fdccKeyword 92HiLink fdccKeywordPaper fdccKeyword 93HiLink fdccKeywordTelephone fdccKeyword 94HiLink fdccKeywordMeasurement fdccKeyword 95HiLink fdccKeywordName fdccKeyword 96HiLink fdccKeywordAddress fdccKeyword 97HiLink fdccKeyword Identifier 98 99delcommand HiLink 100 101let b:current_syntax = "fdcc" 102 103" vim: ts=8 104