neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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