Skip to content

Commit 77be09b

Browse files
committed
feat: Show number of lines on delete/toggle - closes #101
1 parent 3ac9acc commit 77be09b

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

lua/debugprint/init.lua

+22
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ end
237237
M.deleteprints = function(opts)
238238
local lines_to_consider, initial_line = get_lines_to_handle(opts)
239239
local delete_adjust = 0
240+
local deleted_count = 0
240241

241242
if not utils.is_modifiable() then
242243
return
@@ -256,12 +257,23 @@ M.deleteprints = function(opts)
256257
{}
257258
)
258259
delete_adjust = delete_adjust + 1
260+
deleted_count = deleted_count + 1
259261
end
260262
end
263+
264+
if deleted_count == 1 then
265+
vim.notify(deleted_count .. " debug line deleted.", vim.log.levels.INFO)
266+
else
267+
vim.notify(
268+
deleted_count .. " debug lines deleted.",
269+
vim.log.levels.INFO
270+
)
271+
end
261272
end
262273

263274
M.toggle_comment_debugprints = function(opts)
264275
local lines_to_consider, initial_line = get_lines_to_handle(opts)
276+
local toggled_count = 0
265277

266278
if not utils.is_modifiable() then
267279
return
@@ -271,8 +283,18 @@ M.toggle_comment_debugprints = function(opts)
271283
if string.find(line, global_opts.print_tag, 1, true) ~= nil then
272284
local line_to_toggle = count + initial_line - 1
273285
utils.toggle_comment_line(line_to_toggle)
286+
toggled_count = toggled_count + 1
274287
end
275288
end
289+
290+
if toggled_count == 1 then
291+
vim.notify(toggled_count .. " debug line comment-toggled.", vim.log.levels.INFO)
292+
else
293+
vim.notify(
294+
toggled_count .. " debug lines comment-toggled.",
295+
vim.log.levels.INFO
296+
)
297+
end
276298
end
277299

278300
M.setup = function(opts)

tests/debugprint.lua

