diff --git a/autoload/emmet/lang/html.vim b/autoload/emmet/lang/html.vim
index d6d3ee3..69928fe 100644
--- a/autoload/emmet/lang/html.vim
+++ b/autoload/emmet/lang/html.vim
@@ -196,12 +196,28 @@ function! emmet#lang#html#parseIntoTree(abbr, type) abort
for k in keys(custom_expands)
if tag_name =~# k
- let current.snippet = '${' . (empty(custom) ? tag_name : custom) . '}'
- let current.name = ''
+ let snippet = '${' . (empty(custom) ? tag_name : custom) . '}'
+ if current.name != ''
+ let snode = emmet#newNode()
+ let snode.snippet = snippet
+ let snode.parent = current
+ let snode.multiplier = 1
+ call add(current.child, snode)
+ else
+ let current.snippet = snippet
+ endif
break
elseif custom =~# k
+ let snippet = '${' . custom . '}'
let current.snippet = '${' . custom . '}'
- let current.name = ''
+ if current.name != ''
+ let snode = emmet#newNode()
+ let snode.snippet = snippet
+ let snode.parent = current
+ call add(current.child, snode)
+ else
+ let current.snippet = snippet
+ endif
break
endif
endfor