blob: 422fd31dae4f5213f90aee77de38f99ae4afae1d [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" 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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02007" quit when a syntax file was already loaded
8if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020058" Only when an item doesn't have highlighting yet
59command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000060
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020061HiLink fdccBlank Blank
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020063HiLink fdccTodo Todo
64HiLink fdccComment Comment
65HiLink fdccVariable Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020067HiLink 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000079
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020080HiLink fdccUnicodeInValid Error
81HiLink fdccUnicodeValid String
82HiLink fdccString String
83HiLink fdccNumber Blank
Bram Moolenaar071d4272004-06-13 20:20:40 +000084
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020085HiLink 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020099delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
101let b:current_syntax = "fdcc"
102
103" vim: ts=8