vim. correctly parse first lines of transactions
This fixes trailing comments being chopped of and later readded with too few spaces. (when calling format_head())
This commit is contained in:
parent
3896214336
commit
976d9e5d8b
1 changed files with 14 additions and 4 deletions
|
|
@ -293,7 +293,15 @@ function! s:transaction.from_lnum(lnum) dict "{{{2
|
||||||
let trans['head'] = head
|
let trans['head'] = head
|
||||||
let trans['tail'] = tail
|
let trans['tail'] = tail
|
||||||
|
|
||||||
let parts = split(getline(head), '\s\+')
|
" split off eventual comments at the end of line
|
||||||
|
let line = split(getline(head), '\ze\s*\%(\t\| \);', 1)
|
||||||
|
if len(line) > 1
|
||||||
|
let trans['appendix'] = join(line[1:], '')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" parse rest of line
|
||||||
|
" FIXME (minor): will not preserve spacing (see 'join(parts)')
|
||||||
|
let parts = split(line[0], '\s\+')
|
||||||
if parts[0] ==# '~'
|
if parts[0] ==# '~'
|
||||||
let trans['expr'] = join(parts[1:])
|
let trans['expr'] = join(parts[1:])
|
||||||
return trans
|
return trans
|
||||||
|
|
@ -318,8 +326,6 @@ function! s:transaction.from_lnum(lnum) dict "{{{2
|
||||||
call remove(parts, 0)
|
call remove(parts, 0)
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
" FIXME: this will break comments at the end of this 'head' line
|
|
||||||
" they need 2 spaces in front of the semicolon
|
|
||||||
let trans['description'] = join(parts)
|
let trans['description'] = join(parts)
|
||||||
return trans
|
return trans
|
||||||
endf "}}}
|
endf "}}}
|
||||||
|
|
@ -402,7 +408,11 @@ function! s:transaction.format_head() dict "{{{2
|
||||||
if has_key(self, 'code') | call add(parts, '('.self['code'].')') | endif
|
if has_key(self, 'code') | call add(parts, '('.self['code'].')') | endif
|
||||||
if has_key(self, 'state') | call add(parts, self['state']) | endif
|
if has_key(self, 'state') | call add(parts, self['state']) | endif
|
||||||
if has_key(self, 'description') | call add(parts, self['description']) | endif
|
if has_key(self, 'description') | call add(parts, self['description']) | endif
|
||||||
return join(parts)
|
|
||||||
|
let line = join(parts)
|
||||||
|
if has_key(self, 'appendix') | let line .= self['appendix'] | endif
|
||||||
|
|
||||||
|
return line
|
||||||
endf "}}}
|
endf "}}}
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue