1071d4279SBram Moolenaar" Vim syntax file 2*e0e39175SBram Moolenaar" Language: HMTL Tidy Configuration 39d98fe9cSBram Moolenaar" Maintainer: Doug Kearns <[email protected]> 4*e0e39175SBram Moolenaar" Last Change: 2020 Sep 4 5071d4279SBram Moolenaar 6*e0e39175SBram Moolenaar" Preamble {{{1 79d98fe9cSBram Moolenaarif exists("b:current_syntax") 8071d4279SBram Moolenaar finish 9071d4279SBram Moolenaarendif 10071d4279SBram Moolenaar 1106481427SBram Moolenaarlet s:cpo_save = &cpo 1206481427SBram Moolenaarset cpo&vim 1306481427SBram Moolenaar 1406481427SBram Moolenaarsyn iskeyword @,48-57,-,_ 1506481427SBram Moolenaar 16*e0e39175SBram Moolenaar" Values {{{1 17*e0e39175SBram Moolenaarsyn match tidyWordSeparator contained ",\|\s" nextgroup=tidyWord skipwhite skipnl 18*e0e39175SBram Moolenaarsyn match tidyMuteIDSeparator contained ",\|\s" nextgroup=tidyMuteID skipwhite skipnl 19*e0e39175SBram Moolenaar 2006481427SBram Moolenaarsyn case ignore 2106481427SBram Moolenaarsyn keyword tidyBoolean contained t[rue] f[alse] y[es] n[o] 1 0 2206481427SBram Moolenaarsyn keyword tidyAutoBoolean contained t[rue] f[alse] y[es] n[o] 1 0 auto 2306481427SBram Moolenaarsyn case match 24*e0e39175SBram Moolenaarsyn keyword tidyCustomTags contained no blocklevel empty inline pre 2506481427SBram Moolenaarsyn keyword tidyDoctype contained html5 omit auto strict loose transitional user 2606481427SBram Moolenaarsyn keyword tidyEncoding contained raw ascii latin0 latin1 utf8 iso2022 mac win1252 ibm858 utf16le utf16be utf16 big5 shiftjis 2706481427SBram Moolenaarsyn keyword tidyNewline contained LF CRLF CR 2806481427SBram Moolenaarsyn match tidyNumber contained "\<\d\+\>" 2906481427SBram Moolenaarsyn keyword tidyRepeat contained keep-first keep-last 3006481427SBram Moolenaarsyn keyword tidySorter contained alpha none 3106481427SBram Moolenaarsyn region tidyString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline 3206481427SBram Moolenaarsyn region tidyString contained start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline 33*e0e39175SBram Moolenaar" Tag and attribute lists 34*e0e39175SBram Moolenaarsyn match tidyWord contained "\<\k\+\>:\@!" nextgroup=tidyWordSeparator skipwhite skipnl 3506481427SBram Moolenaar 36*e0e39175SBram Moolenaar" Mute Message IDs {{{2 37*e0e39175SBram Moolenaarsyn keyword tidyMuteID ADDED_MISSING_CHARSET ANCHOR_DUPLICATED 38*e0e39175SBram Moolenaar \ ANCHOR_NOT_UNIQUE APOS_UNDEFINED APPLET_MISSING_ALT AREA_MISSING_ALT 39*e0e39175SBram Moolenaar \ ASCII_REQUIRES_DESCRIPTION ASSOCIATE_LABELS_EXPLICITLY 40*e0e39175SBram Moolenaar \ ASSOCIATE_LABELS_EXPLICITLY_FOR ASSOCIATE_LABELS_EXPLICITLY_ID 41*e0e39175SBram Moolenaar \ ATTRIBUTE_IS_NOT_ALLOWED ATTRIBUTE_VALUE_REPLACED 42*e0e39175SBram Moolenaar \ ATTR_VALUE_NOT_LCASE AUDIO_MISSING_TEXT_AIFF AUDIO_MISSING_TEXT_AU 43*e0e39175SBram Moolenaar \ AUDIO_MISSING_TEXT_RA AUDIO_MISSING_TEXT_RM AUDIO_MISSING_TEXT_SND 44*e0e39175SBram Moolenaar \ AUDIO_MISSING_TEXT_WAV BACKSLASH_IN_URI BAD_ATTRIBUTE_VALUE 45*e0e39175SBram Moolenaar \ BAD_ATTRIBUTE_VALUE_REPLACED BAD_CDATA_CONTENT BAD_SUMMARY_HTML5 46*e0e39175SBram Moolenaar \ BAD_SURROGATE_LEAD BAD_SURROGATE_PAIR BAD_SURROGATE_TAIL 47*e0e39175SBram Moolenaar \ CANT_BE_NESTED COERCE_TO_ENDTAG COLOR_CONTRAST_ACTIVE_LINK 48*e0e39175SBram Moolenaar \ COLOR_CONTRAST_LINK COLOR_CONTRAST_TEXT COLOR_CONTRAST_VISITED_LINK 49*e0e39175SBram Moolenaar \ CONTENT_AFTER_BODY CUSTOM_TAG_DETECTED DATA_TABLE_MISSING_HEADERS 50*e0e39175SBram Moolenaar \ DATA_TABLE_MISSING_HEADERS_COLUMN DATA_TABLE_MISSING_HEADERS_ROW 51*e0e39175SBram Moolenaar \ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS 52*e0e39175SBram Moolenaar \ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS DISCARDING_UNEXPECTED 53*e0e39175SBram Moolenaar \ DOCTYPE_AFTER_TAGS DOCTYPE_MISSING DUPLICATE_FRAMESET 54*e0e39175SBram Moolenaar \ ELEMENT_NOT_EMPTY ELEMENT_VERS_MISMATCH_ERROR 55*e0e39175SBram Moolenaar \ ELEMENT_VERS_MISMATCH_WARN ENCODING_MISMATCH 56*e0e39175SBram Moolenaar \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET 57*e0e39175SBram Moolenaar \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED 58*e0e39175SBram Moolenaar \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT 59*e0e39175SBram Moolenaar \ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT ESCAPED_ILLEGAL_URI 60*e0e39175SBram Moolenaar \ FILE_CANT_OPEN FILE_CANT_OPEN_CFG FILE_NOT_FILE FIXED_BACKSLASH 61*e0e39175SBram Moolenaar \ FOUND_STYLE_IN_BODY FRAME_MISSING_LONGDESC FRAME_MISSING_NOFRAMES 62*e0e39175SBram Moolenaar \ FRAME_MISSING_TITLE FRAME_SRC_INVALID FRAME_TITLE_INVALID_NULL 63*e0e39175SBram Moolenaar \ FRAME_TITLE_INVALID_SPACES HEADERS_IMPROPERLY_NESTED 64*e0e39175SBram Moolenaar \ HEADER_USED_FORMAT_TEXT ID_NAME_MISMATCH ILLEGAL_NESTING 65*e0e39175SBram Moolenaar \ ILLEGAL_URI_CODEPOINT ILLEGAL_URI_REFERENCE 66*e0e39175SBram Moolenaar \ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION 67*e0e39175SBram Moolenaar \ IMG_ALT_SUSPICIOUS_FILENAME IMG_ALT_SUSPICIOUS_FILE_SIZE 68*e0e39175SBram Moolenaar \ IMG_ALT_SUSPICIOUS_PLACEHOLDER IMG_ALT_SUSPICIOUS_TOO_LONG 69*e0e39175SBram Moolenaar \ IMG_BUTTON_MISSING_ALT IMG_MAP_CLIENT_MISSING_TEXT_LINKS 70*e0e39175SBram Moolenaar \ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS IMG_MISSING_ALT IMG_MISSING_DLINK 71*e0e39175SBram Moolenaar \ IMG_MISSING_LONGDESC IMG_MISSING_LONGDESC_DLINK 72*e0e39175SBram Moolenaar \ INFORMATION_NOT_CONVEYED_APPLET INFORMATION_NOT_CONVEYED_IMAGE 73*e0e39175SBram Moolenaar \ INFORMATION_NOT_CONVEYED_INPUT INFORMATION_NOT_CONVEYED_OBJECT 74*e0e39175SBram Moolenaar \ INFORMATION_NOT_CONVEYED_SCRIPT INSERTING_AUTO_ATTRIBUTE 75*e0e39175SBram Moolenaar \ INSERTING_TAG INVALID_ATTRIBUTE INVALID_NCR INVALID_SGML_CHARS 76*e0e39175SBram Moolenaar \ INVALID_UTF16 INVALID_UTF8 INVALID_XML_ID JOINING_ATTRIBUTE 77*e0e39175SBram Moolenaar \ LANGUAGE_INVALID LANGUAGE_NOT_IDENTIFIED 78*e0e39175SBram Moolenaar \ LAYOUT_TABLES_LINEARIZE_PROPERLY LAYOUT_TABLE_INVALID_MARKUP 79*e0e39175SBram Moolenaar \ LINK_TEXT_MISSING LINK_TEXT_NOT_MEANINGFUL 80*e0e39175SBram Moolenaar \ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE LINK_TEXT_TOO_LONG 81*e0e39175SBram Moolenaar \ LIST_USAGE_INVALID_LI LIST_USAGE_INVALID_OL LIST_USAGE_INVALID_UL 82*e0e39175SBram Moolenaar \ MALFORMED_COMMENT MALFORMED_COMMENT_DROPPING MALFORMED_COMMENT_EOS 83*e0e39175SBram Moolenaar \ MALFORMED_COMMENT_WARN MALFORMED_DOCTYPE METADATA_MISSING 84*e0e39175SBram Moolenaar \ METADATA_MISSING_REDIRECT_AUTOREFRESH MISMATCHED_ATTRIBUTE_ERROR 85*e0e39175SBram Moolenaar \ MISMATCHED_ATTRIBUTE_WARN MISSING_ATTRIBUTE MISSING_ATTR_VALUE 86*e0e39175SBram Moolenaar \ MISSING_DOCTYPE MISSING_ENDTAG_BEFORE MISSING_ENDTAG_FOR 87*e0e39175SBram Moolenaar \ MISSING_ENDTAG_OPTIONAL MISSING_IMAGEMAP MISSING_QUOTEMARK 88*e0e39175SBram Moolenaar \ MISSING_QUOTEMARK_OPEN MISSING_SEMICOLON MISSING_SEMICOLON_NCR 89*e0e39175SBram Moolenaar \ MISSING_STARTTAG MISSING_TITLE_ELEMENT MOVED_STYLE_TO_HEAD 90*e0e39175SBram Moolenaar \ MULTIMEDIA_REQUIRES_TEXT NESTED_EMPHASIS NESTED_QUOTATION 91*e0e39175SBram Moolenaar \ NEWLINE_IN_URI NEW_WINDOWS_REQUIRE_WARNING_BLANK 92*e0e39175SBram Moolenaar \ NEW_WINDOWS_REQUIRE_WARNING_NEW NOFRAMES_CONTENT 93*e0e39175SBram Moolenaar \ NOFRAMES_INVALID_CONTENT NOFRAMES_INVALID_LINK 94*e0e39175SBram Moolenaar \ NOFRAMES_INVALID_NO_VALUE NON_MATCHING_ENDTAG OBJECT_MISSING_ALT 95*e0e39175SBram Moolenaar \ OBSOLETE_ELEMENT OPTION_REMOVED OPTION_REMOVED_APPLIED 96*e0e39175SBram Moolenaar \ OPTION_REMOVED_UNAPPLIED POTENTIAL_HEADER_BOLD 97*e0e39175SBram Moolenaar \ POTENTIAL_HEADER_ITALICS POTENTIAL_HEADER_UNDERLINE 98*e0e39175SBram Moolenaar \ PREVIOUS_LOCATION PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET 99*e0e39175SBram Moolenaar \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED 100*e0e39175SBram Moolenaar \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT 101*e0e39175SBram Moolenaar \ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT PROPRIETARY_ATTRIBUTE 102*e0e39175SBram Moolenaar \ PROPRIETARY_ATTR_VALUE PROPRIETARY_ELEMENT REMOVED_HTML5 103*e0e39175SBram Moolenaar \ REMOVE_AUTO_REDIRECT REMOVE_AUTO_REFRESH REMOVE_BLINK_MARQUEE 104*e0e39175SBram Moolenaar \ REMOVE_FLICKER_ANIMATED_GIF REMOVE_FLICKER_APPLET 105*e0e39175SBram Moolenaar \ REMOVE_FLICKER_EMBED REMOVE_FLICKER_OBJECT REMOVE_FLICKER_SCRIPT 106*e0e39175SBram Moolenaar \ REPEATED_ATTRIBUTE REPLACE_DEPRECATED_HTML_APPLET 107*e0e39175SBram Moolenaar \ REPLACE_DEPRECATED_HTML_BASEFONT REPLACE_DEPRECATED_HTML_CENTER 108*e0e39175SBram Moolenaar \ REPLACE_DEPRECATED_HTML_DIR REPLACE_DEPRECATED_HTML_FONT 109*e0e39175SBram Moolenaar \ REPLACE_DEPRECATED_HTML_ISINDEX REPLACE_DEPRECATED_HTML_MENU 110*e0e39175SBram Moolenaar \ REPLACE_DEPRECATED_HTML_S REPLACE_DEPRECATED_HTML_STRIKE 111*e0e39175SBram Moolenaar \ REPLACE_DEPRECATED_HTML_U REPLACING_ELEMENT REPLACING_UNEX_ELEMENT 112*e0e39175SBram Moolenaar \ SCRIPT_MISSING_NOSCRIPT SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK 113*e0e39175SBram Moolenaar \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN 114*e0e39175SBram Moolenaar \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE 115*e0e39175SBram Moolenaar \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT 116*e0e39175SBram Moolenaar \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER 117*e0e39175SBram Moolenaar \ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP SKIPOVER_ASCII_ART 118*e0e39175SBram Moolenaar \ SPACE_PRECEDING_XMLDECL STRING_ARGUMENT_BAD STRING_CONTENT_LOOKS 119*e0e39175SBram Moolenaar \ STRING_DOCTYPE_GIVEN STRING_MISSING_MALFORMED STRING_MUTING_TYPE 120*e0e39175SBram Moolenaar \ STRING_NO_SYSID STRING_UNKNOWN_OPTION 121*e0e39175SBram Moolenaar \ STYLESHEETS_REQUIRE_TESTING_LINK 122*e0e39175SBram Moolenaar \ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR 123*e0e39175SBram Moolenaar \ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT 124*e0e39175SBram Moolenaar \ STYLE_SHEET_CONTROL_PRESENTATION SUSPECTED_MISSING_QUOTE 125*e0e39175SBram Moolenaar \ TABLE_MAY_REQUIRE_HEADER_ABBR TABLE_MAY_REQUIRE_HEADER_ABBR_NULL 126*e0e39175SBram Moolenaar \ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES TABLE_MISSING_CAPTION 127*e0e39175SBram Moolenaar \ TABLE_MISSING_SUMMARY TABLE_SUMMARY_INVALID_NULL 128*e0e39175SBram Moolenaar \ TABLE_SUMMARY_INVALID_PLACEHOLDER TABLE_SUMMARY_INVALID_SPACES 129*e0e39175SBram Moolenaar \ TAG_NOT_ALLOWED_IN TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET 130*e0e39175SBram Moolenaar \ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT 131*e0e39175SBram Moolenaar \ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT TOO_MANY_ELEMENTS 132*e0e39175SBram Moolenaar \ TOO_MANY_ELEMENTS_IN TRIM_EMPTY_ELEMENT UNESCAPED_AMPERSAND 133*e0e39175SBram Moolenaar \ UNEXPECTED_ENDTAG UNEXPECTED_ENDTAG_ERR UNEXPECTED_ENDTAG_IN 134*e0e39175SBram Moolenaar \ UNEXPECTED_END_OF_FILE UNEXPECTED_END_OF_FILE_ATTR 135*e0e39175SBram Moolenaar \ UNEXPECTED_EQUALSIGN UNEXPECTED_GT UNEXPECTED_QUOTEMARK 136*e0e39175SBram Moolenaar \ UNKNOWN_ELEMENT UNKNOWN_ELEMENT_LOOKS_CUSTOM UNKNOWN_ENTITY 137*e0e39175SBram Moolenaar \ USING_BR_INPLACE_OF VENDOR_SPECIFIC_CHARS WHITE_IN_URI 138*e0e39175SBram Moolenaar \ XML_DECLARATION_DETECTED XML_ID_SYNTAX 139*e0e39175SBram Moolenaar \ contained nextgroup=tidyMuteIDSeparator skipwhite skipnl 140*e0e39175SBram Moolenaar 141*e0e39175SBram Moolenaar" Options {{{1 142*e0e39175SBram Moolenaarsyn keyword tidyCustomTagsOption custom-tags contained nextgroup=tidyCustomTagsDelimiter 143*e0e39175SBram Moolenaarsyn match tidyCustomTagsDelimiter ":" nextgroup=tidyCustomTags contained skipwhite 144*e0e39175SBram Moolenaar 145*e0e39175SBram Moolenaarsyn keyword tidyBooleanOption add-meta-charset add-xml-decl 146*e0e39175SBram Moolenaar \ add-xml-pi add-xml-space anchor-as-name ascii-chars 147*e0e39175SBram Moolenaar \ assume-xml-procins bare break-before-br clean coerce-endtags 148*e0e39175SBram Moolenaar \ decorate-inferred-ul drop-empty-paras drop-empty-elements 149*e0e39175SBram Moolenaar \ drop-font-tags drop-proprietary-attributes enclose-block-text 150*e0e39175SBram Moolenaar \ enclose-text escape-cdata escape-scripts fix-backslash 151*e0e39175SBram Moolenaar \ fix-style-tags fix-uri force-output gdoc gnu-emacs hide-comments 152*e0e39175SBram Moolenaar \ hide-endtags indent-attributes indent-cdata indent-with-tabs 153*e0e39175SBram Moolenaar \ input-xml join-classes join-styles keep-tabs keep-time language 154*e0e39175SBram Moolenaar \ literal-attributes logical-emphasis lower-literals markup 155*e0e39175SBram Moolenaar \ merge-emphasis mute-id ncr numeric-entities omit-optional-tags 156*e0e39175SBram Moolenaar \ output-html output-xhtml output-xml preserve-entities 157*e0e39175SBram Moolenaar \ punctuation-wrap quiet quote-ampersand quote-marks quote-nbsp raw 158*e0e39175SBram Moolenaar \ replace-color show-filename show-info show-meta-change show-warnings 159*e0e39175SBram Moolenaar \ skip-nested split strict-tags-attributes tidy-mark 160*e0e39175SBram Moolenaar \ uppercase-attributes uppercase-tags warn-proprietary-attributes 161*e0e39175SBram Moolenaar \ word-2000 wrap-asp wrap-attributes wrap-jste wrap-php 162*e0e39175SBram Moolenaar \ wrap-script-literals wrap-sections write-back 16306481427SBram Moolenaar \ contained nextgroup=tidyBooleanDelimiter 16406481427SBram Moolenaar 16506481427SBram Moolenaarsyn match tidyBooleanDelimiter ":" nextgroup=tidyBoolean contained skipwhite 16606481427SBram Moolenaar 167*e0e39175SBram Moolenaarsyn keyword tidyAutoBooleanOption fix-bad-comments indent merge-divs merge-spans output-bom show-body-only vertical-space contained nextgroup=tidyAutoBooleanDelimiter 16806481427SBram Moolenaarsyn match tidyAutoBooleanDelimiter ":" nextgroup=tidyAutoBoolean contained skipwhite 16906481427SBram Moolenaar 17006481427SBram Moolenaarsyn keyword tidyCSSSelectorOption css-prefix contained nextgroup=tidyCSSSelectorDelimiter 17106481427SBram Moolenaarsyn match tidyCSSSelectorDelimiter ":" nextgroup=tidyCSSSelector contained skipwhite 17206481427SBram Moolenaar 17306481427SBram Moolenaarsyn keyword tidyDoctypeOption doctype contained nextgroup=tidyDoctypeDelimiter 174*e0e39175SBram Moolenaarsyn match tidyDoctypeDelimiter ":" nextgroup=tidyDoctype,tidyString contained skipwhite 17506481427SBram Moolenaar 17606481427SBram Moolenaarsyn keyword tidyEncodingOption char-encoding input-encoding output-encoding contained nextgroup=tidyEncodingDelimiter 17706481427SBram Moolenaarsyn match tidyEncodingDelimiter ":" nextgroup=tidyEncoding contained skipwhite 17806481427SBram Moolenaar 17906481427SBram Moolenaarsyn keyword tidyIntegerOption accessibility-check doctype-mode indent-spaces show-errors tab-size wrap contained nextgroup=tidyIntegerDelimiter 18006481427SBram Moolenaarsyn match tidyIntegerDelimiter ":" nextgroup=tidyNumber contained skipwhite 18106481427SBram Moolenaar 18206481427SBram Moolenaarsyn keyword tidyNameOption slide-style contained nextgroup=tidyNameDelimiter 18306481427SBram Moolenaarsyn match tidyNameDelimiter ":" nextgroup=tidyName contained skipwhite 18406481427SBram Moolenaar 18506481427SBram Moolenaarsyn keyword tidyNewlineOption newline contained nextgroup=tidyNewlineDelimiter 18606481427SBram Moolenaarsyn match tidyNewlineDelimiter ":" nextgroup=tidyNewline contained skipwhite 18706481427SBram Moolenaar 188*e0e39175SBram Moolenaarsyn keyword tidyAttributesOption priority-attributes contained nextgroup=tidyAttributesDelimiter 189*e0e39175SBram Moolenaarsyn match tidyAttributesDelimiter ":" nextgroup=tidyWord contained skipwhite 190*e0e39175SBram Moolenaar 19106481427SBram Moolenaarsyn keyword tidyTagsOption new-blocklevel-tags new-empty-tags new-inline-tags new-pre-tags contained nextgroup=tidyTagsDelimiter 192*e0e39175SBram Moolenaarsyn match tidyTagsDelimiter ":" nextgroup=tidyWord contained skipwhite 19306481427SBram Moolenaar 19406481427SBram Moolenaarsyn keyword tidyRepeatOption repeated-attributes contained nextgroup=tidyRepeatDelimiter 19506481427SBram Moolenaarsyn match tidyRepeatDelimiter ":" nextgroup=tidyRepeat contained skipwhite 19606481427SBram Moolenaar 19706481427SBram Moolenaarsyn keyword tidySorterOption sort-attributes contained nextgroup=tidySorterDelimiter 19806481427SBram Moolenaarsyn match tidySorterDelimiter ":" nextgroup=tidySorter contained skipwhite 19906481427SBram Moolenaar 20006481427SBram Moolenaarsyn keyword tidyStringOption alt-text error-file gnu-emacs-file output-file contained nextgroup=tidyStringDelimiter 20106481427SBram Moolenaarsyn match tidyStringDelimiter ":" nextgroup=tidyString contained skipwhite 20206481427SBram Moolenaar 203*e0e39175SBram Moolenaarsyn keyword tidyMuteOption mute contained nextgroup=tidyMuteDelimiter 204*e0e39175SBram Moolenaarsyn match tidyMuteDelimiter ":" nextgroup=tidyMuteID contained skipwhite 205*e0e39175SBram Moolenaar 20606481427SBram Moolenaarsyn cluster tidyOptions contains=tidy.*Option 20706481427SBram Moolenaar 208*e0e39175SBram Moolenaar" Option line anchor {{{1 20906481427SBram Moolenaarsyn match tidyStart "^" nextgroup=@tidyOptions 210*e0e39175SBram Moolenaar" Long standing bug - option lines (except the first) with leading whitespace 211*e0e39175SBram Moolenaar" are silently ignored. 212*e0e39175SBram Moolenaarsyn match tidyErrorStart '^\s\+\ze\S' 213071d4279SBram Moolenaar 214*e0e39175SBram Moolenaar" Comments {{{1 215071d4279SBram Moolenaarsyn match tidyComment "^\s*//.*$" contains=tidyTodo 216071d4279SBram Moolenaarsyn match tidyComment "^\s*#.*$" contains=tidyTodo 217071d4279SBram Moolenaarsyn keyword tidyTodo TODO NOTE FIXME XXX contained 218071d4279SBram Moolenaar 219*e0e39175SBram Moolenaar" Default highlighting {{{1 220*e0e39175SBram Moolenaarhi def link tidyAttributesOption Identifier 22106481427SBram Moolenaarhi def link tidyAutoBooleanOption Identifier 22206481427SBram Moolenaarhi def link tidyBooleanOption Identifier 22306481427SBram Moolenaarhi def link tidyCSSSelectorOption Identifier 224*e0e39175SBram Moolenaarhi def link tidyCustomTagsOption Identifier 22506481427SBram Moolenaarhi def link tidyDoctypeOption Identifier 22606481427SBram Moolenaarhi def link tidyEncodingOption Identifier 22706481427SBram Moolenaarhi def link tidyIntegerOption Identifier 228*e0e39175SBram Moolenaarhi def link tidyMuteOption Identifier 22906481427SBram Moolenaarhi def link tidyNameOption Identifier 23006481427SBram Moolenaarhi def link tidyNewlineOption Identifier 23106481427SBram Moolenaarhi def link tidyRepeatOption Identifier 23206481427SBram Moolenaarhi def link tidySorterOption Identifier 23306481427SBram Moolenaarhi def link tidyStringOption Identifier 234*e0e39175SBram Moolenaarhi def link tidyTagsOption Identifier 235071d4279SBram Moolenaar 236*e0e39175SBram Moolenaarhi def link tidyAttributesDelimiter Special 23706481427SBram Moolenaarhi def link tidyAutoBooleanDelimiter Special 23806481427SBram Moolenaarhi def link tidyBooleanDelimiter Special 23906481427SBram Moolenaarhi def link tidyCSSSelectorDelimiter Special 240*e0e39175SBram Moolenaarhi def link tidyCustomTagsDelimiter Special 24106481427SBram Moolenaarhi def link tidyDoctypeDelimiter Special 24206481427SBram Moolenaarhi def link tidyEncodingDelimiter Special 24306481427SBram Moolenaarhi def link tidyIntegerDelimiter Special 244*e0e39175SBram Moolenaarhi def link tidyMuteDelimiter Special 24506481427SBram Moolenaarhi def link tidyNameDelimiter Special 24606481427SBram Moolenaarhi def link tidyNewlineDelimiter Special 24706481427SBram Moolenaarhi def link tidyRepeatDelimiter Special 24806481427SBram Moolenaarhi def link tidySorterDelimiter Special 24906481427SBram Moolenaarhi def link tidyStringDelimiter Special 250*e0e39175SBram Moolenaarhi def link tidyTagsDelimiter Special 251071d4279SBram Moolenaar 25206481427SBram Moolenaarhi def link tidyAutoBoolean Boolean 2539d98fe9cSBram Moolenaarhi def link tidyBoolean Boolean 254*e0e39175SBram Moolenaarhi def link tidyCustomTags Constant 2559d98fe9cSBram Moolenaarhi def link tidyDoctype Constant 2569d98fe9cSBram Moolenaarhi def link tidyEncoding Constant 257*e0e39175SBram Moolenaarhi def link tidyMuteID Constant 2589d98fe9cSBram Moolenaarhi def link tidyNewline Constant 2599d98fe9cSBram Moolenaarhi def link tidyNumber Number 2609d98fe9cSBram Moolenaarhi def link tidyRepeat Constant 26106481427SBram Moolenaarhi def link tidySorter Constant 2629d98fe9cSBram Moolenaarhi def link tidyString String 263*e0e39175SBram Moolenaarhi def link tidyWord Constant 26406481427SBram Moolenaar 26506481427SBram Moolenaarhi def link tidyComment Comment 2669d98fe9cSBram Moolenaarhi def link tidyTodo Todo 267071d4279SBram Moolenaar 268*e0e39175SBram Moolenaarhi def link tidyErrorStart Error 269*e0e39175SBram Moolenaar 270*e0e39175SBram Moolenaar" Postscript {{{1 271071d4279SBram Moolenaarlet b:current_syntax = "tidy" 272071d4279SBram Moolenaar 27306481427SBram Moolenaarlet &cpo = s:cpo_save 27406481427SBram Moolenaarunlet s:cpo_save 27506481427SBram Moolenaar 276*e0e39175SBram Moolenaar" vim: ts=8 fdm=marker 277