home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / fdcc.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  5.9 KB  |  115 lines

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