forked from VimPlug/emmet-vim
Prioritizes syntax at the current cursor position for determining the file type
This commit is contained in:
@@ -376,46 +376,42 @@ endfunction
|
|||||||
|
|
||||||
function! emmet#getFileType(...) abort
|
function! emmet#getFileType(...) abort
|
||||||
let flg = get(a:000, 0, 0)
|
let flg = get(a:000, 0, 0)
|
||||||
let type = ''
|
|
||||||
|
let pos = emmet#util#getcurpos()
|
||||||
if has_key(s:emmet_settings, &filetype)
|
let type = synIDattr(synID(pos[1], pos[2], 1), 'name')
|
||||||
let type = &filetype
|
if type =~# '^css\w'
|
||||||
|
let type = 'css'
|
||||||
|
elseif type =~# '^html\w'
|
||||||
|
let type = 'html'
|
||||||
|
elseif type =~# '^javaScript'
|
||||||
|
let type = 'javascript'
|
||||||
|
elseif len(type) ==# 0 && type =~# '^xml'
|
||||||
|
let type = 'xml'
|
||||||
else
|
else
|
||||||
let types = split(&filetype, '\.')
|
if has_key(s:emmet_settings, &filetype)
|
||||||
for part in types
|
let type = &filetype
|
||||||
if emmet#lang#exists(part)
|
else
|
||||||
let type = part
|
let types = split(&filetype, '\.')
|
||||||
break
|
for part in types
|
||||||
endif
|
if emmet#lang#exists(part)
|
||||||
let base = emmet#getBaseType(part)
|
let type = part
|
||||||
if base !=# ''
|
break
|
||||||
if flg
|
|
||||||
let type = &filetype
|
|
||||||
else
|
|
||||||
let type = base
|
|
||||||
endif
|
endif
|
||||||
unlet base
|
let base = emmet#getBaseType(part)
|
||||||
break
|
if base !=# ''
|
||||||
endif
|
if flg
|
||||||
endfor
|
let type = &filetype
|
||||||
|
else
|
||||||
|
let type = base
|
||||||
|
endif
|
||||||
|
unlet base
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
if len(type) ==# 0 | let type = 'html' | endif
|
||||||
endif
|
endif
|
||||||
if type ==# 'html'
|
|
||||||
let pos = emmet#util#getcurpos()
|
|
||||||
let type = synIDattr(synID(pos[1], pos[2], 1), 'name')
|
|
||||||
if type =~# '^css\w'
|
|
||||||
let type = 'css'
|
|
||||||
endif
|
|
||||||
if type =~# '^html\w'
|
|
||||||
let type = 'html'
|
|
||||||
endif
|
|
||||||
if type =~# '^javaScript'
|
|
||||||
let type = 'javascript'
|
|
||||||
endif
|
|
||||||
if len(type) ==# 0 && type =~# '^xml'
|
|
||||||
let type = 'xml'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
if len(type) ==# 0 | let type = 'html' | endif
|
|
||||||
return type
|
return type
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -523,7 +519,7 @@ function! emmet#expandAbbr(mode, abbr) range abort
|
|||||||
if len(filters) ==# 0
|
if len(filters) ==# 0
|
||||||
let filters = ['html']
|
let filters = ['html']
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if a:mode ==# 2
|
if a:mode ==# 2
|
||||||
let leader = substitute(input('Tag: ', ''), '^\s*\(.*\)\s*$', '\1', 'g')
|
let leader = substitute(input('Tag: ', ''), '^\s*\(.*\)\s*$', '\1', 'g')
|
||||||
if len(leader) ==# 0
|
if len(leader) ==# 0
|
||||||
|
|||||||
Reference in New Issue
Block a user