1
1
let s: save_cpo = &cpoptions
2
2
set cpoptions &vim
3
3
4
+ let s: state2char = {
5
+ \ ' Not run' : ' |' ,
6
+ \ ' Running' : ' -' ,
7
+ \ ' Passed' : ' *' ,
8
+ \ ' Failed' : ' #'
9
+ \}
10
+
4
11
function ! OmniSharp#testrunner#Open () abort
5
12
if ! OmniSharp#actions#test#Validate () | return | endif
6
13
call s: Open ()
@@ -30,7 +37,7 @@ function s:Open() abort
30
37
botright new
31
38
endif
32
39
33
- silent setlocal noswapfile signcolumn = no
40
+ silent setlocal noswapfile signcolumn = no conceallevel=3 concealcursor=nv
34
41
set bufhidden = hide
35
42
let &filetype = ft
36
43
execute ' file' title
@@ -51,8 +58,9 @@ function! s:Paint() abort
51
58
if ! has_key (job, ' tests' ) | continue | endif
52
59
for testfile in keys (job.tests)
53
60
put = ' ' . fnamemodify (testfile, ' :.' )
54
- for test in job.tests[testfile]
55
- put = ' ' . test.name
61
+ for name in keys (job.tests[testfile])
62
+ let test = job.tests[testfile][name]
63
+ put = printf (' %s %s' , s: state2char [test.state ], name)
56
64
endfor
57
65
endfor
58
66
put = ' '
@@ -68,7 +76,14 @@ function! OmniSharp#testrunner#SetTests(bufferTests) abort
68
76
let job = OmniSharp#GetHost (buffer .bufnr ).job
69
77
let job.tests = get (job, ' tests' , {})
70
78
let filename = fnamemodify (bufname (buffer .bufnr ), ' :p' )
71
- let job.tests[filename] = buffer .tests
79
+ let existing = get (job.tests, filename, {})
80
+ let job.tests[filename] = existing
81
+ for test in buffer .tests
82
+ let extest = get (existing, test.name, { ' state' : ' Not run' })
83
+ let existing[test.name] = extest
84
+ let extest.framework = test.framework
85
+ let extest.lnum = test.nameRange.Start.Line
86
+ endfor
72
87
endfor
73
88
call s: Open ()
74
89
call win_gotoid (winid)
0 commit comments