get extends recursively, minor additional fixes for pug and jsx

This commit is contained in:
Martin Pedersen
2019-05-09 00:45:41 +02:00
parent ae7d31f290
commit f8fc806a61
3 changed files with 104 additions and 19 deletions

View File

@@ -28,3 +28,25 @@ function! emmet#lang#type(type) abort
endwhile
return 'html'
endfunction
" get all extends for a type recursively
function! emmet#lang#getExtends(type) abort
let settings = emmet#getSettings()
if !has_key(settings[a:type], 'extends')
return []
endif
let extends = settings[a:type].extends
if type(extends) ==# 1
let tmp = split(extends, '\s*,\s*')
unlet! extends
let extends = tmp
endif
for ext in extends
let extends = extends + emmet#lang#getExtends(ext)
endfor
return extends
endfunction