+36
Original file line numberDiff line numberDiff line change
@@ -1267,6 +1267,8 @@ describe("delete lines command", function()
12671267
after_each(teardown)
12681268

12691269
it("basic", function()
1270+
assert.equals(notify_message, nil)
1271+
12701272
debugprint.setup({})
12711273

12721274
init_file({
@@ -1278,6 +1280,8 @@ describe("delete lines command", function()
12781280
feedkeys("g?p")
12791281
vim.cmd("DeleteDebugPrints")
12801282

1283+
assert.equals(notify_message, "1 debug line deleted.")
1284+
12811285
check_lines({
12821286
"function x()",
12831287
" local xyz = 3",
@@ -1286,6 +1290,8 @@ describe("delete lines command", function()
12861290
end)
12871291

12881292
it("with custom command", function()
1293+
assert.equals(notify_message, nil)
1294+
12891295
debugprint.setup({ commands = { delete_debug_prints = "FooBar" } })
12901296

12911297
init_file({
@@ -1297,6 +1303,8 @@ describe("delete lines command", function()
12971303
feedkeys("g?p")
12981304
vim.cmd("FooBar")
12991305

1306+
assert.equals(notify_message, "1 debug line deleted.")
1307+
13001308
check_lines({
13011309
"function x()",
13021310
" local xyz = 3",
@@ -1307,6 +1315,8 @@ describe("delete lines command", function()
13071315
it("complex", function()
13081316
debugprint.setup({})
13091317

1318+
assert.equals(notify_message, nil)
1319+
13101320
init_file({
13111321
"function x()",
13121322
" local xyz = 3",
@@ -1315,6 +1325,7 @@ describe("delete lines command", function()
13151325

13161326
feedkeys("g?pg?vwibble<CR>g?p")
13171327
vim.cmd("DeleteDebugPrints")
1328+
assert.equals(notify_message, "3 debug lines deleted.")
13181329

13191330
check_lines({
13201331
"function x()",
@@ -1326,6 +1337,8 @@ describe("delete lines command", function()
13261337
it("range - one line", function()
13271338
debugprint.setup({})
13281339

1340+
assert.equals(notify_message, nil)
1341+
13291342
local filename = init_file({
13301343
"function x()",
13311344
" local xyz = 3",
@@ -1335,6 +1348,7 @@ describe("delete lines command", function()
13351348
feedkeys("g?pg?pg?pg?p")
13361349

13371350
vim.cmd("2 DeleteDebugPrints")
1351+
assert.equals(notify_message, "1 debug line deleted.")
13381352

13391353
check_lines({
13401354
"function x()",
@@ -1355,6 +1369,8 @@ describe("delete lines command", function()
13551369
it("range", function()
13561370
debugprint.setup({})
13571371

1372+
assert.equals(notify_message, nil)
1373+
13581374
local filename = init_file({
13591375
"function x()",
13601376
" local xyz = 3",
@@ -1364,6 +1380,7 @@ describe("delete lines command", function()
13641380
feedkeys("g?pg?pg?pg?p")
13651381

13661382
vim.cmd("2,3 DeleteDebugPrints")
1383+
assert.equals(notify_message, "2 debug lines deleted.")
13671384

13681385
check_lines({
13691386
"function x()",
@@ -1381,6 +1398,8 @@ describe("delete lines command", function()
13811398
it("range at top", function()
13821399
debugprint.setup({})
13831400

1401+
assert.equals(notify_message, nil)
1402+
13841403
local filename = init_file({
13851404
"function x()",
13861405
"end",
@@ -1390,6 +1409,7 @@ describe("delete lines command", function()
13901409
feedkeys("g?P")
13911410

13921411
vim.cmd("1 DeleteDebugPrints")
1412+
assert.equals(notify_message, "1 debug line deleted.")
13931413

13941414
check_lines({
13951415
"function x()",
@@ -1403,6 +1423,8 @@ describe("delete lines command", function()
14031423
it("range at bottom", function()
14041424
debugprint.setup({})
14051425

1426+
assert.equals(notify_message, nil)
1427+
14061428
local filename = init_file({
14071429
"function x()",
14081430
}, "lua", 1, 0)
@@ -1411,6 +1433,7 @@ describe("delete lines command", function()
14111433
feedkeys("g?P")
14121434

14131435
vim.cmd("$ DeleteDebugPrints")
1436+
assert.equals(notify_message, "1 debug line deleted.")
14141437

14151438
check_lines({
14161439
"print('DEBUGPRINT[2]: "
@@ -1423,6 +1446,8 @@ describe("delete lines command", function()
14231446
it("with regexp print_tag", function()
14241447
debugprint.setup({ print_tag = "\\033[33mDEBUG\\033[0m" })
14251448

1449+
assert.equals(notify_message, nil)
1450+
14261451
init_file({
14271452
"function x()",
14281453
" local xyz = 3",
@@ -1431,6 +1456,7 @@ describe("delete lines command", function()
14311456

14321457
feedkeys("g?p")
14331458
vim.cmd("DeleteDebugPrints")
1459+
assert.equals(notify_message, "1 debug line deleted.")
14341460

14351461
check_lines({
14361462
"function x()",
@@ -1444,6 +1470,8 @@ describe("delete lines command", function()
14441470
keymaps = { normal = { delete_debug_prints = "g?x" } },
14451471
})
14461472

1473+
assert.equals(notify_message, nil)
1474+
14471475
init_file({
14481476
"function x()",
14491477
" local xyz = 3",
@@ -1452,6 +1480,7 @@ describe("delete lines command", function()
14521480

14531481
feedkeys("g?p")
14541482
feedkeys("g?x")
1483+
assert.equals(notify_message, "1 debug line deleted.")
14551484

14561485
check_lines({
14571486
"function x()",
@@ -1686,6 +1715,7 @@ describe("comment toggle", function()
16861715

16871716
it("basic", function()
16881717
debugprint.setup({})
1718+
assert.equals(notify_message, nil)
16891719

16901720
local filename = init_file({
16911721
"function x()",
@@ -1696,6 +1726,7 @@ describe("comment toggle", function()
16961726
feedkeys("g?p")
16971727
vim.cmd("ToggleCommentDebugPrint")
16981728
feedkeys("jjg?p")
1729+
assert.equals(notify_message, "1 debug line comment-toggled.")
16991730

17001731
check_lines({
17011732
"function x()",
@@ -1710,6 +1741,7 @@ describe("comment toggle", function()
17101741
})
17111742

17121743
vim.cmd("ToggleCommentDebugPrint")
1744+
assert.equals(notify_message, "2 debug lines comment-toggled.")
17131745

17141746
check_lines({
17151747
"function x()",
@@ -1726,6 +1758,7 @@ describe("comment toggle", function()
17261758

17271759
it("range", function()
17281760
debugprint.setup({})
1761+
assert.equals(notify_message, nil)
17291762

17301763
local filename = init_file({
17311764
"function x()",
@@ -1737,6 +1770,7 @@ describe("comment toggle", function()
17371770
feedkeys("jj")
17381771
feedkeys("g?p")
17391772
vim.cmd("2 ToggleCommentDebugPrint")
1773+
assert.equals(notify_message, "1 debug line comment-toggled.")
17401774

17411775
check_lines({
17421776
"function x()",
@@ -1755,6 +1789,7 @@ describe("comment toggle", function()
17551789
debugprint.setup({
17561790
keymaps = { normal = { toggle_comment_debug_prints = "g?x" } },
17571791
})
1792+
assert.equals(notify_message, nil)
17581793

17591794
local filename = init_file({
17601795
"function x()",
@@ -1766,6 +1801,7 @@ describe("comment toggle", function()
17661801
feedkeys("g?xj")
17671802
feedkeys("j")
17681803
feedkeys("g?p")
1804+
assert.equals(notify_message, "1 debug line comment-toggled.")
17691805

17701806
check_lines({
17711807
"function x()",

0 commit comments

Comments
 (0)