Skip to content

Commit c02ce5e

Browse files
committed
Change Atom parser to analyze draft status in "app:control"
Atom should recognize and parse "app:draft". Please refer to the followings; http://tools.ietf.org/html/rfc5023#section-13.1 http://www.ricoh.co.jp/src/rd/webtech/rfc5023_ja.html#sec-13-1
1 parent a043444 commit c02ce5e

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

autoload/webapi/atom.vim

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ let s:entry_template = {
4444
\ "title": "",
4545
\ "link": [],
4646
\ "category": [],
47+
\ "app:control": {},
4748
\ "author": [],
4849
\ "contirubutor": [],
4950
\ "copyright": "",
@@ -58,6 +59,7 @@ let s:entry_template = {
5859
for s:name in ['author', 'link', 'category', 'feed', 'entry']
5960
for s:key in keys(eval('s:'.s:name.'_template'))
6061
let key = substitute(s:key, '\.\(.\)', '\=toupper(submatch(1))', '')
62+
let key = substitute(key, ':\(.\)', '\=toupper(submatch(1))', '')
6163
exe "function s:".s:name."_template.set".toupper(key[0]).key[1:]."(v) dict\n"
6264
\. " let self['".s:key."'] = a:v\n"
6365
\. "endfunction\n"
@@ -206,6 +208,13 @@ function! s:parse_node(target, parent)
206208
let l:category['scheme'] = has_key(node.attr, 'scheme') ? node.attr['scheme'] : ''
207209
let l:category['label'] = has_key(node.attr, 'label') ? node.attr['label'] : ''
208210
call add(a:target.category, l:category)
211+
elseif node.name == 'app:control'
212+
for l:item in node.child
213+
if type(l:item) == 4 && l:item.name == 'app:draft'
214+
let a:target['app:control'] = {'app:draft': l:item.child[0]}
215+
endif
216+
unlet l:item
217+
endfor
209218
elseif type(a:target[node.name]) == 3
210219
call add(a:target[node.name], a:parent.value())
211220
else

0 commit comments

Comments
 (0)