diff --git a/internal/config/runtime.go b/internal/config/runtime.go
index b71fbed4..7f911c20 100644
--- a/internal/config/runtime.go
+++ b/internal/config/runtime.go
@@ -1218,7 +1218,7 @@ func runtimePluginsStatusStatusLua() (*asset, error) {
return a, nil
}
-var _runtimeSyntaxLicense = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x91\x4f\xaf\xe2\x36\x14\xc5\xf7\xfe\x14\x47\x6c\x3a\x23\x45\xaf\x7f\x16\x5d\xbc\x9d\x5f\x62\xc0\x6a\xb0\x91\x63\x86\xd2\x9d\x49\x0c\x71\x15\x6c\x14\x9b\xbe\xe1\xdb\x57\x36\xcc\xbc\x69\x57\x91\xe2\x7b\xcf\x39\xbf\x73\x37\xae\x9f\xc3\x4f\x11\xf1\xee\x93\xf9\x8a\x93\x9b\x6c\x84\x99\x2d\x26\xd7\x5b\x1f\xed\x80\x9b\x1f\xec\x8c\x34\x5a\x6c\xb8\xc6\x82\x7d\xbd\x9a\xb4\x40\xfb\x78\x7e\x25\xa4\x0e\xd7\xfb\xec\xce\x63\xc2\xa7\xfe\x33\x7e\xfb\xe5\xd7\xdf\x5f\xf1\x97\xe9\x47\x33\xdf\x71\xb0\x83\x1b\x9c\xa9\x50\x87\x69\x72\x1e\x7b\x33\xcf\xd6\x57\xb0\x09\x66\x7a\x21\x64\x6b\xe7\x8b\x8b\xd1\x05\x0f\x17\x31\xda\xd9\x1e\xef\x38\xcf\xc6\x27\x3b\x54\x38\xcd\xd6\x22\x9c\x90\xb5\xce\xb6\x42\x0a\x30\xfe\x8e\xab\x9d\x63\xf0\x08\xc7\x64\x9c\x77\xfe\x4c\x0c\xfa\x70\xbd\xe7\xc9\x34\xba\x88\x18\x4e\xe9\x3d\x23\x18\x3f\xc0\xc4\x18\x7a\x67\x92\x1d\x30\x84\xfe\x76\xb1\x3e\x99\x94\xfd\x1e\xa4\x9f\xd2\x68\xc9\xa2\x7b\x6e\x2c\x3e\x17\x93\xc1\x9a\x09\xce\x17\xe6\x6f\x4f\x78\x77\x69\x0c\xb7\x84\xd9\xc6\x34\xbb\x3e\x6b\x54\x70\xbe\x9f\x6e\x43\xce\xf0\xed\x79\x72\x17\xf7\x74\xc8\xeb\xa5\x98\x98\x45\x6f\xd1\x56\x25\x67\x85\x4b\x18\xdc\x29\x7f\x6d\xc1\xba\xde\x8e\x93\x8b\x63\x45\x06\x97\xa5\x8f\xb7\x64\x2b\xc4\xfc\xb3\x54\x5c\x65\x8e\x9f\xc3\x8c\x68\xa7\x29\x2b\x38\x1b\x1f\xac\x1f\xe9\xca\x0c\x52\x20\xd7\x5c\x68\x7a\x56\x54\x7c\xdf\xc7\x70\xf9\x2f\x89\x8b\x38\xdd\x66\xef\xe2\x68\x87\x82\x1b\x10\x43\x71\xfc\xdb\xf6\x29\xab\xe4\xf1\x53\x98\xa6\xf0\xee\xfc\x19\x7d\xf0\x83\xcb\x44\xf1\x95\x10\x3d\x5a\x98\x63\xf8\xc7\x16\x96\xc7\xdd\x7d\x48\xae\x7f\xd4\x5d\x0e\x70\xfd\xb8\xea\xf3\x29\x8e\x66\x9a\x70\xb4\xe4\x51\x98\x1d\x72\xbd\xe6\x07\x9c\x39\xdb\xc7\x64\x7c\x72\x66\xc2\x35\xcc\xc5\xef\xff\x98\x2f\x84\xe8\x35\x43\x27\x97\x7a\x4f\x15\x03\xef\xb0\x55\xf2\x0b\x6f\x58\x83\x05\xed\xc0\xbb\x45\x85\x3d\xd7\x6b\xb9\xd3\xd8\x53\xa5\xa8\xd0\x07\xc8\x25\xa8\x38\xe0\x0f\x2e\x9a\x8a\xb0\x3f\xb7\x8a\x75\x1d\xa4\x02\xdf\x6c\x5b\xce\x9a\x0a\x5c\xd4\xed\xae\xe1\x62\x85\xb7\x9d\x86\x90\x1a\x2d\xdf\x70\xcd\x1a\x68\x89\x6c\xf8\x94\xe2\xac\x83\x5c\x92\x0d\x53\xf5\x9a\x0a\x4d\xdf\x78\xcb\xf5\xa1\xc2\x92\x6b\x91\x35\x97\x52\x81\x62\x4b\x95\xe6\xf5\xae\xa5\x0a\xdb\x9d\xda\xca\x8e\x81\x8a\x06\x42\x0a\x2e\x96\x8a\x8b\x15\xdb\x30\xa1\x5f\x08\x17\x10\x12\xec\x0b\x13\x1a\xdd\x9a\xb6\x6d\xb1\xa2\x3b\xbd\x96\xaa\xe4\xab\xe5\xf6\xa0\xf8\x6a\xad\xb1\x96\x6d\xc3\x54\x87\x37\x86\x96\xd3\xb7\x96\x3d\xac\xc4\x81\xd4\x2d\xe5\x9b\x0a\x0d\xdd\xd0\x15\x2b\x5b\x52\xaf\x99\x2a\x63\xcf\x74\xfb\x35\x2b\xbf\xb8\x00\x15\xa0\xb5\xe6\x52\xe4\x4e\x6a\x29\xb4\xa2\xb5\xae\x88\x96\x4a\x7f\x5f\xdd\xf3\x8e\x55\xa0\x8a\x77\xb9\x90\xa5\x92\x9b\x0a\xb9\x4e\xb9\x2c\x9d\x89\xbc\x27\xd8\x43\x25\x57\x9d\x53\x93\xef\x17\x91\xaa\x50\xec\x3a\xf6\x91\xa5\x61\xb4\xe5\x62\xd5\xe5\xe5\x1f\xcf\xf7\x42\xfe\x0d\x00\x00\xff\xff\x67\x82\x89\x6c\x7d\x04\x00\x00"
+var _runtimeSyntaxLicense = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x51\x4f\x8f\xe3\x26\x14\xbf\xf3\x29\x7e\xca\xa5\xbb\x92\x35\x5d\xed\x71\x6e\x4c\x4c\x12\x54\x1b\x22\x4c\x36\x4d\x6f\xc4\x26\x31\x95\x03\x91\x21\x9d\xcd\xb7\xaf\x20\xd9\x9d\x6d\x4f\x48\xbc\xf7\xfb\xfb\x5a\xd7\xcf\xe1\xb7\x88\x78\xf7\xc9\x7c\xc7\xc9\x4d\x36\xc2\xcc\x16\x93\xeb\xad\x8f\x76\xc0\xcd\x0f\x76\x46\x1a\x2d\x5a\xae\xb1\x60\xdf\xaf\x26\x2d\xd0\x3c\xc6\xaf\x84\x2c\xc3\xf5\x3e\xbb\xf3\x98\xf0\xa9\xff\x8c\xaf\x5f\xbe\x7e\x79\xc5\x5f\xa6\x1f\xcd\x7c\xc7\xc1\x0e\x6e\x70\xa6\x82\x4d\x30\xd3\x0b\x21\x5b\x3b\x5f\x5c\x8c\x2e\x78\xb8\x88\xd1\xce\xf6\x78\xc7\x79\x36\x3e\xd9\xa1\xc2\x69\xb6\x16\xe1\x84\x0c\x3e\xdb\x0a\x29\xc0\xf8\x3b\xae\x76\x8e\xc1\x23\x1c\x93\x71\xde\xf9\x33\x31\xe8\xc3\xf5\x9e\x37\xd3\xe8\x22\x62\x38\xa5\xf7\xec\xd9\xf8\x01\x26\xc6\xd0\x3b\x93\xec\x80\x21\xf4\xb7\x8b\xf5\xc9\xa4\xac\xf7\x88\xf6\x29\x8d\x96\x2c\xba\x27\x62\xf1\xb9\x88\x0c\xd6\x4c\x70\xbe\x84\xfc\x31\xc2\xbb\x4b\x63\xb8\x25\xcc\x36\xa6\xd9\xf5\x99\xa3\x82\xf3\xfd\x74\x1b\xb2\x87\x1f\xe3\xc9\x5d\xdc\x53\x21\xc3\x4b\x13\x31\x93\xde\xa2\xad\x8a\xcf\x0a\x97\x30\xb8\x53\x7e\x6d\x89\x75\xbd\x1d\x27\x17\xc7\x8a\x0c\x2e\x53\x1f\x6f\xc9\x56\x88\xf9\xb3\x74\x5a\xe5\x1c\xbf\x87\x19\xd1\x4e\x53\x66\x70\x36\x3e\xb2\x7e\xb8\x2b\x3b\x48\x81\x5c\x73\xa1\xe9\x59\x51\xd1\x7d\x1f\xc3\xe5\xbf\x49\x5c\xc4\xe9\x36\x7b\x17\x47\x3b\x94\xb8\x01\x31\x14\xc5\xbf\x6d\x9f\x32\x4b\x5e\x3f\x85\x69\x0a\xef\xce\x9f\xd1\x07\x3f\xb8\x9c\x28\xbe\x12\xa2\x47\x0b\x73\x0c\xff\xd8\x92\xe5\x71\x68\x1f\x92\xeb\x1f\x75\x97\x03\x5c\x3f\xae\xfa\x1c\xc5\xd1\x4c\x13\x8e\x96\x3c\x0a\xb3\x43\xae\xd7\xfc\x12\x67\xce\xf2\x31\x19\x9f\x9c\x99\x70\x0d\x73\xd1\xfb\x7f\xcc\x17\x42\xf4\x86\xa1\x93\x2b\xbd\xa7\x8a\x81\x77\xd8\x2a\xf9\x8d\xd7\xac\xc6\x82\x76\xe0\xdd\xa2\xc2\x9e\xeb\x8d\xdc\x69\xec\xa9\x52\x54\xe8\x03\xe4\x0a\x54\x1c\xf0\x07\x17\x75\x45\xd8\x9f\x5b\xc5\xba\x0e\x52\x81\xb7\xdb\x86\xb3\xba\x02\x17\xcb\x66\x57\x73\xb1\xc6\xdb\x4e\x43\x48\x8d\x86\xb7\x5c\xb3\x1a\x5a\x22\x0b\x3e\xa9\x38\xeb\x20\x57\xa4\x65\x6a\xb9\xa1\x42\xd3\x37\xde\x70\x7d\xa8\xb0\xe2\x5a\x64\xce\x95\x54\xa0\xd8\x52\xa5\xf9\x72\xd7\x50\x85\xed\x4e\x6d\x65\xc7\x40\x45\x0d\x21\x05\x17\x2b\xc5\xc5\x9a\xb5\x4c\xe8\x17\xc2\x05\x84\x04\xfb\xc6\x84\x46\xb7\xa1\x4d\x53\xa4\xe8\x4e\x6f\xa4\x2a\xfe\x96\x72\x7b\x50\x7c\xbd\xd1\xd8\xc8\xa6\x66\xaa\xc3\x1b\x43\xc3\xe9\x5b\xc3\x1e\x52\xe2\x40\x96\x0d\xe5\x6d\x85\x9a\xb6\x74\xcd\x0a\x4a\xea\x0d\x53\x65\xed\xe9\x6e\xbf\x61\xe5\x8b\x0b\x50\x01\xba\xd4\x5c\x8a\xdc\xc9\x52\x0a\xad\xe8\x52\x57\x44\x4b\xa5\x7f\x42\xf7\xbc\x63\x15\xa8\xe2\x5d\x2e\x64\xa5\x64\x5b\x21\xd7\x29\x57\xa5\x33\x91\x71\x82\x3d\x58\x72\xd5\xd9\x35\xf9\x79\x11\xa9\x4a\x8a\x5d\xc7\x3e\xbc\xd4\x8c\x36\x5c\xac\xbb\x0c\xfe\xf5\x7c\x2f\xe4\xdf\x00\x00\x00\xff\xff\xb7\xaa\xfa\x48\x6e\x04\x00\x00"
func runtimeSyntaxLicenseBytes() ([]byte, error) {
return bindataRead(
@@ -3278,7 +3278,7 @@ func runtimeSyntaxHtmlHdr() (*asset, error) {
return a, nil
}
-var _runtimeSyntaxHtmlYaml = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x55\x5d\x8f\xdb\x36\x10\x7c\xae\x7f\x85\xa2\x2b\x0a\x32\x89\x7d\x0d\x50\x04\xa8\x7a\x39\xa1\x48\xdb\xd7\xf6\xa1\x2f\x85\x4e\x01\x28\x72\x25\xb1\xe6\x87\x42\xae\x9c\x73\x33\xf9\xef\x85\xec\xbb\xc4\xbe\xbb\x16\x05\x0a\x18\x84\x35\x5c\xed\xce\x72\x96\xa3\xde\x3a\xe2\xfd\x44\x55\x31\xb2\x77\xab\x95\x21\x26\xcd\xd5\xaa\x28\x8a\x62\xd9\x0b\xca\x53\x55\x94\x37\x37\x9b\x91\x7d\xe3\xda\xfa\xeb\x72\xb5\x4a\xb3\xa3\x7c\x8c\x59\x17\x94\x52\x4c\x55\x51\x5e\x35\xef\x9e\xb5\x9b\xe7\xf5\x75\x79\xb7\x91\xf7\xbe\x8b\x6e\xc3\x6a\xa8\x8a\x52\xd4\x56\x5e\x35\x97\x6d\x2d\x94\xe8\xba\x04\x9d\x62\xd8\x7b\x18\x93\x28\x67\x4c\x93\x23\x46\x22\x85\xc4\x56\x3b\x42\xb6\x86\x30\x1b\x1b\x65\x8d\x4e\xa8\x4c\xa2\x8f\x81\x65\x0d\x23\x2c\xa2\x84\x1d\xe0\xa2\xde\xbe\x9f\x23\x13\x92\xac\xa1\x95\x08\x3b\x95\x31\xb1\x8d\x41\x42\x53\x60\x4a\xd0\x96\x09\x3a\x0a\x43\x70\x70\x43\x8a\xf3\x24\x61\x84\x62\x25\x9c\xcd\x87\x7c\x20\x07\x62\x65\x5d\x46\x1f\x60\x95\x8b\x03\x6c\x82\x03\x4b\x90\x17\x1d\x19\x59\xa3\xb7\xe4\x4c\x26\x46\x6f\x07\xa1\xd5\xa1\x08\xe6\x44\x12\x0b\x2d\xf4\x31\x79\x08\x2b\xeb\x3e\x29\x4f\x38\xac\x4b\xf4\xd8\xbc\x5a\xbf\x6e\x31\x26\x58\x58\x3f\xc0\x06\x31\xcd\x8c\x2c\xb1\xed\x0c\xb6\xb4\x1f\x28\xc0\xa9\x8e\x1c\x1c\x0d\x14\x0c\x9c\x15\x61\x2b\x6b\x78\x25\x6c\xc0\x84\xb4\x95\xf0\x14\x66\x61\x99\xfc\x82\x13\x0b\x05\x4a\x12\x41\xed\x10\xa2\x38\xd6\x42\xd6\xc9\x4e\x2c\x11\x85\xc3\xc4\xe2\xd0\x29\x0e\x27\x31\xf3\x34\xb3\xc4\x24\x54\x52\x1e\x56\xf3\x9c\x08\xcb\x2f\x0e\xcb\xd1\xcb\x1a\xef\x91\xc4\x04\xc6\xdc\xed\x25\xb2\xe0\x64\xb7\x24\x6b\x64\xe5\x27\x64\x12\xfa\xd0\xac\x23\xcd\x12\xd9\x2b\xe7\x90\xe3\x9c\x34\x21\x4f\x2a\x20\x73\x8a\x61\x40\x9e\x45\x87\x09\xde\xab\xb4\x97\x60\xba\x65\xb5\xa8\xc9\xd6\x13\x38\x29\xbd\xc5\x2c\x9c\xac\xb1\x53\x09\x3b\x6b\x28\xe2\x43\x97\xa4\x28\x36\xcf\x71\x2d\x9f\x9c\x99\x0d\xdd\x32\x05\x43\xe6\x6c\x78\xba\x68\xf6\x30\x76\x87\x65\x5a\x31\x92\x32\x82\x16\xf9\xfb\x18\x17\xbd\xd9\xb2\x23\xb0\xea\x96\xf5\x2e\x18\xa3\x20\xb5\x88\x98\x0e\x51\xf2\x50\xf5\xac\xe6\x44\xda\x2a\x57\x15\xe5\x37\xe2\xa2\x69\x2a\x63\x07\xcb\x55\xdb\x7e\x7c\xf5\xf2\xbb\x4f\xb8\xb8\x6d\x9a\xea\xf6\x1c\x6b\xde\x35\x4d\x95\x27\xa5\xa9\x6a\xdb\xf6\x85\xfc\xe1\x9c\x7e\x55\x94\x4d\xf5\xa6\xbd\x07\xad\xa1\xc0\xb6\xb7\xb4\xdc\x12\xa1\x1c\xa3\x1b\x74\x74\x31\x61\x24\x3b\x8c\x8c\x31\x51\x0f\x6b\xee\x27\x21\x86\xc1\x50\xd6\x58\xae\x1e\x62\x10\xda\x59\xbd\x45\x1f\xf5\x9c\xe1\xa2\x32\xf0\x71\xce\x14\x77\xcb\x14\x64\xfb\xd7\xbd\x10\x49\x83\x55\x1a\x88\xb1\xdc\x67\xec\x94\x9b\x09\x1f\xac\xe1\x51\xbe\xb9\xa7\xa2\x63\xc8\xac\x02\x6f\xc2\xec\xbb\x23\x9f\xda\xca\x8b\xe6\xdb\xf5\xf7\x3f\xae\x7f\x69\x3f\xbe\x7e\xf9\xfa\xd3\x31\xf6\xa2\x58\x17\x86\x7a\x35\xbb\x3b\x33\xb8\x58\x96\x22\xb3\x4a\x5c\x15\xe5\x75\x79\x02\x52\x58\x44\xba\x3a\x85\x8e\x0e\x51\x34\xed\xea\x29\x33\xb8\xc2\xf5\x23\x46\x99\x93\x0d\xc3\x66\x4e\xcb\xf1\x89\x9e\x27\xb1\xcc\xe6\xc8\x77\x7f\x06\xcb\xd0\x63\x8a\x9e\x64\x75\x79\xd9\xbc\x2b\xbe\x6a\x5f\xdc\xe7\x98\x12\x4d\x29\xea\x25\xf1\xb3\x9f\x7e\x7d\xfb\xfb\x1f\xbf\xfd\xbc\x79\xb1\xe8\xfb\xb9\x86\xf7\x14\xee\xfa\x38\xed\xe2\xea\xd9\x7a\x5d\x7e\x46\x8f\x6d\xac\xd7\xd7\x5f\xa0\x47\x6d\x3c\xa0\xfb\x38\xe5\x4d\xf9\x30\xe1\x29\x92\xb7\x76\x3a\xb8\xe9\xcd\xcd\xe6\x61\x95\xcf\x8f\x0f\x2b\x1d\xc7\xf3\xed\xa8\xd2\x97\x57\xef\xe8\x9c\x29\x74\xd6\xd9\xd1\x10\xbe\xd8\xf1\x89\x4e\x97\x4f\xed\x39\xeb\x2d\xaf\x0f\xbe\x51\x9d\x88\xf5\xef\x1c\x6d\xd0\x6e\x36\xcb\xf7\xe1\x4f\xb5\x53\xc7\xb4\xff\x85\x1b\xef\x1d\xfd\x03\xb5\xc7\x5b\xff\x93\x99\xce\xb9\x5c\xfd\x1d\x00\x00\xff\xff\xbc\xf2\x3d\x56\xe6\x06\x00\x00"
+var _runtimeSyntaxHtmlYaml = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\xdd\x6e\x1b\x37\x13\xbd\xd7\x53\x30\xf2\x07\x47\x8a\x3f\xc9\x4d\x2e\x0a\x54\x4e\x6d\x18\x49\x8a\xf6\x22\x75\x51\x04\xe8\x8f\xd7\x85\x67\xc9\xd1\xee\x44\x5c\x72\x3d\x9c\x95\xa3\x60\x1e\xbe\xe0\xae\x6c\xc7\xb1\x12\xa0\x68\x2f\x5a\x20\x0b\x88\x5a\x71\xf8\x33\x73\xe6\x1c\x0e\xb5\x24\x8f\xb2\x69\x71\x61\x6a\x69\xfc\x68\xe4\x50\xd0\xca\x62\x64\x8c\x31\xd9\x16\xa0\xc1\x85\x19\x17\xc5\xbc\x96\xe6\xdc\x5f\x9c\xfc\x6f\x3c\x1a\x71\xe7\x31\x0d\x63\xf6\xcc\xcb\x68\xf3\x02\x86\x92\xb1\x90\x70\x46\x21\x61\x48\x24\xb4\xc6\x7e\xc4\xcc\xb4\x8c\x2d\x47\xbb\x30\xe3\xe7\x8f\x26\x27\x34\x9d\xbc\x3c\x7b\xf1\xe6\xb7\x9f\x5e\xf5\x5b\xce\x9f\x4c\x8f\xc7\xdb\xa5\xce\x5a\x0c\x14\x2a\x23\x50\x6d\xa7\xa6\x4d\x53\x46\x3f\x17\xa8\x86\xed\xf2\x93\x04\x58\xf2\x62\x13\x50\x28\x4b\x56\xb0\x1c\xc3\xa6\x51\x70\x8e\x31\x25\x85\xb6\xf5\x28\x0a\x8c\xa0\xc0\x42\xd6\xa3\x42\x22\x87\x0a\x9d\xa3\xa8\xa5\x96\x90\x50\x4b\x47\x5a\xba\xa8\x25\x55\x5a\xfa\x68\x57\x57\x5d\x14\xd4\x32\xba\x8d\x96\xac\x65\x27\x12\x83\x5a\x08\x6b\x48\x6a\xa1\x15\xca\x3f\x31\x08\xb2\x5a\x12\x54\x1b\x5d\x6e\x7c\xfe\x54\x1c\xbb\x56\x6d\x6c\x1a\x08\x4e\x1d\x08\x78\x4a\xa2\xce\xa9\x43\xaf\x0e\x05\xc8\x27\x75\xcb\xa0\x8e\x58\x1d\xad\xd5\x79\x75\xa2\xd8\x28\x36\x25\x3a\x5d\x12\x7a\x97\x50\x74\x49\xd5\xcd\x66\x4b\xaa\x3a\x46\x5d\xc6\x20\xba\x8c\x31\x6f\xbc\x8c\xdc\xe8\x92\xa1\xc1\xa1\xcd\x33\xea\xf3\xa7\xb3\xaf\x2f\xb4\x46\x70\x7d\x83\xac\xf5\xe0\x4f\xcd\x9a\x31\x56\x52\x1a\xe6\x50\x53\x29\x85\xb6\x13\xa5\x90\x74\x55\x3a\x5d\xe1\xa6\xc2\xa0\x1e\x4a\xf4\xea\xb1\xc2\xe0\xd4\x93\x7a\x0a\x2b\x6d\xa0\xd5\x06\x78\xa5\x0d\x86\x4e\x1b\x14\xc8\x0d\xb2\x06\x58\x6b\x88\x83\x03\x1a\x62\xb2\x4c\xad\x68\x2c\xdf\xa2\x15\x8d\x5e\x63\x2b\x83\x03\x71\x08\x24\x76\x92\xf7\x6c\xb5\x05\x86\x46\x5b\x46\x6d\x39\x56\x7d\xb6\xae\x94\x5b\x65\x51\xee\xca\x8d\x26\x4d\xd0\xb4\x9a\xd0\xf6\xf3\x12\xfa\xbc\x62\x6a\xc0\x7b\x4d\xb1\x63\x8b\x9a\x5a\x08\x9a\x84\x69\x85\xf9\x2b\x86\x4a\x53\x57\x6a\xea\x9a\x06\x78\xa3\xa9\x6b\x55\xa0\xf4\xa8\xd2\x67\x52\x9c\x0a\xbe\x93\x9e\x0c\x92\x41\x54\xa9\x55\x7a\xac\x84\x1a\x54\x21\xc9\x63\x59\x85\xc1\xae\x54\x44\x3b\xed\xbc\xae\x81\x75\x4d\x0e\xa3\x5e\x97\x3c\x2d\x8a\x72\x7c\xcb\x3f\x0c\x6e\x61\xc6\xc7\x77\x1d\x1f\xc8\x61\x78\x66\x86\x1c\x06\xa1\x25\x21\xf7\xe2\x29\x27\xad\x07\x8b\x75\xf4\x39\x39\x49\x36\x99\x91\x5e\xb4\xac\x6c\xf4\x91\xb5\x46\xaa\x6a\xd1\x9a\x71\xa9\xe4\x74\x02\x4c\xd0\x93\x68\x5a\x14\xb3\xf9\xc1\x4d\x76\x62\xa8\x1c\x26\xab\x59\x94\x1a\xc3\xc4\x7a\xb2\x2b\x5d\x46\xdb\x25\xf5\x11\x9c\x36\xb1\x4b\x18\xd7\xc8\x53\x4d\xf4\xfe\x06\x2b\xb6\x2a\xc0\x15\x8a\x66\xa1\xea\x1a\x7c\x87\x7a\x4d\x4e\x6a\xb5\x1e\x52\x52\x5b\x03\x67\x22\xd9\x18\x04\x83\x28\xa3\x57\x0a\x82\x15\x93\x6c\xd4\x72\x4c\x29\x32\x55\x14\x32\xfd\x34\x86\xd4\x95\x0d\x89\x7a\x08\x95\x72\xf4\x78\x1f\x9f\x5e\xb7\x2d\x5a\x02\xbf\x0d\x9e\xf1\xaa\x23\x46\xf7\xf1\xb8\x3d\xf3\x1a\xc4\xd6\xc6\xc5\xae\xf4\x38\xeb\xf5\x67\x72\x6a\x43\x95\xee\x2d\x67\x63\x48\x02\x41\xe6\x83\xf1\x43\xac\xef\x9f\x09\xc5\x78\xfc\xc0\x36\xe4\x6b\x97\x25\xad\xa8\xed\x5d\x2c\x8a\xf9\x43\xeb\x83\xb4\xee\xf2\x67\x88\xf3\x45\x0d\xfc\xe9\x85\x76\x44\x30\xef\x38\x83\x33\x99\x2c\xa5\x9d\xa4\xe9\x89\xd6\xb2\x7d\xa9\x48\xd4\xd6\x1c\x1b\x9c\x2e\x0e\x0f\xcf\xff\x28\x8a\x74\x71\x30\xdd\x85\x5a\xa2\x50\xfd\x33\xa8\x3d\xfe\x14\x68\x3b\x0c\xff\x55\xcc\xbe\xa7\xaa\xf6\x59\x65\x46\x6a\x34\x78\xd5\x81\x4f\x06\x82\x33\x10\x36\x26\xab\x30\x98\x12\xe5\x1a\x31\x98\xeb\xc8\xee\x3e\x92\x43\x19\xda\xb2\xf9\x5b\x5d\x14\x45\x39\x1d\x8f\xb6\x55\xeb\x85\x8f\xe9\x2f\x54\xad\xc3\x2f\x65\xeb\x4b\xd9\xfa\x57\x96\xad\x3d\x73\x1a\x36\x52\x67\x2e\x53\xe8\x65\x62\xef\xa8\x9d\xef\x77\x10\x0c\x32\x47\xbe\xa7\x8d\xbe\x67\x61\xc6\xf3\x5b\x41\xfc\x8c\x09\x79\x8d\xce\xe4\x1a\x28\x84\xc9\x78\x5a\xa1\x81\xfd\xbd\xa7\xcf\x8e\xcc\x7e\x28\x53\x7b\xd4\x4b\x6f\x7f\xef\xdd\xd3\x67\xa7\x47\x37\xaa\xb9\xad\x19\x93\xc9\x39\xcc\xde\x9f\xce\x7e\xbf\xd8\xdf\x3b\xff\x6a\xf6\xcd\xc5\x81\xee\xdf\xf4\x1c\xe8\xfe\xde\xf6\xbd\xb7\x4c\x8f\xee\x94\xf8\xe6\xec\xe5\xd9\xc2\x9c\x3a\x67\x2e\x3d\x35\x24\xb3\x3e\xc4\x4b\x23\xd1\x94\x51\xea\x3e\xa4\x4b\x87\x4b\xe8\xbc\x5c\x0e\xf1\x9b\x12\x7d\xbc\x36\x31\x58\x34\x24\x8f\x93\xa1\xa6\xf5\xd8\x64\xb9\x38\x43\x41\xa2\x79\x4d\x96\xe3\xd6\xc5\xed\xdc\x1d\xaa\x1e\xb8\x34\x7f\x72\x72\xfc\x31\xe2\xcf\x0f\x77\xd9\x06\xff\x7a\xb6\x2d\x3e\x38\x2f\x3e\x7b\xa7\x08\xd6\x77\x2e\xdf\xc6\xdf\xc2\x1a\x86\x45\xb7\xa1\x7f\xd6\xb3\x7c\xdb\xf8\x84\x63\x0f\x4d\x7f\xcb\x2f\x9b\xd2\x5d\x2e\x6a\x4a\xe6\x1a\x89\x9d\xc1\xa6\x95\x7c\xc6\x36\x19\x56\xb3\x25\x58\x32\x82\xb6\x0e\x64\xc1\xfb\x8d\x59\x83\x27\x37\xba\x39\xf6\xfb\x81\xfd\xdf\x85\xe3\xdb\x00\xb7\xbd\xf3\xfe\xc8\xdb\x11\xe6\xa3\xa2\x98\x15\xc5\xec\xe3\x20\x87\xde\xcf\x5f\xd6\x24\xba\x98\x59\xf7\xdd\x0f\xbf\xbe\x7e\xa5\x3f\x9e\xbd\x79\xa5\x99\x49\xd3\xc5\xc9\xfd\x12\xf2\x4b\x4d\x1e\xef\xb9\x1d\xa2\x18\x30\x63\xe1\x0e\xc7\x83\x10\xfe\x9f\x49\x96\xd0\x00\xa3\x61\x1c\x9c\x76\xe8\x32\x05\xf3\xe0\x12\x4d\x97\x7a\x66\xe5\x83\xdd\xc0\x4d\x58\x3b\x15\x35\x19\x9c\xd7\xe3\xe9\x78\xf4\x67\x00\x00\x00\xff\xff\x81\x0a\x94\x06\xa8\x0d\x00\x00"
func runtimeSyntaxHtmlYamlBytes() ([]byte, error) {
return bindataRead(
diff --git a/runtime/syntax/html.yaml b/runtime/syntax/html.yaml
index d17ec7f0..6386c97e 100644
--- a/runtime/syntax/html.yaml
+++ b/runtime/syntax/html.yaml
@@ -4,44 +4,67 @@ detect:
filename: "\\.htm[l]?$"
rules:
- - error: "<[^!].*?>"
- - symbol.tag: "(?i)<[/]?(a(bbr|cronym|ddress|pplet|rea|rticle|side|udio)?|b(ase(font)?|d(i|o)|ig|lockquote|r)?|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata(list)?|d|el|etails|fn|ialog|ir|l|t)|em(bed)?|fieldset|fig(caption|ure)|font|form|(i)?frame|frameset|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li(nk)?|ma(in|p|rk)|menu(item)?|met(a|er)|nav|no(frames|script)|o(l|pt(group|ion)|utput)|p(aram|icture|re|rogress)?|q|r(p|t|uby)|s(trike)?|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u(l)?|var|video|wbr)( .*|>)*?>"
- - symbol.tag.extended: "(?i)<[/]?(body|div|html|head(er)?|footer|title|table|t(body|d|h(ead)?|r|foot))( .*)*?>"
- - special: "&(#[[:digit:]]{1,4}|#x[[:xdigit:]]{1,4}|[^[[:space:]]]+);"
- - symbol: "[:=]"
- - identifier: "(alt|bgcolor|height|href|id|label|longdesc|name|on(click|focus|load|mouseover)|size|span|src|target|type|value|width)="
- - constant.number: "(?i)#[0-9A-F]{6,6}"
- # - default:
- # start: ">"
- # end: "<"
- # rules: []
-
- - symbol.tag: "<|>"
- - constant.string.url: "(ftp(s)?|http(s)?|git|chrome)://[^ ]+"
- - preproc: ""
-
- - comment:
- start: ""
- rules: []
-
- - constant.string:
- start: "\""
- end: "\""
- skip: "\\\\."
+ # Doctype is case-insensitive
+ - preproc: ""
+ # Opening tag
+ - symbol.tag:
+ start: "<(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|section|select|small|source|span|strike|strong|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)\\b"
+ end: ">"
rules:
- - constant.specialChar: "\\\\."
+ - identifier: "\\b(placeholder|style|alt|bgcolor|height|href|id|(aria|data)\\-.+|label|longdesc|name|on(click|focus|load|mouseover)|size|span|src|target|type|value|width|class|charset|content|rel|integrity|crossorigin|for|onsubmit|lang|role)\\b"
+ - special: "\\b(required)\\b"
+ # Match double-quote strings
+ - constant.string:
+ start: "\""
+ end: "\""
+ skip: "\\\\."
+ rules:
+ - constant.specialChar: "\\\\."
+ - constant.string.url: "((ftp(s)?|http(s)?|git|chrome)://[^\\s]+)"
+ # Match single-quote strings
+ - constant.string:
+ start: "'"
+ end: "'"
+ skip: "\\\\."
+ rules:
+ - constant.specialChar: "\\\\."
+ - constant.string.url: "((ftp(s)?|http(s)?|git|chrome)://[^\\s]+)"
+ # Highlight the equals and any colon between words
+ - symbol: "\\b(=|:\\b)"
+ # Closing tag
+ - symbol.tag:
+ start: "(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|section|select|small|source|span|strike|strong|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)\\b"
+ end: ">"
+ rules:
+ # Anything in the closing tag is an error
+ - error: "."
+
+ # Reserved entities like a and Ī
+ - special: "(([a-zA-Z][0-9]+|&[a-zA-Z]+|[a-zA-Z0-9]+);)"
+
+ # TODO: Add `limit-rules` to both the `default` rules below once it's implemented into Micro
- default:
start: ""
end: ""
limit-group: symbol.tag
rules:
- - include: "javascript"
+ - include: "javascript"
- default:
start: ""
end: ""
limit-group: symbol.tag
rules:
- - include: "css"
+ - include: "css"
+
+ # This weird empty comment thing is technically valid
+ - comment: ""
+
+ - comment.block:
+ start: ""
+ rules:
+ - todo: "(FIXME|NOTE|TODO):?"
+ # While technically not a "true" error, these are recommended to not be used inside a comment
+ - error: "(\\-\\-|>)"