Fuzzy search

This commit is contained in:
mattn
2013-08-25 01:30:21 +09:00
parent e8e9877cfc
commit ebba5bf1e2

View File

@@ -72,10 +72,21 @@ function! emmet#lang#css#parseIntoTree(abbr, type)
if !empty(snippets) if !empty(snippets)
let snippet_name = tag_name let snippet_name = tag_name
if !has_key(snippets, snippet_name) if !has_key(snippets, snippet_name)
let pat = '^' . join(split(tag_name, '\zs'), '\(\|[^-]\+-\)') let pat = '^' . join(split(tag_name, '\zs'), '\(\|[^:-]\+-\)')
let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat') let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat')
if len(vv) > 0 if len(vv) > 0
let snippet_name = vv[0] let snippet_name = vv[0]
else
let pat = '^' . join(split(tag_name, '\zs'), '\(\|[^:-]\+-*\)')
let vv = filter(sort(keys(snippets)), 'snippets[v:val] =~ pat')
let minl = -1
for vk in vv
let vvs = snippets[vk]
if minl == -1 || len(vvs) < minl
let snippet_name = vk
let minl = len(vvs)
endif
endfor
endif endif
endif endif
if has_key(snippets, snippet_name) if has_key(snippets, snippet_name)