   }
   {
     #specials url
-    'match': '\\s*\{\\s*(url)\\s*[\\(\\|]'
-    'captures':
-      '1':
-        'name': 'entity.name.function.siteini'
-  }
-  {
-    #specials url with preload
-    'match': '(preload)\\s*=\\s*".+?"\\s*\\)\\s*\\|'
-    'captures':
-      '1':
-        'name': 'entity.name.tag.siteini'
-  }
+    'match': '\\s*\\{\\s*(url)'
+    'captures':
+      '1':
+        'name': 'entity.name.function.siteini'
+  }
+  {
+    #specials url with urlencode(mdb)
+    'match': '\\((urlencode)=\\s*\\d(,\\d)?(,\\d)?(,\\d)?\\s*\\)\\s*\\|'
+    'captures':
+      '1':
+        'name': 'entity.name.tag.siteini'
+    }
   {
     # specials within ( =param)
-    'match': '[\\s+\\(](separator|span|step|count|pattern|target|tags|timespan|alloc|max|link|timezone)\\s*='
-    'captures':
-      '1':
+    'match': '[\\s+\\(](separator|span|step|count|pattern|target|tags|timespan|alloc|max|link|timezone)'
+    'captures':
+      '1':
+        'name': 'entity.name.tag.siteini'
+  }
+  {
+    # specials removeduplicates
+    'match': '[\\s+\\(](removeduplicates)=?(name|title|equal)?,?(\\d+)?'
+    'captures':
+      '1':
+        'name': 'entity.name.tag.siteini'
+      '2':
+        'name': 'entity.name.function.siteini'
+      '3':
         'name': 'entity.name.tag.siteini'
   }
   {
     # specials within ()
-    'match': '(removeduplicates|keepfirst|keeplast|force)=*(name(,\\d+)?|title(,\\d+)?|equal(,\\d+)?)?'
-    'captures':
-      '1':
-        'name': 'entity.name.tag.siteini'
-      '2':
-        'name': 'entity.name.function.siteini'
-  }
+    'match': '(force|(not)?null|keep(first|last)|each)'
+    'captures':
+      '1':
+        'name': 'entity.name.tag.siteini'
+    }
   {
     # xmltv attributes
     'match': '\\((lang|system|role|src|width|height|start|channel)\\s*='

      'name': 'entity.name.function.siteini'
    '4':
      'name': 'entity.name.function.siteini'
}
{
# url index elements
'match': '(\\|)(urldate|channel|subpage|\'title\'|\'credits\'|\'productiondate\')(\\|)'
'captures':
  '1':
    'name': 'entity.name.tag.siteini'
  '2':
    'name': 'entity.name.type.siteini'
  '3':
    'name': 'entity.name.tag.siteini'
}
]

  }
  {
    # style=
    'match': '[\\s*\\(](style)=\\s*(sentence|name|upper|lower|regex|url(en|de)code|uni(de|en)code|jsondecode|html(en|de)codespecialchar|base64encode|base64decode(,decimal)?|(sha256|md5)encode|roman2arabicnumeral)'
    'captures':
      '1':
        'name': 'entity.name.tag.siteini'
