@@ -15,94 +15,59 @@ local function setext_heading(start_row, end_row, level)
1515 local row_background_mark = vim .deepcopy (background_mark )
1616 row_background_mark .row = { row , row + 1 }
1717 vim .list_extend (result , {
18- {
19- row = { row , row },
20- col = { 0 , 0 },
21- virt_text = { { row == start_row and vim .trim (icon ) .. ' ' or ' ' , highlight } },
22- virt_text_pos = ' inline' ,
23- },
18+ util .inline (row , { 0 , 0 }, { row == start_row and vim .trim (icon ) .. ' ' or ' ' , highlight }),
2419 row_background_mark ,
2520 })
2621 end
2722 table.insert (result , 2 , sign_mark )
28- table.insert (result , # result , util .conceal (end_row , 0 , 3 ))
23+ table.insert (result , # result , util .conceal (end_row , { 0 , 3 } ))
2924 return result
3025end
3126
32- --- @param row integer
33- --- @param start_col integer
34- --- @param end_col integer
35- --- @param text string
36- --- @param highlight ' Link' | ' WikiLink'
37- --- @param conceal ? string
38- --- @return render.md.MarkInfo
39- local function link (row , start_col , end_col , text , highlight , conceal )
40- --- @type render.md.MarkInfo
41- return {
42- row = { row , row },
43- col = { start_col , end_col },
44- virt_text = { { text , util .hl (highlight ) } },
45- virt_text_pos = ' inline' ,
46- conceal = conceal ,
47- }
48- end
49-
5027describe (' ad_hoc.md' , function ()
5128 it (' custom' , function ()
5229 util .setup (' tests/data/ad_hoc.md' )
5330
54- local expected , row = {} , util .row ()
31+ local marks , row = util . marks () , util .row ()
5532
56- vim . list_extend ( expected , util .heading (row :get (), 1 ))
33+ marks : extend ( util .heading (row :get (), 1 ))
5734
58- vim . list_extend ( expected , setext_heading (row :increment (2 ), row :increment (2 ), 2 ))
35+ marks : extend ( setext_heading (row :inc (2 ), row :inc (2 ), 2 ))
5936
60- vim . list_extend ( expected , { util .bullet (row :increment (2 ), 0 , 1 ) } )
37+ marks : add ( util .bullet (row :inc (2 ), 0 , 1 ))
6138
62- vim .list_extend (expected , {
63- util .bullet (row :increment (), 0 , 1 ),
64- util .conceal (row :get (), 2 , 3 ),
65- link (row :get (), 3 , 14 , ' ' , ' WikiLink' , nil ),
66- util .conceal (row :get (), 14 , 15 ),
67- })
39+ marks :add (util .bullet (row :inc (), 0 , 1 ))
40+ marks :add (util .conceal (row :get (), { 2 , 3 }))
41+ marks :add (util .inline (row :get (), { 3 , 14 }, { ' ' , ' RenderMarkdownWikiLink' }))
42+ marks :add (util .conceal (row :get (), { 14 , 15 }))
6843
69- vim .list_extend (expected , {
70- util .bullet (row :increment (), 0 , 1 ),
71- util .conceal (row :get (), 2 , 3 ),
72- link (row :get (), 3 , 24 , ' ' , ' WikiLink' , nil ),
73- util .conceal (row :get (), 4 , 13 ),
74- util .conceal (row :get (), 24 , 25 ),
75- })
44+ marks :add (util .bullet (row :inc (), 0 , 1 ))
45+ marks :add (util .conceal (row :get (), { 2 , 3 }))
46+ marks :add (util .inline (row :get (), { 3 , 24 }, { ' ' , ' RenderMarkdownWikiLink' }))
47+ marks :add (util .conceal (row :get (), { 4 , 13 }))
48+ marks :add (util .conceal (row :get (), { 24 , 25 }))
7649
77- vim .list_extend (expected , {
78- util .bullet (row :increment (), 0 , 1 ),
79- util .conceal (row :get (), 2 , 3 ),
80- link (row :get (), 2 , 20 , ' ' , ' Link' , nil ),
81- util .highlight (row :get (), 2 , 20 , ' Link' ),
82- util .conceal (row :get (), 19 , 20 ),
83- })
50+ marks :add (util .bullet (row :inc (), 0 , 1 ))
51+ marks :add (util .conceal (row :get (), { 2 , 3 }))
52+ marks :add (util .inline (row :get (), { 2 , 20 }, { ' ' , ' RenderMarkdownLink' }))
53+ marks :add (util .highlight (row :get (), { 2 , 20 }, ' link' ))
54+ marks :add (util .conceal (row :get (), { 19 , 20 }))
8455
85- vim .list_extend (expected , {
86- util .bullet (row :increment (), 0 , 1 ),
87- util .conceal (row :get (), 2 , 3 ),
88- link (row :get (), 2 , 26 , ' ' , ' Link' , nil ),
89- util .highlight (row :get (), 2 , 26 , ' Link' ),
90- util .conceal (row :get (), 25 , 26 ),
91- })
56+ marks :add (util .bullet (row :inc (), 0 , 1 ))
57+ marks :add (util .conceal (row :get (), { 2 , 3 }))
58+ marks :add (util .inline (row :get (), { 2 , 26 }, { ' ' , ' RenderMarkdownLink' }))
59+ marks :add (util .highlight (row :get (), { 2 , 26 }, ' link' ))
60+ marks :add (util .conceal (row :get (), { 25 , 26 }))
9261
93- vim .list_extend (expected , {
94- util .bullet (row :increment (), 0 , 1 ),
95- link (row :get (), 2 , 61 , ' ' , ' Link' , nil ),
96- })
62+ marks :add (util .bullet (row :inc (), 0 , 1 ))
63+ marks :add (util .inline (row :get (), { 2 , 61 }, { ' ' , ' RenderMarkdownLink' }))
9764
98- vim .list_extend (expected , {
99- util .bullet (row :increment (), 0 , 1 ),
100- link (row :get (), 16 , 25 , ' ¹ ᴵⁿᶠᵒ' , ' Link' , ' ' ),
101- util .conceal (row :increment (2 ), 0 , 16 ),
102- link (row :increment (2 ), 0 , 9 , ' ¹ ᴵⁿᶠᵒ' , ' Link' , ' ' ),
103- })
65+ marks :add (util .bullet (row :inc (), 0 , 1 ))
66+ marks :add (util .inline (row :get (), { 16 , 25 }, { ' ¹ ᴵⁿᶠᵒ' , ' RenderMarkdownLink' }, ' ' ))
67+ marks :add (util .conceal (row :inc (2 ), { 0 , 16 }))
68+ marks :add (util .inline (row :inc (2 ), { 0 , 9 }, { ' ¹ ᴵⁿᶠᵒ' , ' RenderMarkdownLink' }, ' ' ))
10469
105- util .assert_view (expected , {
70+ util .assert_view (marks , {
10671 ' 1 Heading' ,
10772 ' 2' ,
10873 ' 3 Heading 2 Line 1' ,
0 commit comments