bail early when no blocks in file

This commit is contained in:
marshmallow 2023-06-25 15:16:03 +10:00
parent c5c1e4ca2b
commit 3022690342
No known key found for this signature in database
GPG key ID: 767B8880F5AAEB9C

View file

@ -156,6 +156,13 @@ vim.api.nvim_create_user_command("OrgExecute", function(el)
local script = M._run_all
local parameters = {}
local blocks = M.get_blocks_in_buffer(0, line1, line2)
if #blocks <= 0 then
vim.notify("No blocks", vim.log.levels.INFO)
return
end
if arg ~= "" then
if el.bang then
vim.notify("Evaulating code block (" .. arg .. ") on your system", vim.log.levels.INFO)
@ -178,15 +185,10 @@ vim.api.nvim_create_user_command("OrgExecute", function(el)
end
elseif range == 1 then
script = M._run_by_number
local blocks = M.get_blocks_in_buffer(0, line1, line2)
local named_blocks = M.get_names_in_buffer(0, line1, line2)
if #blocks ~= 1 then
if #blocks > 1 then
vim.notify("Bailing on multiple blocks with single line range ?? (Report upstream)", vim.log.levinitOR)
else
vim.notify("No blocks", vim.log.levels.ERROR)
end
vim.notify("Bailing on multiple blocks with single line range ?? (Report upstream)", vim.log.level.ERROR)
return
end
@ -211,13 +213,8 @@ vim.api.nvim_create_user_command("OrgExecute", function(el)
parameters = blocks
elseif range == 2 then
script = M._run_by_number
local blocks = M.get_blocks_in_buffer(0, line1, line2)
local names = M.get_names_in_buffer(0, line1, line2)
if #blocks <= 0 then
return
end
local names_string = #names > 0 and table.concat(names, ", ") or ""
local sep = #blocks > #names and #names > 0 and ", " or ""
local unnamed_string = #blocks > #names and #blocks - #names .. " unnamed" or ""
@ -278,6 +275,13 @@ vim.api.nvim_create_user_command("OrgTangle", function(el)
local script = M._tangle_all
local parameters = {}
local blocks = M.get_blocks_in_buffer(0, line1, line2)
if #blocks <= 0 then
vim.notify("No blocks", vim.log.levels.INFO)
return
end
if line1 == 1 and line2 == total_lines then
if el.bang then
vim.notify("Tangling whole file", vim.log.levels.INFO)
@ -286,15 +290,10 @@ vim.api.nvim_create_user_command("OrgTangle", function(el)
end
elseif range == 1 then
script = M._tangle_by_number
local blocks = M.get_blocks_in_buffer(0, line1, line2)
local named_blocks = M.get_names_in_buffer(0, line1, line2)
if #blocks ~= 1 then
if #blocks > 1 then
vim.notify("Bailing on multiple blocks with single line range ?? (Report upstream)", vim.log.levinitOR)
else
vim.notify("No blocks", vim.log.levels.ERROR)
end
return
end
@ -319,13 +318,8 @@ vim.api.nvim_create_user_command("OrgTangle", function(el)
parameters = blocks
elseif range == 2 then
script = M._tangle_by_number
local blocks = M.get_blocks_in_buffer(0, line1, line2)
local names = M.get_names_in_buffer(0, line1, line2)
if #blocks <= 0 then
return
end
local names_string = #names > 0 and table.concat(names, ", ") or ""
local sep = #blocks > #names and #names > 0 and ", " or ""
local unnamed_string = #blocks > #names and #blocks - #names .. " unnamed" or ""