mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-08 11:34:46 +08:00
Fixes basedirect/basevalue ex: ul>li.item$@-*5 Should be count down from 5 to 1.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
"=============================================================================
|
"=============================================================================
|
||||||
" emmet.vim
|
" emmet.vim
|
||||||
" Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
" Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
||||||
" Last Change: 19-Aug-2013.
|
" Last Change: 20-Aug-2013.
|
||||||
|
|
||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
@@ -131,17 +131,23 @@ function! emmet#mergeConfig(lhs, rhs)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! emmet#newNode()
|
function! emmet#newNode()
|
||||||
return { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'basevalue': 0, 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0, 'important': 0, 'attrs_order': ['id', 'class'] }
|
return { 'name': '', 'attr': {}, 'child': [], 'snippet': '', 'basevalue': 0, 'basedirect': 1, 'multiplier': 1, 'parent': {}, 'value': '', 'pos': 0, 'important': 0, 'attrs_order': ['id', 'class'] }
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:itemno(itemno, current)
|
function! s:itemno(itemno, current)
|
||||||
let current = a:current
|
let current = a:current
|
||||||
|
if current.basedirect > 0
|
||||||
if current.basevalue == 0
|
if current.basevalue == 0
|
||||||
return a:itemno
|
return a:itemno
|
||||||
elseif current.basevalue > 0
|
else
|
||||||
return current.basevalue - 1 + a:itemno
|
return current.basevalue - 1 + a:itemno
|
||||||
elseif current.basevalue < 0
|
endif
|
||||||
return current.multiplier - current.basevalue - 2 - a:itemno
|
else
|
||||||
|
if current.basevalue == 0
|
||||||
|
return current.multiplier - 1 - a:itemno
|
||||||
|
else
|
||||||
|
return current.multiplier + current.basevalue - 2 - a:itemno
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ let s:mx = '\([+>]\|[<^]\+\)\{-}\s*'
|
|||||||
\ .'\)*'
|
\ .'\)*'
|
||||||
\ .'\)'
|
\ .'\)'
|
||||||
\ .'\%(\({\%([^$}]\+\|\$#\|\${\w\+}\|\$\+\)*}\)\)\{0,1}'
|
\ .'\%(\({\%([^$}]\+\|\$#\|\${\w\+}\|\$\+\)*}\)\)\{0,1}'
|
||||||
\ .'\%(\(@-\{0,1}[0-9]\+\)\{0,1}\*\([0-9]\+\)\)\{0,1}'
|
\ .'\%(\(@-\{0,1}[0-9]*\)\{0,1}\*\([0-9]\+\)\)\{0,1}'
|
||||||
\ .'\(\%()\%(\(@-\{0,1}[0-9]\+\)\{0,1}\*[0-9]\+\)\{0,1}\)*\)'
|
\ .'\(\%()\%(\(@-\{0,1}[0-9]*\)\{0,1}\*[0-9]\+\)\{0,1}\)*\)'
|
||||||
|
|
||||||
function! emmet#lang#html#findTokens(str)
|
function! emmet#lang#html#findTokens(str)
|
||||||
let str = a:str
|
let str = a:str
|
||||||
@@ -90,7 +90,8 @@ function! emmet#lang#html#parseIntoTree(abbr, type)
|
|||||||
let attributes = tag_name . attributes
|
let attributes = tag_name . attributes
|
||||||
let tag_name = 'div'
|
let tag_name = 'div'
|
||||||
endif
|
endif
|
||||||
let basevalue = 0 + basevalue[1:]
|
let basedirect = basevalue[1] == '-' ? -1 : 1
|
||||||
|
let basevalue = 0 + abs(basevalue[1:])
|
||||||
if multiplier <= 0 | let multiplier = 1 | endif
|
if multiplier <= 0 | let multiplier = 1 | endif
|
||||||
|
|
||||||
" make default node
|
" make default node
|
||||||
@@ -218,6 +219,7 @@ function! emmet#lang#html#parseIntoTree(abbr, type)
|
|||||||
else
|
else
|
||||||
let current.value = value
|
let current.value = value
|
||||||
endif
|
endif
|
||||||
|
let current.basedirect = basedirect
|
||||||
let current.basevalue = basevalue
|
let current.basevalue = basevalue
|
||||||
let current.multiplier = multiplier
|
let current.multiplier = multiplier
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user