mirror of
https://github.com/mattn/emmet-vim.git
synced 2025-12-06 18:54:27 +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
|
||||
" Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
||||
" Last Change: 19-Aug-2013.
|
||||
" Last Change: 20-Aug-2013.
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
@@ -131,17 +131,23 @@ function! emmet#mergeConfig(lhs, rhs)
|
||||
endfunction
|
||||
|
||||
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
|
||||
|
||||
function! s:itemno(itemno, current)
|
||||
let current = a:current
|
||||
if current.basevalue == 0
|
||||
return a:itemno
|
||||
elseif current.basevalue > 0
|
||||
return current.basevalue - 1 + a:itemno
|
||||
elseif current.basevalue < 0
|
||||
return current.multiplier - current.basevalue - 2 - a:itemno
|
||||
if current.basedirect > 0
|
||||
if current.basevalue == 0
|
||||
return a:itemno
|
||||
else
|
||||
return current.basevalue - 1 + a:itemno
|
||||
endif
|
||||
else
|
||||
if current.basevalue == 0
|
||||
return current.multiplier - 1 - a:itemno
|
||||
else
|
||||
return current.multiplier + current.basevalue - 2 - a:itemno
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ let s:mx = '\([+>]\|[<^]\+\)\{-}\s*'
|
||||
\ .'\)*'
|
||||
\ .'\)'
|
||||
\ .'\%(\({\%([^$}]\+\|\$#\|\${\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)
|
||||
let str = a:str
|
||||
@@ -90,7 +90,8 @@ function! emmet#lang#html#parseIntoTree(abbr, type)
|
||||
let attributes = tag_name . attributes
|
||||
let tag_name = 'div'
|
||||
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
|
||||
|
||||
" make default node
|
||||
@@ -218,6 +219,7 @@ function! emmet#lang#html#parseIntoTree(abbr, type)
|
||||
else
|
||||
let current.value = value
|
||||
endif
|
||||
let current.basedirect = basedirect
|
||||
let current.basevalue = basevalue
|
||||
let current.multiplier = multiplier
|
||||
|
||||
|
||||
Reference in New Issue
Block a user