mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-06 10:44:24 +08:00
Compare commits
6 Commits
970ef6e705
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e983971449 | ||
|
|
56199c129a | ||
|
|
6c511a8d7d | ||
|
|
033476412e | ||
|
|
8f1581550d | ||
|
|
c5c5188a0b |
@@ -379,8 +379,12 @@ function! emmet#getFileType(...) abort
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if get(g:, 'loaded_nvim_treesitter', 0)
|
||||||
|
let type = luaeval('require"emmet_utils".get_node_at_cursor()')
|
||||||
|
else
|
||||||
let pos = emmet#util#getcurpos()
|
let pos = emmet#util#getcurpos()
|
||||||
let type = synIDattr(synID(max([pos[1], 1]), max([pos[2], 1]), 1), 'name')
|
let type = synIDattr(synID(max([pos[1], 1]), max([pos[2], 1]), 1), 'name')
|
||||||
|
endif
|
||||||
|
|
||||||
" ignore htmlTagName as it seems to occur too often
|
" ignore htmlTagName as it seems to occur too often
|
||||||
if type == 'htmlTagName'
|
if type == 'htmlTagName'
|
||||||
@@ -426,7 +430,7 @@ function! emmet#getFileType(...) abort
|
|||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return len(type) == 0 ? 'html' : type
|
return empty(type) ? 'html' : type
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! emmet#getDollarExprs(expand) abort
|
function! emmet#getDollarExprs(expand) abort
|
||||||
|
|||||||
25
lua/emmet_utils.lua
Normal file
25
lua/emmet_utils.lua
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.get_node_at_cursor = function()
|
||||||
|
local ts_utils = require("nvim-treesitter.ts_utils")
|
||||||
|
local node = ts_utils.get_node_at_cursor()
|
||||||
|
if not node then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
while node do
|
||||||
|
local node_type = node:type()
|
||||||
|
|
||||||
|
if node_type == "element" then
|
||||||
|
return "html"
|
||||||
|
elseif node_type == "stylesheet" then
|
||||||
|
return "css"
|
||||||
|
end
|
||||||
|
|
||||||
|
node = node:parent()
|
||||||
|
end
|
||||||
|
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
Reference in New Issue
Block a user