Skip to content

Commit 2d413be

Browse files
committed
Text.TOML: support local date-time
1 parent 17fecb7 commit 2d413be

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

autoload/vital/__vital__/Text/TOML.vim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,11 @@ function! s:_boolean(input) abort
228228
endfunction
229229

230230
"
231-
" Datetime
231+
" Offset Date-Time
232+
" Local Date-Time
232233
"
233234
function! s:_datetime(input) abort
234-
return s:_consume(a:input, '\d\{4}-\d\{2}-\d\{2}[T ]\d\{2}:\d\{2}:\d\{2}\%(\.\d\+\)\?\%(Z\|[+-]\d\{2}:\d\{2}\)')
235+
return s:_consume(a:input, '\d\{4}-\d\{2}-\d\{2}[T ]\d\{2}:\d\{2}:\d\{2}\%(\.\d\+\)\?\%(Z\|[+-]\d\{2}:\d\{2}\)\?')
235236
endfunction
236237

237238
"

test/Text/TOML.vim

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -401,18 +401,28 @@ function! s:suite.__parse__()
401401
call s:assert.falsy(data.bool2)
402402
endfunction
403403

404-
function! parse.datetime()
404+
function! parse.offset_datetime()
405405
let data = s:TOML.parse(join([
406-
\ 'dt1 = 1979-05-27T07:32:00Z',
407-
\ 'dt2 = 1979-05-27T00:32:00-07:00',
408-
\ 'dt3 = 1979-05-27T00:32:00.999999-07:00',
409-
\ 'dt4 = 1979-05-27 07:32:00Z',
406+
\ 'odt1 = 1979-05-27T07:32:00Z',
407+
\ 'odt2 = 1979-05-27T00:32:00-07:00',
408+
\ 'odt3 = 1979-05-27T00:32:00.999999-07:00',
409+
\ 'odt4 = 1979-05-27 07:32:00Z',
410410
\], "\n"))
411411

412-
call s:assert.same(data.dt1, '1979-05-27T07:32:00Z')
413-
call s:assert.same(data.dt2, '1979-05-27T00:32:00-07:00')
414-
call s:assert.same(data.dt3, '1979-05-27T00:32:00.999999-07:00')
415-
call s:assert.same(data.dt4, '1979-05-27 07:32:00Z')
412+
call s:assert.same(data.odt1, '1979-05-27T07:32:00Z')
413+
call s:assert.same(data.odt2, '1979-05-27T00:32:00-07:00')
414+
call s:assert.same(data.odt3, '1979-05-27T00:32:00.999999-07:00')
415+
call s:assert.same(data.odt4, '1979-05-27 07:32:00Z')
416+
endfunction
417+
418+
function! parse.local_datetime()
419+
let data = s:TOML.parse(join([
420+
\ 'ldt1 = 1979-05-27T07:32:00',
421+
\ 'ldt2 = 1979-05-27T00:32:00.999999',
422+
\], "\n"))
423+
424+
call s:assert.same(data.ldt1, '1979-05-27T07:32:00')
425+
call s:assert.same(data.ldt2, '1979-05-27T00:32:00.999999')
416426
endfunction
417427

418428
function! parse.array()

0 commit comments

Comments
 (0)