1126bdeeaSBram Moolenaar" Vim syntax file 2126bdeeaSBram Moolenaar" Language: ReDIF 3126bdeeaSBram Moolenaar" Maintainer: Axel Castellane <[email protected]> 4*6aa57295SBram Moolenaar" Last Change: 2021 Jul 28 5126bdeeaSBram Moolenaar" Original Author: Axel Castellane 6126bdeeaSBram Moolenaar" Source: http://openlib.org/acmes/root/docu/redif_1.html 70187ca0bSBram Moolenaar" File Extension: rdf 8126bdeeaSBram Moolenaar" Note: The ReDIF format is used by RePEc. 9126bdeeaSBram Moolenaar 1089bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1189bcfda6SBram Moolenaarif exists("b:current_syntax") 12126bdeeaSBram Moolenaar finish 13126bdeeaSBram Moolenaarendif 14126bdeeaSBram Moolenaar 15126bdeeaSBram Moolenaar" ReDIF is case-insensitive 16126bdeeaSBram Moolenaarsyntax case ignore 17126bdeeaSBram Moolenaar 18126bdeeaSBram Moolenaar" Structure: Some fields determine what fields can come next. For example: 19126bdeeaSBram Moolenaar" Template-Type 20126bdeeaSBram Moolenaar" *-Name 21126bdeeaSBram Moolenaar" File-URL 22126bdeeaSBram Moolenaar" *-Institution 23126bdeeaSBram Moolenaar" Those fields span a syntax region over several lines so that these regions 24126bdeeaSBram Moolenaar" can only contain their respective items. 25126bdeeaSBram Moolenaar 260187ca0bSBram Moolenaar" Any line which is not a correct template or part of an argument is an error. 270187ca0bSBram Moolenaar" This comes at the very beginning, so it has the lowest priority and will 280187ca0bSBram Moolenaar" only match if nothing else did. 290187ca0bSBram Moolenaarsyntax match redifWrongLine /^.\+/ display 30126bdeeaSBram Moolenaar 310187ca0bSBram Moolenaarhighlight def link redifWrongLine redifError 32126bdeeaSBram Moolenaar 330187ca0bSBram Moolenaar" Comments must start with # and it must be the first character of the line, 340187ca0bSBram Moolenaar" otherwise I believe that they are considered as part of an argument. 350187ca0bSBram Moolenaarsyntax match redifComment /^#.*/ containedin=ALL display 36126bdeeaSBram Moolenaar 37126bdeeaSBram Moolenaar" Defines the 9 possible multi-lines regions of Template-Type and the fields 38126bdeeaSBram Moolenaar" they can contain. 390187ca0bSBram Moolenaarsyntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPaper,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold 400187ca0bSBram Moolenaarsyntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArticle,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold 410187ca0bSBram Moolenaarsyntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsChapter,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold 420187ca0bSBram Moolenaarsyntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsBook,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold 430187ca0bSBram Moolenaarsyntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSoftware,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold 440187ca0bSBram Moolenaarsyntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArchive,redifWrongLine fold 450187ca0bSBram Moolenaarsyntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSeries,redifWrongLine,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold 460187ca0bSBram Moolenaarsyntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsInstitution,redifWrongLine,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary fold 470187ca0bSBram Moolenaarsyntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPerson,redifWrongLine,redifRegionClusterWorkplace fold 48126bdeeaSBram Moolenaar 490187ca0bSBram Moolenaar" All fields are foldable (These come before clusters, so they have lower 500187ca0bSBram Moolenaar" priority). So they are contained in a foldable syntax region. 510187ca0bSBram Moolenaarsyntax region redifContainerFieldsPaper start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldRevisionDate,redifFieldPublicationStatus,redifFieldNote,redifFieldLength,redifFieldSeries,redifFieldAvailability,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldTemplateType,redifWrongLine contained transparent fold 520187ca0bSBram Moolenaarsyntax region redifContainerFieldsArticle start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationStatus,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldJournal,redifFieldVolume,redifFieldYear,redifFieldIssue,redifFieldMonth,redifFieldPages,redifFieldNumber,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold 530187ca0bSBram Moolenaarsyntax region redifContainerFieldsChapter start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldBookTitle,redifFieldYear,redifFieldMonth,redifFieldPages,redifFieldChapter,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldInBook,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold 540187ca0bSBram Moolenaarsyntax region redifContainerFieldsBook start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldContactEmail,redifFieldYear,redifFieldMonth,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldHasChapter,redifFieldPrice,redifFieldOrderURL,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationDate,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold 550187ca0bSBram Moolenaarsyntax region redifContainerFieldsSoftware start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold 560187ca0bSBram Moolenaarsyntax region redifContainerFieldsArchive start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType,redifWrongLine contained transparent fold 570187ca0bSBram Moolenaarsyntax region redifContainerFieldsSeries start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType,redifWrongLine contained transparent fold 580187ca0bSBram Moolenaarsyntax region redifContainerFieldsInstitution start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType,redifWrongLine contained transparent fold 590187ca0bSBram Moolenaarsyntax region redifContainerFieldsPerson start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfPerson,redifFieldNameFull,redifFieldNameFirst,redifFieldNameLast,redifFieldNamePrefix,redifFieldNameMiddle,redifFieldNameSuffix,redifFieldNameASCII,redifFieldEmail,redifFieldHomepage,redifFieldFax,redifFieldPostal,redifFieldPhone,redifFieldWorkplaceOrganization,redifFieldAuthorPaper,redifFieldAuthorArticle,redifFieldAuthorSoftware,redifFieldAuthorBook,redifFieldAuthorChapter,redifFieldEditorBook,redifFieldEditorSeries,redifFieldClassificationJEL,redifFieldShortId,redifFieldLastLoginDate,redifFieldRegisteredDate,redifWrongLine contained transparent fold 60126bdeeaSBram Moolenaar 610187ca0bSBram Moolenaar" Defines the 10 possible clusters and what they can contain 620187ca0bSBram Moolenaar" A field not in the cluster ends the cluster. 630187ca0bSBram Moolenaarsyntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsWorkplace fold 640187ca0bSBram Moolenaarsyntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPrimary fold 650187ca0bSBram Moolenaarsyntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsSecondary fold 660187ca0bSBram Moolenaarsyntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsTertiary fold 670187ca0bSBram Moolenaarsyntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsQuaternary fold 680187ca0bSBram Moolenaarsyntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsProvider fold 690187ca0bSBram Moolenaarsyntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPublisher fold 700187ca0bSBram Moolenaarsyntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterAuthorWorkplace,redifContainerFieldsAuthor fold 710187ca0bSBram Moolenaarsyntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterEditorWorkplace,redifContainerFieldsEditor fold 720187ca0bSBram Moolenaarsyntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsFile fold 73126bdeeaSBram Moolenaar 740187ca0bSBram Moolenaar" The foldable containers of the clusters. 750187ca0bSBram Moolenaarsyntax region redifContainerFieldsWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution,redifWrongLine contained transparent fold 760187ca0bSBram Moolenaarsyntax region redifContainerFieldsPrimary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution,redifWrongLine contained transparent fold 770187ca0bSBram Moolenaarsyntax region redifContainerFieldsSecondary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution,redifWrongLine contained transparent fold 780187ca0bSBram Moolenaarsyntax region redifContainerFieldsTertiary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution,redifWrongLine contained transparent fold 790187ca0bSBram Moolenaarsyntax region redifContainerFieldsQuaternary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution,redifWrongLine contained transparent fold 800187ca0bSBram Moolenaarsyntax region redifContainerFieldsProvider start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution,redifWrongLine contained transparent fold 810187ca0bSBram Moolenaarsyntax region redifContainerFieldsPublisher start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution,redifWrongLine contained transparent fold 820187ca0bSBram Moolenaarsyntax region redifContainerFieldsAuthor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson,redifWrongLine contained transparent fold 830187ca0bSBram Moolenaarsyntax region redifContainerFieldsEditor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson,redifWrongLine contained transparent fold 840187ca0bSBram Moolenaarsyntax region redifContainerFieldsFile start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction,redifWrongLine contained transparent fold 85126bdeeaSBram Moolenaar 860187ca0bSBram Moolenaar" The two clusters in cluster (must be presented after to have priority over 870187ca0bSBram Moolenaar" fields containers) 880187ca0bSBram Moolenaarsyntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsAuthorWorkplace fold 890187ca0bSBram Moolenaarsyntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsEditorWorkplace fold 900187ca0bSBram Moolenaar 910187ca0bSBram Moolenaar" Their foldable fields containers 920187ca0bSBram Moolenaarsyntax region redifContainerFieldsAuthorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution,redifWrongLine contained transparent fold 930187ca0bSBram Moolenaarsyntax region redifContainerFieldsEditorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution,redifWrongLine contained transparent fold 94126bdeeaSBram Moolenaar 95126bdeeaSBram Moolenaar" All the possible fields 96126bdeeaSBram Moolenaar" Note: The "Handle" field is handled a little bit differently, because it 970187ca0bSBram Moolenaar" does not have the same meaning depending on the Template-Type. See: 98126bdeeaSBram Moolenaar" /redifFieldHandleOf.... 99126bdeeaSBram Moolenaarsyntax match redifFieldAbstract /^Abstract:/ skipwhite skipempty nextgroup=redifArgumentAbstract contained 100126bdeeaSBram Moolenaarsyntax match redifFieldArticleHandle /^Article-Handle:/ skipwhite skipempty nextgroup=redifArgumentArticleHandle contained 101126bdeeaSBram Moolenaarsyntax match redifFieldAuthorArticle /^Author-Article:/ skipwhite skipempty nextgroup=redifArgumentAuthorArticle contained 102126bdeeaSBram Moolenaarsyntax match redifFieldAuthorBook /^Author-Book:/ skipwhite skipempty nextgroup=redifArgumentAuthorBook contained 103126bdeeaSBram Moolenaarsyntax match redifFieldAuthorChapter /^Author-Chapter:/ skipwhite skipempty nextgroup=redifArgumentAuthorChapter contained 104126bdeeaSBram Moolenaarsyntax match redifFieldAuthorEmail /^Author-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorEmail contained 105126bdeeaSBram Moolenaarsyntax match redifFieldAuthorFax /^Author-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorFax contained 106126bdeeaSBram Moolenaarsyntax match redifFieldAuthorHomepage /^Author-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorHomepage contained 107126bdeeaSBram Moolenaarsyntax match redifFieldAuthorName /^Author-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorName contained 108126bdeeaSBram Moolenaarsyntax match redifFieldAuthorNameFirst /^Author-Name-First:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameFirst contained 109126bdeeaSBram Moolenaarsyntax match redifFieldAuthorNameLast /^Author-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameLast contained 110126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPaper /^Author-Paper:/ skipwhite skipempty nextgroup=redifArgumentAuthorPaper contained 111126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPerson /^Author-Person:/ skipwhite skipempty nextgroup=redifArgumentAuthorPerson contained 112126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPhone /^Author-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorPhone contained 113126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPostal /^Author-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorPostal contained 114126bdeeaSBram Moolenaarsyntax match redifFieldAuthorSoftware /^Author-Software:/ skipwhite skipempty nextgroup=redifArgumentAuthorSoftware contained 115126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceEmail /^Author-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceEmail contained 116126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceFax /^Author-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceFax contained 117126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceHomepage /^Author-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceHomepage contained 118126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceInstitution /^Author-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceInstitution contained 119126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceLocation /^Author-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceLocation contained 120126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceName /^Author-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceName contained 121126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceNameEnglish /^Author-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceNameEnglish contained 122126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplacePhone /^Author-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePhone contained 123126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplacePostal /^Author-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePostal contained 124126bdeeaSBram Moolenaarsyntax match redifFieldAvailability /^Availability:/ skipwhite skipempty nextgroup=redifArgumentAvailability contained 125126bdeeaSBram Moolenaarsyntax match redifFieldBookHandle /^Book-Handle:/ skipwhite skipempty nextgroup=redifArgumentBookHandle contained 126126bdeeaSBram Moolenaarsyntax match redifFieldBookTitle /^Book-Title:/ skipwhite skipempty nextgroup=redifArgumentBookTitle contained 127126bdeeaSBram Moolenaarsyntax match redifFieldChapterHandle /^Chapter-Handle:/ skipwhite skipempty nextgroup=redifArgumentChapterHandle contained 128126bdeeaSBram Moolenaarsyntax match redifFieldChapter /^Chapter:/ skipwhite skipempty nextgroup=redifArgumentChapter contained 129126bdeeaSBram Moolenaarsyntax match redifFieldClassificationJEL /^Classification-JEL:/ skipwhite skipempty nextgroup=redifArgumentClassificationJEL contained 130126bdeeaSBram Moolenaarsyntax match redifFieldContactEmail /^Contact-Email:/ skipwhite skipempty nextgroup=redifArgumentContactEmail contained 131126bdeeaSBram Moolenaarsyntax match redifFieldCreationDate /^Creation-Date:/ skipwhite skipempty nextgroup=redifArgumentCreationDate contained 132126bdeeaSBram Moolenaarsyntax match redifFieldDescription /^Description:/ skipwhite skipempty nextgroup=redifArgumentDescription contained 133126bdeeaSBram Moolenaarsyntax match redifFieldEdition /^Edition:/ skipwhite skipempty nextgroup=redifArgumentEdition contained 134126bdeeaSBram Moolenaarsyntax match redifFieldEditorBook /^Editor-Book:/ skipwhite skipempty nextgroup=redifArgumentEditorBook contained 135126bdeeaSBram Moolenaarsyntax match redifFieldEditorEmail /^Editor-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorEmail contained 136126bdeeaSBram Moolenaarsyntax match redifFieldEditorFax /^Editor-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorFax contained 137126bdeeaSBram Moolenaarsyntax match redifFieldEditorHomepage /^Editor-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorHomepage contained 138126bdeeaSBram Moolenaarsyntax match redifFieldEditorName /^Editor-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorName contained 139126bdeeaSBram Moolenaarsyntax match redifFieldEditorNameFirst /^Editor-Name-First:/ skipwhite skipempty nextgroup=redifArgumentEditorNameFirst contained 140126bdeeaSBram Moolenaarsyntax match redifFieldEditorNameLast /^Editor-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentEditorNameLast contained 141126bdeeaSBram Moolenaarsyntax match redifFieldEditorPerson /^Editor-Person:/ skipwhite skipempty nextgroup=redifArgumentEditorPerson contained 142126bdeeaSBram Moolenaarsyntax match redifFieldEditorPhone /^Editor-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorPhone contained 143126bdeeaSBram Moolenaarsyntax match redifFieldEditorPostal /^Editor-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorPostal contained 144126bdeeaSBram Moolenaarsyntax match redifFieldEditorSeries /^Editor-Series:/ skipwhite skipempty nextgroup=redifArgumentEditorSeries contained 145126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceEmail /^Editor-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceEmail contained 146126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceFax /^Editor-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceFax contained 147126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceHomepage /^Editor-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceHomepage contained 148126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceInstitution /^Editor-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceInstitution contained 149126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceLocation /^Editor-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceLocation contained 150126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceName /^Editor-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceName contained 151126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceNameEnglish /^Editor-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceNameEnglish contained 152126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplacePhone /^Editor-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePhone contained 153126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplacePostal /^Editor-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePostal contained 154126bdeeaSBram Moolenaarsyntax match redifFieldEmail /^Email:/ skipwhite skipempty nextgroup=redifArgumentEmail contained 155126bdeeaSBram Moolenaarsyntax match redifFieldFax /^Fax:/ skipwhite skipempty nextgroup=redifArgumentFax contained 156126bdeeaSBram Moolenaarsyntax match redifFieldFileFormat /^File-Format:/ skipwhite skipempty nextgroup=redifArgumentFileFormat contained 157126bdeeaSBram Moolenaarsyntax match redifFieldFileFunction /^File-Function:/ skipwhite skipempty nextgroup=redifArgumentFileFunction contained 158126bdeeaSBram Moolenaarsyntax match redifFieldFileRestriction /^File-Restriction:/ skipwhite skipempty nextgroup=redifArgumentFileRestriction contained 159126bdeeaSBram Moolenaarsyntax match redifFieldFileSize /^File-Size:/ skipwhite skipempty nextgroup=redifArgumentFileSize contained 160126bdeeaSBram Moolenaarsyntax match redifFieldFileURL /^File-URL:/ skipwhite skipempty nextgroup=redifArgumentFileURL contained 161126bdeeaSBram Moolenaarsyntax match redifFieldFollowup /^Followup:/ skipwhite skipempty nextgroup=redifArgumentFollowup contained 162126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfArchive /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfArchive contained 163126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfInstitution /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfInstitution contained 164126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfPerson /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfPerson contained 165126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfSeries /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfSeries contained 166126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfWork /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfWork contained 167126bdeeaSBram Moolenaarsyntax match redifFieldHasChapter /^HasChapter:/ skipwhite skipempty nextgroup=redifArgumentHasChapter contained 168126bdeeaSBram Moolenaarsyntax match redifFieldHomepage /^Homepage:/ skipwhite skipempty nextgroup=redifArgumentHomepage contained 169126bdeeaSBram Moolenaarsyntax match redifFieldInBook /^In-Book:/ skipwhite skipempty nextgroup=redifArgumentInBook contained 170126bdeeaSBram Moolenaarsyntax match redifFieldISBN /^ISBN:/ skipwhite skipempty nextgroup=redifArgumentISBN contained 171126bdeeaSBram Moolenaarsyntax match redifFieldISSN /^ISSN:/ skipwhite skipempty nextgroup=redifArgumentISSN contained 172126bdeeaSBram Moolenaarsyntax match redifFieldIssue /^Issue:/ skipwhite skipempty nextgroup=redifArgumentIssue contained 173126bdeeaSBram Moolenaarsyntax match redifFieldJournal /^Journal:/ skipwhite skipempty nextgroup=redifArgumentJournal contained 174126bdeeaSBram Moolenaarsyntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained 175126bdeeaSBram Moolenaarsyntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained 176126bdeeaSBram Moolenaarsyntax match redifFieldLanguage /^Language:/ skipwhite skipempty nextgroup=redifArgumentLanguage contained 177126bdeeaSBram Moolenaarsyntax match redifFieldLastLoginDate /^Last-Login-Date:/ skipwhite skipempty nextgroup=redifArgumentLastLoginDate contained 178126bdeeaSBram Moolenaarsyntax match redifFieldLength /^Length:/ skipwhite skipempty nextgroup=redifArgumentLength contained 179126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerEmail /^Maintainer-Email:/ skipwhite skipempty nextgroup=redifArgumentMaintainerEmail contained 180126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerFax /^Maintainer-Fax:/ skipwhite skipempty nextgroup=redifArgumentMaintainerFax contained 181126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerName /^Maintainer-Name:/ skipwhite skipempty nextgroup=redifArgumentMaintainerName contained 182126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerPhone /^Maintainer-Phone:/ skipwhite skipempty nextgroup=redifArgumentMaintainerPhone contained 183126bdeeaSBram Moolenaarsyntax match redifFieldMonth /^Month:/ skipwhite skipempty nextgroup=redifArgumentMonth contained 184126bdeeaSBram Moolenaarsyntax match redifFieldNameASCII /^Name-ASCII:/ skipwhite skipempty nextgroup=redifArgumentNameASCII contained 185126bdeeaSBram Moolenaarsyntax match redifFieldNameFirst /^Name-First:/ skipwhite skipempty nextgroup=redifArgumentNameFirst contained 186126bdeeaSBram Moolenaarsyntax match redifFieldNameFull /^Name-Full:/ skipwhite skipempty nextgroup=redifArgumentNameFull contained 187126bdeeaSBram Moolenaarsyntax match redifFieldNameLast /^Name-Last:/ skipwhite skipempty nextgroup=redifArgumentNameLast contained 188126bdeeaSBram Moolenaarsyntax match redifFieldNameMiddle /^Name-Middle:/ skipwhite skipempty nextgroup=redifArgumentNameMiddle contained 189126bdeeaSBram Moolenaarsyntax match redifFieldNamePrefix /^Name-Prefix:/ skipwhite skipempty nextgroup=redifArgumentNamePrefix contained 190126bdeeaSBram Moolenaarsyntax match redifFieldNameSuffix /^Name-Suffix:/ skipwhite skipempty nextgroup=redifArgumentNameSuffix contained 191126bdeeaSBram Moolenaarsyntax match redifFieldName /^Name:/ skipwhite skipempty nextgroup=redifArgumentName contained 192126bdeeaSBram Moolenaarsyntax match redifFieldNote /^Note:/ skipwhite skipempty nextgroup=redifArgumentNote contained 193126bdeeaSBram Moolenaarsyntax match redifFieldNotification /^Notification:/ skipwhite skipempty nextgroup=redifArgumentNotification contained 194126bdeeaSBram Moolenaarsyntax match redifFieldNumber /^Number:/ skipwhite skipempty nextgroup=redifArgumentNumber contained 195126bdeeaSBram Moolenaarsyntax match redifFieldOrderEmail /^Order-Email:/ skipwhite skipempty nextgroup=redifArgumentOrderEmail contained 196126bdeeaSBram Moolenaarsyntax match redifFieldOrderHomepage /^Order-Homepage:/ skipwhite skipempty nextgroup=redifArgumentOrderHomepage contained 197126bdeeaSBram Moolenaarsyntax match redifFieldOrderPostal /^Order-Postal:/ skipwhite skipempty nextgroup=redifArgumentOrderPostal contained 198126bdeeaSBram Moolenaarsyntax match redifFieldOrderURL /^Order-URL:/ skipwhite skipempty nextgroup=redifArgumentOrderURL contained 199126bdeeaSBram Moolenaarsyntax match redifFieldPages /^Pages:/ skipwhite skipempty nextgroup=redifArgumentPages contained 200126bdeeaSBram Moolenaarsyntax match redifFieldPaperHandle /^Paper-Handle:/ skipwhite skipempty nextgroup=redifArgumentPaperHandle contained 201126bdeeaSBram Moolenaarsyntax match redifFieldPhone /^Phone:/ skipwhite skipempty nextgroup=redifArgumentPhone contained 202126bdeeaSBram Moolenaarsyntax match redifFieldPostal /^Postal:/ skipwhite skipempty nextgroup=redifArgumentPostal contained 203126bdeeaSBram Moolenaarsyntax match redifFieldPredecessor /^Predecessor:/ skipwhite skipempty nextgroup=redifArgumentPredecessor contained 204126bdeeaSBram Moolenaarsyntax match redifFieldPrice /^Price:/ skipwhite skipempty nextgroup=redifArgumentPrice contained 205126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryDefunct /^Primary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentPrimaryDefunct contained 206126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryEmail /^Primary-Email:/ skipwhite skipempty nextgroup=redifArgumentPrimaryEmail contained 207126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryFax /^Primary-Fax:/ skipwhite skipempty nextgroup=redifArgumentPrimaryFax contained 208126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryHomepage /^Primary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPrimaryHomepage contained 209126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryInstitution /^Primary-Institution:/ skipwhite skipempty nextgroup=redifArgumentPrimaryInstitution contained 210126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryLocation /^Primary-Location:/ skipwhite skipempty nextgroup=redifArgumentPrimaryLocation contained 211126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryName /^Primary-Name:/ skipwhite skipempty nextgroup=redifArgumentPrimaryName contained 212126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryNameEnglish /^Primary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPrimaryNameEnglish contained 213126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryPhone /^Primary-Phone:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPhone contained 214126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryPostal /^Primary-Postal:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPostal contained 215126bdeeaSBram Moolenaarsyntax match redifFieldProgrammingLanguage /^Programming-Language:/ skipwhite skipempty nextgroup=redifArgumentProgrammingLanguage contained 216126bdeeaSBram Moolenaarsyntax match redifFieldProviderEmail /^Provider-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained 217126bdeeaSBram Moolenaarsyntax match redifFieldProviderFax /^Provider-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained 218126bdeeaSBram Moolenaarsyntax match redifFieldProviderHomepage /^Provider-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained 219126bdeeaSBram Moolenaarsyntax match redifFieldProviderInstitution /^Provider-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained 220126bdeeaSBram Moolenaarsyntax match redifFieldProviderLocation /^Provider-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained 221126bdeeaSBram Moolenaarsyntax match redifFieldProviderName /^Provider-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained 222126bdeeaSBram Moolenaarsyntax match redifFieldProviderNameEnglish /^Provider-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained 223126bdeeaSBram Moolenaarsyntax match redifFieldProviderPhone /^Provider-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained 224126bdeeaSBram Moolenaarsyntax match redifFieldProviderPostal /^Provider-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained 225126bdeeaSBram Moolenaarsyntax match redifFieldPublicationDate /^Publication-Date:/ skipwhite skipempty nextgroup=redifArgumentPublicationDate contained 226126bdeeaSBram Moolenaarsyntax match redifFieldPublicationStatus /^Publication-Status:/ skipwhite skipempty nextgroup=redifArgumentPublicationStatus contained 227126bdeeaSBram Moolenaarsyntax match redifFieldPublicationType /^Publication-Type:/ skipwhite skipempty nextgroup=redifArgumentPublicationType contained 228126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryEmail /^Quaternary-Email:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryEmail contained 229126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryFax /^Quaternary-Fax:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryFax contained 230126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryHomepage /^Quaternary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryHomepage contained 231126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryInstitution /^Quaternary-Institution:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryInstitution contained 232126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryLocation /^Quaternary-Location:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryLocation contained 233126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryName /^Quaternary-Name:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryName contained 234126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryNameEnglish /^Quaternary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryNameEnglish contained 235126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryPhone /^Quaternary-Phone:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPhone contained 236126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryPostal /^Quaternary-Postal:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPostal contained 237126bdeeaSBram Moolenaarsyntax match redifFieldRegisteredDate /^Registered-Date:/ skipwhite skipempty nextgroup=redifArgumentRegisteredDate contained 238126bdeeaSBram Moolenaarsyntax match redifFieldRequires /^Requires:/ skipwhite skipempty nextgroup=redifArgumentRequires contained 239126bdeeaSBram Moolenaarsyntax match redifFieldRestriction /^Restriction:/ skipwhite skipempty nextgroup=redifArgumentRestriction contained 240126bdeeaSBram Moolenaarsyntax match redifFieldRevisionDate /^Revision-Date:/ skipwhite skipempty nextgroup=redifArgumentRevisionDate contained 241126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryDefunct /^Secondary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentSecondaryDefunct contained 242126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryEmail /^Secondary-Email:/ skipwhite skipempty nextgroup=redifArgumentSecondaryEmail contained 243126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryFax /^Secondary-Fax:/ skipwhite skipempty nextgroup=redifArgumentSecondaryFax contained 244126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryHomepage /^Secondary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentSecondaryHomepage contained 245126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryInstitution /^Secondary-Institution:/ skipwhite skipempty nextgroup=redifArgumentSecondaryInstitution contained 246126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryLocation /^Secondary-Location:/ skipwhite skipempty nextgroup=redifArgumentSecondaryLocation contained 247126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryName /^Secondary-Name:/ skipwhite skipempty nextgroup=redifArgumentSecondaryName contained 248126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryNameEnglish /^Secondary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentSecondaryNameEnglish contained 249126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryPhone /^Secondary-Phone:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPhone contained 250126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryPostal /^Secondary-Postal:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPostal contained 251126bdeeaSBram Moolenaarsyntax match redifFieldSeries /^Series:/ skipwhite skipempty nextgroup=redifArgumentSeries contained 252126bdeeaSBram Moolenaarsyntax match redifFieldShortId /^Short-Id:/ skipwhite skipempty nextgroup=redifArgumentShortId contained 253126bdeeaSBram Moolenaarsyntax match redifFieldSize /^Size:/ skipwhite skipempty nextgroup=redifArgumentSize contained 254126bdeeaSBram Moolenaarsyntax match redifFieldSoftwareHandle /^Software-Handle:/ skipwhite skipempty nextgroup=redifArgumentSoftwareHandle contained 255126bdeeaSBram Moolenaarsyntax match redifFieldTemplateType /^Template-Type:/ skipwhite skipempty nextgroup=redifArgumentTemplateType contained 256126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryDefunct /^Tertiary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentTertiaryDefunct contained 257126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryEmail /^Tertiary-Email:/ skipwhite skipempty nextgroup=redifArgumentTertiaryEmail contained 258126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryFax /^Tertiary-Fax:/ skipwhite skipempty nextgroup=redifArgumentTertiaryFax contained 259126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryHomepage /^Tertiary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentTertiaryHomepage contained 260126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryInstitution /^Tertiary-Institution:/ skipwhite skipempty nextgroup=redifArgumentTertiaryInstitution contained 261126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryLocation /^Tertiary-Location:/ skipwhite skipempty nextgroup=redifArgumentTertiaryLocation contained 262126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryName /^Tertiary-Name:/ skipwhite skipempty nextgroup=redifArgumentTertiaryName contained 263126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryNameEnglish /^Tertiary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentTertiaryNameEnglish contained 264126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryPhone /^Tertiary-Phone:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPhone contained 265126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryPostal /^Tertiary-Postal:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPostal contained 266126bdeeaSBram Moolenaarsyntax match redifFieldTitle /^Title:/ skipwhite skipempty nextgroup=redifArgumentTitle contained 267126bdeeaSBram Moolenaarsyntax match redifFieldType /^Type:/ skipwhite skipempty nextgroup=redifArgumentType contained 268126bdeeaSBram Moolenaarsyntax match redifFieldURL /^URL:/ skipwhite skipempty nextgroup=redifArgumentURL contained 269126bdeeaSBram Moolenaarsyntax match redifFieldVersion /^Version:/ skipwhite skipempty nextgroup=redifArgumentVersion contained 270126bdeeaSBram Moolenaarsyntax match redifFieldVolume /^Volume:/ skipwhite skipempty nextgroup=redifArgumentVolume contained 271126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceEmail /^Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceEmail contained 272126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceFax /^Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceFax contained 273126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceHomepage /^Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceHomepage contained 274126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceInstitution /^Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceInstitution contained 275126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceLocation /^Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceLocation contained 276126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceName /^Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceName contained 277126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceNameEnglish /^Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceNameEnglish contained 278126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceOrganization /^Workplace-Organization:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceOrganization contained 279126bdeeaSBram Moolenaarsyntax match redifFieldWorkplacePhone /^Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePhone contained 280126bdeeaSBram Moolenaarsyntax match redifFieldWorkplacePostal /^Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePostal contained 281126bdeeaSBram Moolenaarsyntax match redifFieldYear /^Year:/ skipwhite skipempty nextgroup=redifArgumentYear contained 282126bdeeaSBram Moolenaar 283126bdeeaSBram Moolenaarhighlight def link redifFieldAbstract redifField 284126bdeeaSBram Moolenaarhighlight def link redifFieldArticleHandle redifField 285126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorArticle redifField 286126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorBook redifField 287126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorChapter redifField 288126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorEmail redifField 289126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorFax redifField 290126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorHomepage redifField 291126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorName redifField 292126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorNameFirst redifField 293126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorNameLast redifField 294126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPaper redifField 295126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPerson redifField 296126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPhone redifField 297126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPostal redifField 298126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorSoftware redifField 299126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceEmail redifField 300126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceFax redifField 301126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceHomepage redifField 302126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceInstitution redifField 303126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceLocation redifField 304126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceName redifField 305126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceNameEnglish redifField 306126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplacePhone redifField 307126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplacePostal redifField 308126bdeeaSBram Moolenaarhighlight def link redifFieldAvailability redifField 309126bdeeaSBram Moolenaarhighlight def link redifFieldBookHandle redifField 310126bdeeaSBram Moolenaarhighlight def link redifFieldBookTitle redifField 311126bdeeaSBram Moolenaarhighlight def link redifFieldChapterHandle redifField 312126bdeeaSBram Moolenaarhighlight def link redifFieldChapter redifField 313126bdeeaSBram Moolenaarhighlight def link redifFieldClassificationJEL redifField 314126bdeeaSBram Moolenaarhighlight def link redifFieldContactEmail redifField 315126bdeeaSBram Moolenaarhighlight def link redifFieldCreationDate redifField 316126bdeeaSBram Moolenaarhighlight def link redifFieldDescription redifField 317126bdeeaSBram Moolenaarhighlight def link redifFieldEdition redifField 318126bdeeaSBram Moolenaarhighlight def link redifFieldEditorBook redifField 319126bdeeaSBram Moolenaarhighlight def link redifFieldEditorEmail redifField 320126bdeeaSBram Moolenaarhighlight def link redifFieldEditorFax redifField 321126bdeeaSBram Moolenaarhighlight def link redifFieldEditorHomepage redifField 322126bdeeaSBram Moolenaarhighlight def link redifFieldEditorName redifField 323126bdeeaSBram Moolenaarhighlight def link redifFieldEditorNameFirst redifField 324126bdeeaSBram Moolenaarhighlight def link redifFieldEditorNameLast redifField 325126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPerson redifField 326126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPhone redifField 327126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPostal redifField 328126bdeeaSBram Moolenaarhighlight def link redifFieldEditorSeries redifField 329126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceEmail redifField 330126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceFax redifField 331126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceHomepage redifField 332126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceInstitution redifField 333126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceLocation redifField 334126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceName redifField 335126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceNameEnglish redifField 336126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplacePhone redifField 337126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplacePostal redifField 338126bdeeaSBram Moolenaarhighlight def link redifFieldEmail redifField 339126bdeeaSBram Moolenaarhighlight def link redifFieldFax redifField 340126bdeeaSBram Moolenaarhighlight def link redifFieldFileFormat redifField 341126bdeeaSBram Moolenaarhighlight def link redifFieldFileFunction redifField 342126bdeeaSBram Moolenaarhighlight def link redifFieldFileRestriction redifField 343126bdeeaSBram Moolenaarhighlight def link redifFieldFileSize redifField 344126bdeeaSBram Moolenaarhighlight def link redifFieldFileURL redifField 345126bdeeaSBram Moolenaarhighlight def link redifFieldFollowup redifField 346126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfArchive redifField 347126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfInstitution redifField 348126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfPerson redifField 349126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfSeries redifField 350126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfWork redifField 351126bdeeaSBram Moolenaarhighlight def link redifFieldHasChapter redifField 352126bdeeaSBram Moolenaarhighlight def link redifFieldHomepage redifField 353126bdeeaSBram Moolenaarhighlight def link redifFieldInBook redifField 354126bdeeaSBram Moolenaarhighlight def link redifFieldISBN redifField 355126bdeeaSBram Moolenaarhighlight def link redifFieldISSN redifField 356126bdeeaSBram Moolenaarhighlight def link redifFieldIssue redifField 357126bdeeaSBram Moolenaarhighlight def link redifFieldJournal redifField 358126bdeeaSBram Moolenaarhighlight def link redifFieldKeywords redifField 359126bdeeaSBram Moolenaarhighlight def link redifFieldKeywords redifField 360126bdeeaSBram Moolenaarhighlight def link redifFieldLanguage redifField 361126bdeeaSBram Moolenaarhighlight def link redifFieldLastLoginDate redifField 362126bdeeaSBram Moolenaarhighlight def link redifFieldLength redifField 363126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerEmail redifField 364126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerFax redifField 365126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerName redifField 366126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerPhone redifField 367126bdeeaSBram Moolenaarhighlight def link redifFieldMonth redifField 368126bdeeaSBram Moolenaarhighlight def link redifFieldNameASCII redifField 369126bdeeaSBram Moolenaarhighlight def link redifFieldNameFirst redifField 370126bdeeaSBram Moolenaarhighlight def link redifFieldNameFull redifField 371126bdeeaSBram Moolenaarhighlight def link redifFieldNameLast redifField 372126bdeeaSBram Moolenaarhighlight def link redifFieldNameMiddle redifField 373126bdeeaSBram Moolenaarhighlight def link redifFieldNamePrefix redifField 374126bdeeaSBram Moolenaarhighlight def link redifFieldNameSuffix redifField 375126bdeeaSBram Moolenaarhighlight def link redifFieldName redifField 376126bdeeaSBram Moolenaarhighlight def link redifFieldNote redifField 377126bdeeaSBram Moolenaarhighlight def link redifFieldNotification redifField 378126bdeeaSBram Moolenaarhighlight def link redifFieldNumber redifField 379126bdeeaSBram Moolenaarhighlight def link redifFieldOrderEmail redifField 380126bdeeaSBram Moolenaarhighlight def link redifFieldOrderHomepage redifField 381126bdeeaSBram Moolenaarhighlight def link redifFieldOrderPostal redifField 382126bdeeaSBram Moolenaarhighlight def link redifFieldOrderURL redifField 383126bdeeaSBram Moolenaarhighlight def link redifFieldPages redifField 384126bdeeaSBram Moolenaarhighlight def link redifFieldPaperHandle redifField 385126bdeeaSBram Moolenaarhighlight def link redifFieldPhone redifField 386126bdeeaSBram Moolenaarhighlight def link redifFieldPostal redifField 387126bdeeaSBram Moolenaarhighlight def link redifFieldPredecessor redifField 388126bdeeaSBram Moolenaarhighlight def link redifFieldPrice redifField 389126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryDefunct redifField 390126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryEmail redifField 391126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryFax redifField 392126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryHomepage redifField 393126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryInstitution redifField 394126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryLocation redifField 395126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryName redifField 396126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryNameEnglish redifField 397126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryPhone redifField 398126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryPostal redifField 399126bdeeaSBram Moolenaarhighlight def link redifFieldProgrammingLanguage redifField 400126bdeeaSBram Moolenaarhighlight def link redifFieldProviderEmail redifField 401126bdeeaSBram Moolenaarhighlight def link redifFieldProviderFax redifField 402126bdeeaSBram Moolenaarhighlight def link redifFieldProviderHomepage redifField 403126bdeeaSBram Moolenaarhighlight def link redifFieldProviderInstitution redifField 404126bdeeaSBram Moolenaarhighlight def link redifFieldProviderLocation redifField 405126bdeeaSBram Moolenaarhighlight def link redifFieldProviderName redifField 406126bdeeaSBram Moolenaarhighlight def link redifFieldProviderNameEnglish redifField 407126bdeeaSBram Moolenaarhighlight def link redifFieldProviderPhone redifField 408126bdeeaSBram Moolenaarhighlight def link redifFieldProviderPostal redifField 409126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationDate redifField 410126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationStatus redifField 411126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationType redifField 412126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryEmail redifField 413126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryFax redifField 414126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryHomepage redifField 415126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryInstitution redifField 416126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryLocation redifField 417126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryName redifField 418126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryNameEnglish redifField 419126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryPhone redifField 420126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryPostal redifField 421126bdeeaSBram Moolenaarhighlight def link redifFieldRegisteredDate redifField 422126bdeeaSBram Moolenaarhighlight def link redifFieldRequires redifField 423126bdeeaSBram Moolenaarhighlight def link redifFieldRestriction redifField 424126bdeeaSBram Moolenaarhighlight def link redifFieldRevisionDate redifField 425126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryDefunct redifField 426126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryEmail redifField 427126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryFax redifField 428126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryHomepage redifField 429126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryInstitution redifField 430126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryLocation redifField 431126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryName redifField 432126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryNameEnglish redifField 433126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryPhone redifField 434126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryPostal redifField 435126bdeeaSBram Moolenaarhighlight def link redifFieldSeries redifField 436126bdeeaSBram Moolenaarhighlight def link redifFieldShortId redifField 437126bdeeaSBram Moolenaarhighlight def link redifFieldSize redifField 438126bdeeaSBram Moolenaarhighlight def link redifFieldSoftwareHandle redifField 439126bdeeaSBram Moolenaarhighlight def link redifFieldTemplateType redifField 440126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryDefunct redifField 441126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryEmail redifField 442126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryFax redifField 443126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryHomepage redifField 444126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryInstitution redifField 445126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryLocation redifField 446126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryName redifField 447126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryNameEnglish redifField 448126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryPhone redifField 449126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryPostal redifField 450126bdeeaSBram Moolenaarhighlight def link redifFieldTitle redifField 451126bdeeaSBram Moolenaarhighlight def link redifFieldTitle redifField 452126bdeeaSBram Moolenaarhighlight def link redifFieldType redifField 453126bdeeaSBram Moolenaarhighlight def link redifFieldURL redifField 454126bdeeaSBram Moolenaarhighlight def link redifFieldVersion redifField 455126bdeeaSBram Moolenaarhighlight def link redifFieldVolume redifField 456126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceEmail redifField 457126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceFax redifField 458126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceHomepage redifField 459126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceInstitution redifField 460126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceLocation redifField 461126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceName redifField 462126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceNameEnglish redifField 463126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceOrganization redifField 464126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplacePhone redifField 465126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplacePostal redifField 466126bdeeaSBram Moolenaarhighlight def link redifFieldYear redifField 467126bdeeaSBram Moolenaar 4680187ca0bSBram Moolenaar" Deprecated 4690187ca0bSBram Moolenaar" same as Provider-* 4700187ca0bSBram Moolenaar" nextgroup=redifArgumentProvider* 4710187ca0bSBram Moolenaarsyntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained 4720187ca0bSBram Moolenaarsyntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained 4730187ca0bSBram Moolenaarsyntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained 4740187ca0bSBram Moolenaarsyntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained 4750187ca0bSBram Moolenaarsyntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained 4760187ca0bSBram Moolenaarsyntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained 4770187ca0bSBram Moolenaarsyntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained 4780187ca0bSBram Moolenaarsyntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained 4790187ca0bSBram Moolenaarsyntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained 4800187ca0bSBram Moolenaar 4810187ca0bSBram Moolenaarhighlight def link redifFieldPublisherEmail redifFieldDeprecated 4820187ca0bSBram Moolenaarhighlight def link redifFieldPublisherFax redifFieldDeprecated 4830187ca0bSBram Moolenaarhighlight def link redifFieldPublisherHomepage redifFieldDeprecated 4840187ca0bSBram Moolenaarhighlight def link redifFieldPublisherInstitution redifFieldDeprecated 4850187ca0bSBram Moolenaarhighlight def link redifFieldPublisherLocation redifFieldDeprecated 4860187ca0bSBram Moolenaarhighlight def link redifFieldPublisherName redifFieldDeprecated 4870187ca0bSBram Moolenaarhighlight def link redifFieldPublisherNameEnglish redifFieldDeprecated 4880187ca0bSBram Moolenaarhighlight def link redifFieldPublisherPhone redifFieldDeprecated 4890187ca0bSBram Moolenaarhighlight def link redifFieldPublisherPostal redifFieldDeprecated 4900187ca0bSBram Moolenaar 491126bdeeaSBram Moolenaar" Standard arguments 4920187ca0bSBram Moolenaar" By default, they contain all the argument until another field is started: 4930187ca0bSBram Moolenaar" start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 4940187ca0bSBram Moolenaar" For arguments that must not span more than one line, use a match: 495126bdeeaSBram Moolenaar" /\%(^\S\{-}:\)\@!\S.*/ 4960187ca0bSBram Moolenaar" AND ADD "display" 4970187ca0bSBram Moolenaar" This is faster. 4980187ca0bSBram Moolenaar" 4990187ca0bSBram Moolenaar" Those arguments are not highlighted so far. They are here for future 5000187ca0bSBram Moolenaar" extensions. 501126bdeeaSBram Moolenaar" TODO Find more RegEx for these arguments 502126bdeeaSBram Moolenaar" TODO Fax, Phone 503126bdeeaSBram Moolenaar" TODO URL, Homepage 504126bdeeaSBram Moolenaar" TODO Keywords 505126bdeeaSBram Moolenaar" TODO Classification-JEL 506126bdeeaSBram Moolenaar" TODO Short-Id, Author-Person, Editor-Person 5070187ca0bSBram Moolenaar" 5080187ca0bSBram Moolenaar" Arguments that may span several lines: 5090187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5100187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5110187ca0bSBram Moolenaarsyntax region redifArgumentEditorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5120187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5130187ca0bSBram Moolenaarsyntax region redifArgumentFileFunction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5140187ca0bSBram Moolenaarsyntax region redifArgumentIssue start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5150187ca0bSBram Moolenaarsyntax region redifArgumentJournal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5160187ca0bSBram Moolenaarsyntax region redifArgumentOrderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5170187ca0bSBram Moolenaarsyntax region redifArgumentPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5180187ca0bSBram Moolenaarsyntax region redifArgumentPrice start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5190187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5200187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5210187ca0bSBram Moolenaarsyntax region redifArgumentProviderLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5220187ca0bSBram Moolenaarsyntax region redifArgumentProviderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5230187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5240187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5250187ca0bSBram Moolenaarsyntax region redifArgumentRequires start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5260187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5270187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5280187ca0bSBram Moolenaarsyntax region redifArgumentSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5290187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5300187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5310187ca0bSBram Moolenaarsyntax region redifArgumentVersion start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5320187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5330187ca0bSBram Moolenaarsyntax region redifArgumentWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5340187ca0bSBram Moolenaarsyntax region redifArgumentWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5350187ca0bSBram Moolenaar 5360187ca0bSBram Moolenaar" Arguments that may not span several lines: 5370187ca0bSBram Moolenaar" If you are sure that these arguments cannot span several lines, change 5380187ca0bSBram Moolenaar" them to a match: 5390187ca0bSBram Moolenaar" /\%(^\S\{-}:\)\@!\S.*/ 5400187ca0bSBram Moolenaar" AND ADD "display" after "contained" 5410187ca0bSBram Moolenaar" You can use this command on each line that you want to change: 5420187ca0bSBram Moolenaar" :s+\Vregion \(\w\+\) start=/\\%(^\\S\\{-}:\\)\\@!\\S/ end=/^\\S\\{-}:/me=s-1 contained+match \1 /\\%(^\\S\\{-}:\\)\\@!\\S.*/ contained display 5430187ca0bSBram Moolenaarsyntax region redifArgumentAuthorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5440187ca0bSBram Moolenaarsyntax region redifArgumentAuthorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5450187ca0bSBram Moolenaarsyntax region redifArgumentAuthorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5460187ca0bSBram Moolenaarsyntax region redifArgumentAuthorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5470187ca0bSBram Moolenaarsyntax region redifArgumentAuthorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5480187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5490187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5500187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5510187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5520187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5530187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5540187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5550187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5560187ca0bSBram Moolenaarsyntax region redifArgumentEditorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5570187ca0bSBram Moolenaarsyntax region redifArgumentEditorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5580187ca0bSBram Moolenaarsyntax region redifArgumentEditorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5590187ca0bSBram Moolenaarsyntax region redifArgumentEditorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5600187ca0bSBram Moolenaarsyntax region redifArgumentEditorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5610187ca0bSBram Moolenaarsyntax region redifArgumentEditorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5620187ca0bSBram Moolenaarsyntax region redifArgumentEditorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5630187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5640187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5650187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5660187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5670187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5680187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5690187ca0bSBram Moolenaarsyntax region redifArgumentFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5700187ca0bSBram Moolenaarsyntax region redifArgumentFileURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5710187ca0bSBram Moolenaarsyntax region redifArgumentHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5720187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5730187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5740187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5750187ca0bSBram Moolenaarsyntax region redifArgumentNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5760187ca0bSBram Moolenaarsyntax region redifArgumentNameFull start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5770187ca0bSBram Moolenaarsyntax region redifArgumentNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5780187ca0bSBram Moolenaarsyntax region redifArgumentNameMiddle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5790187ca0bSBram Moolenaarsyntax region redifArgumentNamePrefix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5800187ca0bSBram Moolenaarsyntax region redifArgumentNameSuffix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5810187ca0bSBram Moolenaarsyntax region redifArgumentName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 582ff034194SBram Moolenaarsyntax region redifArgumentNumber start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5830187ca0bSBram Moolenaarsyntax region redifArgumentOrderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5840187ca0bSBram Moolenaarsyntax region redifArgumentOrderURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5850187ca0bSBram Moolenaarsyntax region redifArgumentPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5860187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5870187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5880187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5890187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5900187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5910187ca0bSBram Moolenaarsyntax region redifArgumentProviderFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5920187ca0bSBram Moolenaarsyntax region redifArgumentProviderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5930187ca0bSBram Moolenaarsyntax region redifArgumentProviderName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5940187ca0bSBram Moolenaarsyntax region redifArgumentProviderNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5950187ca0bSBram Moolenaarsyntax region redifArgumentProviderPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5960187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5970187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5980187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 5990187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6000187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6010187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6020187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6030187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6040187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6050187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6060187ca0bSBram Moolenaarsyntax region redifArgumentSeries start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6070187ca0bSBram Moolenaarsyntax region redifArgumentShortId start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6080187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6090187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6100187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6110187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6120187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6130187ca0bSBram Moolenaarsyntax region redifArgumentURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6140187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6150187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6160187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6170187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 6180187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceOrganization start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained 619126bdeeaSBram Moolenaar 620126bdeeaSBram Moolenaar" Special arguments 621126bdeeaSBram Moolenaar" Those arguments require special values 622126bdeeaSBram Moolenaar" TODO Improve some RegEx 623126bdeeaSBram Moolenaar" TODO Improve Emails 624126bdeeaSBram Moolenaar" TODO Improve ISBN 625126bdeeaSBram Moolenaar" TODO Improve ISSN 626126bdeeaSBram Moolenaar" TODO Improve spell check (add words from economics. 627126bdeeaSBram Moolenaar" expl=macroeconometrics, Schumpeterian, IS-LM, etc.) 628126bdeeaSBram Moolenaar" 629126bdeeaSBram Moolenaar" Template-Type 630126bdeeaSBram Moolenaarsyntax match redifArgumentTemplateType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectTemplateType contained display 6310187ca0bSBram Moolenaarsyntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumberContainer contained display 6320187ca0bSBram Moolenaarsyntax match redifTemplateVersionNumberContainer /.\+/ contains=redifTemplateVersionNumber contained display 6330187ca0bSBram Moolenaarsyntax match redifTemplateVersionNumber / \d\+\.\d\+/ nextgroup=redifWrongLineEnding contained display 634126bdeeaSBram Moolenaar 635126bdeeaSBram Moolenaarhighlight def link redifArgumentTemplateType redifError 636126bdeeaSBram Moolenaarhighlight def link redifCorrectTemplateType Constant 637126bdeeaSBram Moolenaarhighlight def link redifTemplateVersionNumber Number 6380187ca0bSBram Moolenaarhighlight def link redifTemplateVersionNumberContainer redifError 639126bdeeaSBram Moolenaar 640126bdeeaSBram Moolenaar" Handles: 641126bdeeaSBram Moolenaar" 642126bdeeaSBram Moolenaar" Handles of Works: 643126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfWork /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 644126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorArticle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 645126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 646126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 647126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorPaper /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 648126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorSoftware /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 649126bdeeaSBram Moolenaarsyntax match redifArgumentEditorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 650126bdeeaSBram Moolenaarsyntax match redifArgumentEditorSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 651126bdeeaSBram Moolenaarsyntax match redifArgumentInBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 652126bdeeaSBram Moolenaarsyntax match redifArgumentHasChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 653126bdeeaSBram Moolenaarsyntax match redifArgumentArticleHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 654126bdeeaSBram Moolenaarsyntax match redifArgumentBookHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 655126bdeeaSBram Moolenaarsyntax match redifArgumentChapterHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 656126bdeeaSBram Moolenaarsyntax match redifArgumentPaperHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 657126bdeeaSBram Moolenaarsyntax match redifArgumentSoftwareHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 6580187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle nextgroup=redifWrongLineEnding contained display 659126bdeeaSBram Moolenaar" TODO Are those characters really forbidden??? 660126bdeeaSBram Moolenaarsyntax match redifForbiddenCharactersInHandle /[\/*?"<>|]/ contained display 661126bdeeaSBram Moolenaarsyntax match redifBestPracticeInHandle /\<\%([vi]:[1-9]\d*\|y:[1-9]\d\{3}\|p:[1-9]\d*-[1-9]\d*\|i:\%(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\|spr\|sum\|aut\|win\|spe\|Q[1-4]\|\d\d-\d\d\)\|Q:[1-4]\)\>/ contained display 662126bdeeaSBram Moolenaar 663126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfWork redifError 664126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorArticle redifError 665126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorBook redifError 666126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorChapter redifError 667126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorPaper redifError 668126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorSoftware redifError 669126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorBook redifError 670126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorSeries redifError 671126bdeeaSBram Moolenaarhighlight def link redifArgumentInBook redifError 672126bdeeaSBram Moolenaarhighlight def link redifArgumentHasChapter redifError 673126bdeeaSBram Moolenaarhighlight def link redifArgumentArticleHandle redifError 674126bdeeaSBram Moolenaarhighlight def link redifArgumentBookHandle redifError 675126bdeeaSBram Moolenaarhighlight def link redifArgumentChapterHandle redifError 676126bdeeaSBram Moolenaarhighlight def link redifArgumentPaperHandle redifError 677126bdeeaSBram Moolenaarhighlight def link redifArgumentSoftwareHandle redifError 678126bdeeaSBram Moolenaarhighlight def link redifForbiddenCharactersInHandle redifError 679126bdeeaSBram Moolenaarhighlight def link redifBestPracticeInHandle redifSpecial 680126bdeeaSBram Moolenaar 681126bdeeaSBram Moolenaar" Handles of Series: 682126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 683126bdeeaSBram Moolenaarsyntax match redifArgumentFollowup /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 684126bdeeaSBram Moolenaarsyntax match redifArgumentPredecessor /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 6850187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ nextgroup=redifWrongLineEnding contained display 686126bdeeaSBram Moolenaar 687126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfSeries redifError 688126bdeeaSBram Moolenaarhighlight def link redifArgumentFollowup redifError 689126bdeeaSBram Moolenaarhighlight def link redifArgumentPredecessor redifError 690126bdeeaSBram Moolenaar 691126bdeeaSBram Moolenaar" Handles of Archives: 692126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfArchive /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfArchive contained display 6930187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ nextgroup=redifWrongLineEnding contained display 694126bdeeaSBram Moolenaar 695126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfArchive redifError 696126bdeeaSBram Moolenaar 697126bdeeaSBram Moolenaar" Handles of Person: 698126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfPerson /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfPerson contained display 6990187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfPerson /\%(\%(:\@!\S\)\{-}:\)\{2}[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\):\S\+/ nextgroup=redifWrongLineEnding contained display 700126bdeeaSBram Moolenaar 701126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfPerson redifError 702126bdeeaSBram Moolenaar 703126bdeeaSBram Moolenaar" Handles of Institution: 704126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 705126bdeeaSBram Moolenaarsyntax match redifArgumentEditorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 706126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 707126bdeeaSBram Moolenaarsyntax match redifArgumentProviderInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 708126bdeeaSBram Moolenaarsyntax match redifArgumentPublisherInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 709126bdeeaSBram Moolenaarsyntax match redifArgumentQuaternaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 710126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 711126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 712126bdeeaSBram Moolenaarsyntax match redifArgumentWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 713126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 714126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 715126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 716126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 717126bdeeaSBram Moolenaar" TODO Are digits authorized? Apparently not. 718126bdeeaSBram Moolenaar" Country codes: 719126bdeeaSBram Moolenaar" http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm 7200187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfInstitution /RePEc:\a\a\a:\a\{5}\(ea\|af\|ax\|al\|dz\|as\|ad\|ao\|ai\|aq\|ag\|ar\|am\|aw\|au\|at\|az\|bs\|bh\|bd\|bb\|by\|be\|bz\|bj\|bm\|bt\|bo\|bq\|ba\|bw\|bv\|br\|io\|bn\|bg\|bf\|bi\|kh\|cm\|ca\|cv\|ky\|cf\|td\|cl\|cn\|cx\|cc\|co\|km\|cg\|cd\|ck\|cr\|ci\|hr\|cu\|cw\|cy\|cz\|dk\|dj\|dm\|do\|ec\|eg\|sv\|gq\|er\|ee\|et\|fk\|fo\|fj\|fi\|fr\|gf\|pf\|tf\|ga\|gm\|ge\|de\|gh\|gi\|gr\|gl\|gd\|gp\|gu\|gt\|gg\|gn\|gw\|gy\|ht\|hm\|va\|hn\|hk\|hu\|is\|in\|id\|ir\|iq\|ie\|im\|il\|it\|jm\|jp\|je\|jo\|kz\|ke\|ki\|kp\|kr\|kw\|kg\|la\|lv\|lb\|ls\|lr\|ly\|li\|lt\|lu\|mo\|mk\|mg\|mw\|my\|mv\|ml\|mt\|mh\|mq\|mr\|mu\|yt\|mx\|fm\|md\|mc\|mn\|me\|ms\|ma\|mz\|mm\|na\|nr\|np\|nl\|nc\|nz\|ni\|ne\|ng\|nu\|nf\|mp\|no\|om\|pk\|pw\|ps\|pa\|pg\|py\|pe\|ph\|pn\|pl\|pt\|pr\|qa\|re\|ro\|ru\|rw\|bl\|sh\|kn\|lc\|mf\|pm\|vc\|ws\|sm\|st\|sa\|sn\|rs\|sc\|sl\|sg\|sx\|sk\|si\|sb\|so\|za\|gs\|ss\|es\|lk\|sd\|sr\|sj\|sz\|se\|ch\|sy\|tw\|tj\|tz\|th\|tl\|tg\|tk\|to\|tt\|tn\|tr\|tm\|tc\|tv\|ug\|ua\|ae\|gb\|us\|um\|uy\|uz\|vu\|ve\|vn\|vg\|vi\|wf\|eh\|ye\|zm\|zw\)/ nextgroup=redifWrongLineEnding contained display 721126bdeeaSBram Moolenaar 722126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfInstitution redifError 723126bdeeaSBram Moolenaarhighlight def link redifArgumentPrimaryDefunct redifError 724126bdeeaSBram Moolenaarhighlight def link redifArgumentSecondaryDefunct redifError 725126bdeeaSBram Moolenaarhighlight def link redifArgumentTertiaryDefunct redifError 726126bdeeaSBram Moolenaar 727126bdeeaSBram Moolenaar" Emails: 728126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 729126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 730126bdeeaSBram Moolenaarsyntax match redifArgumentContactEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 731126bdeeaSBram Moolenaarsyntax match redifArgumentEditorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 732126bdeeaSBram Moolenaarsyntax match redifArgumentEditorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 733126bdeeaSBram Moolenaarsyntax match redifArgumentEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 734126bdeeaSBram Moolenaarsyntax match redifArgumentMaintainerEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 735126bdeeaSBram Moolenaarsyntax match redifArgumentOrderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 736126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 737126bdeeaSBram Moolenaarsyntax match redifArgumentProviderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 738126bdeeaSBram Moolenaarsyntax match redifArgumentPublisherEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 739126bdeeaSBram Moolenaarsyntax match redifArgumentQuaternaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 740126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 741126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 742126bdeeaSBram Moolenaarsyntax match redifArgumentWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 7430187ca0bSBram Moolenaarsyntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ nextgroup=redifWrongLineEnding contained display 744126bdeeaSBram Moolenaar 745126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorEmail redifError 746126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorWorkplaceEmail redifError 747126bdeeaSBram Moolenaarhighlight def link redifArgumentContactEmail redifError 748126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorEmail redifError 749126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorWorkplaceEmail redifError 750126bdeeaSBram Moolenaarhighlight def link redifArgumentEmail redifError 751126bdeeaSBram Moolenaarhighlight def link redifArgumentMaintainerEmail redifError 752126bdeeaSBram Moolenaarhighlight def link redifArgumentOrderEmail redifError 753126bdeeaSBram Moolenaarhighlight def link redifArgumentPrimaryEmail redifError 754126bdeeaSBram Moolenaarhighlight def link redifArgumentProviderEmail redifError 755126bdeeaSBram Moolenaarhighlight def link redifArgumentPublisherEmail redifError 756126bdeeaSBram Moolenaarhighlight def link redifArgumentQuaternaryEmail redifError 757126bdeeaSBram Moolenaarhighlight def link redifArgumentSecondaryEmail redifError 758126bdeeaSBram Moolenaarhighlight def link redifArgumentTertiaryEmail redifError 759126bdeeaSBram Moolenaarhighlight def link redifArgumentWorkplaceEmail redifError 760126bdeeaSBram Moolenaar 761126bdeeaSBram Moolenaar" Language 762126bdeeaSBram Moolenaar" Source: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 763126bdeeaSBram Moolenaarsyntax match redifArgumentLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectLanguage contained display 7640187ca0bSBram Moolenaarsyntax match redifCorrectLanguage /\<\(aa\|ab\|af\|ak\|als\|am\|an\|ang\|ar\|arc\|as\|ast\|av\|ay\|az\|ba\|bar\|bat-smg\|bcl\|be\|be-x-old\|bg\|bh\|bi\|bm\|bn\|bo\|bpy\|br\|bs\|bug\|bxr\|ca\|ce\|ceb\|ch\|cho\|chr\|chy\|co\|cr\|cs\|csb\|cu\|cv\|cy\|da\|de\|diq\|dsb\|dv\|dz\|ee\|el\|en\|eo\|es\|et\|eu\|ext\|fa\|ff\|fi\|fiu-vro\|fj\|fo\|fr\|frp\|fur\|fy\|ga\|gd\|gil\|gl\|gn\|got\|gu\|gv\|ha\|haw\|he\|hi\|ho\|hr\|ht\|hu\|hy\|hz\|ia\|id\|ie\|ig\|ii\|ik\|ilo\|io\|is\|it\|iu\|ja\|jbo\|jv\|ka\|kg\|ki\|kj\|kk\|kl\|km\|kn\|khw\|ko\|kr\|ks\|ksh\|ku\|kv\|kw\|ky\|la\|lad\|lan\|lb\|lg\|li\|lij\|lmo\|ln\|lo\|lt\|lv\|map-bms\|mg\|mh\|mi\|mk\|ml\|mn\|mo\|mr\|ms\|mt\|mus\|my\|na\|nah\|nap\|nd\|nds\|nds-nl\|ne\|new\|ng\|nl\|nn\|no\|nr\|nso\|nrm\|nv\|ny\|oc\|oj\|om\|or\|os\|pa\|pag\|pam\|pap\|pdc\|pi\|pih\|pl\|pms\|ps\|pt\|qu\|rm\|rmy\|rn\|ro\|roa-rup\|ru\|rw\|sa\|sc\|scn\|sco\|sd\|se\|sg\|sh\|si\|simple\|sk\|sl\|sm\|sn\|so\|sq\|sr\|ss\|st\|su\|sv\|sw\|ta\|te\|tet\|tg\|th\|ti\|tk\|tl\|tlh\|tn\|to\|tpi\|tr\|ts\|tt\|tum\|tw\|ty\|udm\|ug\|uk\|ur\|uz\|ve\|vi\|vec\|vls\|vo\|wa\|war\|wo\|xal\|xh\|yi\|yo\|za\|zh\|zh-min-nan\|zh-yue\|zu\)\>/ nextgroup=redifWrongLineEnding contained display 765126bdeeaSBram Moolenaar 766126bdeeaSBram Moolenaarhighlight def link redifArgumentLanguage redifError 767126bdeeaSBram Moolenaarhighlight def link redifCorrectLanguage redifSpecial 768126bdeeaSBram Moolenaar 769126bdeeaSBram Moolenaar" Length 770126bdeeaSBram Moolenaar" Based on the example in the documentation. But apparently any field is 771126bdeeaSBram Moolenaar" possible 7720187ca0bSBram Moolenaarsyntax region redifArgumentLength start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodLength contained 773126bdeeaSBram Moolenaarsyntax match redifGoodLength /1 page\|[1-9]\d*\%( pages\)\=/ contained display 774126bdeeaSBram Moolenaar 775126bdeeaSBram Moolenaarhighlight def link redifGoodLength redifSpecial 776126bdeeaSBram Moolenaar 777126bdeeaSBram Moolenaar" Publication-Type 778126bdeeaSBram Moolenaarsyntax match redifArgumentPublicationType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationType contained display 7790187ca0bSBram Moolenaarsyntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ nextgroup=redifWrongLineEnding contained display 780126bdeeaSBram Moolenaar 781126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationType redifError 782126bdeeaSBram Moolenaarhighlight def link redifCorrectPublicationType redifSpecial 783126bdeeaSBram Moolenaar 784126bdeeaSBram Moolenaar" Publication-Status 7850187ca0bSBram Moolenaarsyntax region redifArgumentPublicationStatus start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifSpecialPublicationStatus contained 7860187ca0bSBram Moolenaarsyntax match redifSpecialPublicationStatus /published\|forthcoming/ nextgroup=redifCorrectPublicationStatus contained display 7870187ca0bSBram Moolenaarsyntax region redifCorrectPublicationStatus start=/./ end=/^\S\{-}:/me=s-1 contained 788126bdeeaSBram Moolenaar 789126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationStatus redifError 790126bdeeaSBram Moolenaarhighlight def link redifSpecialPublicationStatus redifSpecial 791126bdeeaSBram Moolenaar 792126bdeeaSBram Moolenaar" Month 793126bdeeaSBram Moolenaar" TODO Are numbers also allowed? 794126bdeeaSBram Moolenaarsyntax match redifArgumentMonth /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodMonth contained display 795ff034194SBram Moolenaarsyntax match redifGoodMonth /\<\(Jan\%(uary\)\=\|Feb\%(ruary\)\=\|Mar\%(ch\)\=\|Apr\%(il\)\=\|May\|June\=\|July\=\|Aug\%(ust\)\=\|Sep\%(tember\)\=\|Oct\%(ober\)\=\|Nov\%(ember\)\=\|Dec\%(ember\)\=\)\>/ contained display 796126bdeeaSBram Moolenaar 797126bdeeaSBram Moolenaarhighlight def link redifGoodMonth redifSpecial 798126bdeeaSBram Moolenaar 799ff034194SBram Moolenaar" Integers: Volume, Chapter 800126bdeeaSBram Moolenaarsyntax match redifArgumentVolume /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display 801126bdeeaSBram Moolenaarsyntax match redifArgumentChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display 8020187ca0bSBram Moolenaarsyntax match redifCorrectInteger /[1-9]\d*/ nextgroup=redifWrongLineEnding contained display 803126bdeeaSBram Moolenaar 804126bdeeaSBram Moolenaarhighlight def link redifArgumentVolume redifError 805126bdeeaSBram Moolenaarhighlight def link redifArgumentChapter redifError 806126bdeeaSBram Moolenaar 807126bdeeaSBram Moolenaar" Year 808126bdeeaSBram Moolenaarsyntax match redifArgumentYear /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectYear contained display 8090187ca0bSBram Moolenaarsyntax match redifCorrectYear /[1-9]\d\{3}/ nextgroup=redifWrongLineEnding contained display 810126bdeeaSBram Moolenaar 811126bdeeaSBram Moolenaarhighlight def link redifArgumentYear redifError 812126bdeeaSBram Moolenaar 813126bdeeaSBram Moolenaar" Edition 814126bdeeaSBram Moolenaar" Based on the example in the documentation. 815126bdeeaSBram Moolenaarsyntax match redifArgumentEdition /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodEdition contained display 816ff034194SBram Moolenaarsyntax match redifGoodEdition /1st\|2nd\|3rd\|[4-9]th\|[1-9]\d*\%(1st\|2nd\|3rd\|[4-9]th\)\|[1-9]\d*/ contained display 817126bdeeaSBram Moolenaar 818126bdeeaSBram Moolenaarhighlight def link redifGoodEdition redifSpecial 819126bdeeaSBram Moolenaar 820126bdeeaSBram Moolenaar" ISBN 821126bdeeaSBram Moolenaarsyntax match redifArgumentISBN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISBN contained display 822ff034194SBram Moolenaarsyntax match redifGoodISBN /\d[0-9-]\{8,15}\d/ contained display 823126bdeeaSBram Moolenaar 824126bdeeaSBram Moolenaarhighlight def link redifGoodISBN redifSpecial 825126bdeeaSBram Moolenaar 826126bdeeaSBram Moolenaar" ISSN 827126bdeeaSBram Moolenaarsyntax match redifArgumentISSN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISSN contained display 828ff034194SBram Moolenaarsyntax match redifGoodISSN /\d\{4}-\d\{3}[0-9X]/ contained display 829126bdeeaSBram Moolenaar 830126bdeeaSBram Moolenaarhighlight def link redifGoodISSN redifSpecial 831126bdeeaSBram Moolenaar 832126bdeeaSBram Moolenaar" File-Size 833126bdeeaSBram Moolenaar" Based on the example in the documentation. 8340187ca0bSBram Moolenaarsyntax region redifArgumentFileSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodSize contained 835126bdeeaSBram Moolenaarsyntax match redifGoodSize /kb\|bytes/ contained display 836126bdeeaSBram Moolenaar 837126bdeeaSBram Moolenaarhighlight def link redifGoodSize redifSpecial 838126bdeeaSBram Moolenaar 839126bdeeaSBram Moolenaar" Type 840126bdeeaSBram Moolenaarsyntax match redifArgumentType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectType contained display 8410187ca0bSBram Moolenaarsyntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ nextgroup=redifWrongLineEnding contained display 842126bdeeaSBram Moolenaar 843126bdeeaSBram Moolenaarhighlight def link redifArgumentType redifError 844126bdeeaSBram Moolenaarhighlight def link redifCorrectType redifSpecial 845126bdeeaSBram Moolenaar 846126bdeeaSBram Moolenaar" Dates: Publication-Date, Creation-Date, Revision-Date, 847126bdeeaSBram Moolenaar" Last-Login-Date, Registration-Date 848126bdeeaSBram Moolenaarsyntax match redifArgumentCreationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 849126bdeeaSBram Moolenaarsyntax match redifArgumentLastLoginDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 850126bdeeaSBram Moolenaarsyntax match redifArgumentPublicationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 851126bdeeaSBram Moolenaarsyntax match redifArgumentRegisteredDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 852126bdeeaSBram Moolenaarsyntax match redifArgumentRevisionDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 8530187ca0bSBram Moolenaarsyntax match redifCorrectDate /[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\=\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\=\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\=\)\=/ nextgroup=redifWrongLineEnding contained display 854126bdeeaSBram Moolenaar 855126bdeeaSBram Moolenaarhighlight def link redifArgumentCreationDate redifError 856126bdeeaSBram Moolenaarhighlight def link redifArgumentLastLoginDate redifError 857126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationDate redifError 858126bdeeaSBram Moolenaarhighlight def link redifArgumentRegisteredDate redifError 859126bdeeaSBram Moolenaarhighlight def link redifArgumentRevisionDate redifError 860126bdeeaSBram Moolenaar 861126bdeeaSBram Moolenaar" Classification-JEL 862126bdeeaSBram Moolenaarsyntax match redifArgumentClassificationJEL /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectJEL contained display 863ff034194SBram Moolenaarsyntax match redifCorrectJEL /\<\%(\u\d\{,2}[,; \t]\s*\)*\u\d\{,2}/ contains=redifSpecialJEL nextgroup=redifWrongLineEnding contained display 864126bdeeaSBram Moolenaarsyntax match redifSpecialJEL /\<\u\d\{,2}/ contained display 865126bdeeaSBram Moolenaar 866126bdeeaSBram Moolenaarhighlight def link redifArgumentClassificationJEL redifError 867126bdeeaSBram Moolenaarhighlight def link redifSpecialJEL redifSpecial 868126bdeeaSBram Moolenaar 869126bdeeaSBram Moolenaar" Pages 870126bdeeaSBram Moolenaarsyntax match redifArgumentPages /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPages contained display 8710187ca0bSBram Moolenaarsyntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ nextgroup=redifWrongLineEnding contained display 872126bdeeaSBram Moolenaar 873126bdeeaSBram Moolenaarhighlight def link redifArgumentPages redifError 874126bdeeaSBram Moolenaar 875126bdeeaSBram Moolenaar" Name-ASCII 876126bdeeaSBram Moolenaarsyntax match redifArgumentNameASCII /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectNameASCII contained display 877126bdeeaSBram Moolenaarsyntax match redifCorrectNameASCII /[ -~]/ contained display 878126bdeeaSBram Moolenaar 879126bdeeaSBram Moolenaarhighlight def link redifArgumentNameASCII redifError 880126bdeeaSBram Moolenaar 881126bdeeaSBram Moolenaar" Programming-Language 882126bdeeaSBram Moolenaarsyntax match redifArgumentProgrammingLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodProgrammingLanguage contained display 8830187ca0bSBram Moolenaarsyntax match redifGoodProgrammingLanguage /\<c++\|\<\%(c\|dos executable\|executable\|fortran\|gauss\|gretl\|java\|mathematica\|matlab\|octave\|ox\|perl\|python\|rats\|r\|shazam\|s-plus\|stata\|tsp international\)\>/ nextgroup=redifWrongLineEnding contained display 884126bdeeaSBram Moolenaar 885126bdeeaSBram Moolenaarhighlight def link redifGoodProgrammingLanguage redifSpecial 886126bdeeaSBram Moolenaar 887126bdeeaSBram Moolenaar" File-Format 888126bdeeaSBram Moolenaar" TODO The link in the documentation that gives the list of possible formats is broken. 889126bdeeaSBram Moolenaar" ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types 890126bdeeaSBram Moolenaar" These are based on the examples in the documentation. 891126bdeeaSBram Moolenaarsyntax match redifArgumentFileFormat /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodFormat contained display 8920187ca0bSBram Moolenaarsyntax match redifGoodFormat "\a\+/[[:alpha:]+-]\+" nextgroup=redifWrongLineEnding contains=redifSpecialFormat contained display 8930187ca0bSBram Moolenaarsyntax match redifSpecialFormat "application/atom+xml\|application/ecmascript\|application/EDI-X12\|application/EDIFACT\|application/json\|application/javascript\|application/octet-stream\|application/ogg\|application/pdf\|application/postscript\|application/rdf+xml\|application/rss+xml\|application/soap+xml\|application/font-woff\|application/xhtml+xml\|application/xml\|application/xml-dtd\|application/xop+xml\|application/zip\|application/gzip\|audio/basic\|audio/L24\|audio/mp4\|audio/mpeg\|audio/ogg\|audio/vorbis\|audio/vnd.rn-realaudio\|audio/vnd.wave\|audio/webm\|image/gif\|image/jpeg\|image/pjpeg\|image/png\|image/svg+xml\|image/tiff\|image/vnd.microsoft.icon\|message/http\|message/imdn+xml\|message/partial\|message/rfc822\|model/example\|model/iges\|model/mesh\|model/vrml\|model/x3d+binary\|model/x3d+vrml\|model/x3d+xml\|multipart/mixed\|multipart/alternative\|multipart/related\|multipart/form-data\|multipart/signed\|multipart/encrypted\|text/cmd\|text/css\|text/csv\|text/html\|text/javascript\|text/plain\|text/vcard\|text/xml\|video/mpeg\|video/mp4\|video/ogg\|video/quicktime\|video/webm\|video/x-matroska\|video/x-ms-wmv\|video/x-flv" contained display 894126bdeeaSBram Moolenaar 8950187ca0bSBram Moolenaarhighlight def link redifSpecialFormat redifSpecial 8960187ca0bSBram Moolenaarhighlight def link redifArgumentFileFormat redifError 897126bdeeaSBram Moolenaar 8980187ca0bSBram Moolenaar" Keywords 8990187ca0bSBram Moolenaar" Spell checked 9000187ca0bSBram Moolenaarsyntax match redifArgumentKeywords /\%(^\S\{-}:\)\@!\S.*/ contains=@Spell,redifKeywordsSemicolon contained 9010187ca0bSBram Moolenaarsyntax match redifKeywordsSemicolon /;/ contained 9020187ca0bSBram Moolenaar 9030187ca0bSBram Moolenaarhighlight def link redifKeywordsSemicolon redifSpecial 9040187ca0bSBram Moolenaar 9050187ca0bSBram Moolenaar" Other spell-checked arguments 906126bdeeaSBram Moolenaar" Very useful when copy-pasting abstracts that may contain hyphens or 907126bdeeaSBram Moolenaar" ligatures. 9080187ca0bSBram Moolenaarsyntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9090187ca0bSBram Moolenaarsyntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9100187ca0bSBram Moolenaarsyntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9110187ca0bSBram Moolenaarsyntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9120187ca0bSBram Moolenaarsyntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9130187ca0bSBram Moolenaarsyntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9140187ca0bSBram Moolenaarsyntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9150187ca0bSBram Moolenaarsyntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9160187ca0bSBram Moolenaarsyntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 9170187ca0bSBram Moolenaar 9180187ca0bSBram Moolenaar" Wrong line ending 9190187ca0bSBram Moolenaarsyntax match redifWrongLineEnding /.\+/ contained display 9200187ca0bSBram Moolenaar 9210187ca0bSBram Moolenaarhighlight def link redifWrongLineEnding redifError 922126bdeeaSBram Moolenaar 923126bdeeaSBram Moolenaar" Final highlight 924126bdeeaSBram Moolenaarhighlight def link redifComment Comment 925126bdeeaSBram Moolenaarhighlight def link redifError Error 926126bdeeaSBram Moolenaarhighlight def link redifField Identifier 9270187ca0bSBram Moolenaarhighlight def link redifFieldDeprecated Identifier 928126bdeeaSBram Moolenaarhighlight def link redifSpecial Special 9290187ca0bSBram Moolenaar" For deprecated fields: 9300187ca0bSBram Moolenaarhighlight redifFieldDeprecated term=undercurl cterm=undercurl gui=undercurl guisp=DarkGrey 9310187ca0bSBram Moolenaar 9320187ca0bSBram Moolenaar" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which 9330187ca0bSBram Moolenaar" fields can follow. Thus sync must search backwards for it. 9340187ca0bSBram Moolenaar" 935*6aa57295SBram Moolenaar" I would like to simply ask VIM to search backward for the first occurrence of 9360187ca0bSBram Moolenaar" /^Template-Type:/, but it does not seem to be possible, so I have to start 9370187ca0bSBram Moolenaar" from the beginning of the file... This might slow down a lot for files that 9380187ca0bSBram Moolenaar" contain a lot of Template-Type statements. 9390187ca0bSBram Moolenaarsyntax sync fromstart 9400187ca0bSBram Moolenaar 9410187ca0bSBram Moolenaar" The problem with syntax sync match (tried below), it is that, for example, 9420187ca0bSBram Moolenaar" it cannot realize when it is inside a Author-Name cluster, which is inside a 9430187ca0bSBram Moolenaar" Template-Type template... 9440187ca0bSBram Moolenaar" 9450187ca0bSBram Moolenaar" TODO Is this linecont pattern really useful? It seems to work anyway... 9460187ca0bSBram Moolenaar"syntax sync linecont /^\(Template-Type:\)\=\s*$/ 9470187ca0bSBram Moolenaar" TODO This sync is surprising... It seems to work on several lines even 9480187ca0bSBram Moolenaar" though I replaced \_s* by \s*, even without the linecont pattern... 9490187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplatePaper groupthere redifRegionTemplatePaper /^Template-Type:\s*ReDIF-Paper \d\+\.\d\+/ 9500187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateArticle groupthere redifRegionTemplateArticle /^Template-Type:\s*ReDIF-Article \d\+\.\d\+/ 9510187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateChapter groupthere redifRegionTemplateChapter /^Template-Type:\s*ReDIF-Chapter \d\+\.\d\+/ 9520187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateBook groupthere redifRegionTemplateBook /^Template-Type:\s*ReDIF-Book \d\+\.\d\+/ 9530187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateSoftware groupthere redifRegionTemplateSoftware /^Template-Type:\s*ReDIF-Software \d\+\.\d\+/ 9540187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateArchive groupthere redifRegionTemplateArchive /^Template-Type:\s*ReDIF-Archive \d\+\.\d\+/ 9550187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateSeries groupthere redifRegionTemplateSeries /^Template-Type:\s*ReDIF-Series \d\+\.\d\+/ 9560187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateInstitution groupthere redifRegionTemplateInstitution /^Template-Type:\s*ReDIF-Institution \d\+\.\d\+/ 9570187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplatePerson groupthere redifRegionTemplatePerson /^Template-Type:\s*ReDIF-Person \d\+\.\d\+/ 9580187ca0bSBram Moolenaar 9590187ca0bSBram Moolenaar" I do not really know how sync linebreaks works, but it helps when making 9600187ca0bSBram Moolenaar" changes on the argument when this argument is not on the same line than its 9610187ca0bSBram Moolenaar" field. I just assume that people won't leave more than one line of 9620187ca0bSBram Moolenaar" whitespace between fields and arguments (which is already very unlikely) 9630187ca0bSBram Moolenaar" hence the value of 2. 9640187ca0bSBram Moolenaarsyntax sync linebreaks=2 9650187ca0bSBram Moolenaar 9660187ca0bSBram Moolenaar" Since folding is defined by the syntax, set foldmethod to syntax. 9670187ca0bSBram Moolenaarset foldmethod=syntax 968126bdeeaSBram Moolenaar 969126bdeeaSBram Moolenaar" Set "b:current_syntax" to the name of the syntax at the end: 970126bdeeaSBram Moolenaarlet b:current_syntax="redif" 971