aboutsummaryrefslogtreecommitdiff
path: root/modules/textadept/macros.lua
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2020-03-03 19:39:02 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2020-03-03 19:39:02 -0500
commitfceb1a37df623649d191c3c1a881e5b0538b1391 (patch)
tree87a34dfc2397dc4afdaa0c8ec189f037300f458e /modules/textadept/macros.lua
parent1618f5017abb3c9bacc9ba346bf22a936ef5dd06 (diff)
downloadtextadept-fceb1a37df623649d191c3c1a881e5b0538b1391.tar.gz
textadept-fceb1a37df623649d191c3c1a881e5b0538b1391.zip
Added test suite and API type checking for more helpful error messages.
Diffstat (limited to 'modules/textadept/macros.lua')
-rw-r--r--modules/textadept/macros.lua21
1 files changed, 13 insertions, 8 deletions
diff --git a/modules/textadept/macros.lua b/modules/textadept/macros.lua
index 123c0392..a965b254 100644
--- a/modules/textadept/macros.lua
+++ b/modules/textadept/macros.lua
@@ -87,10 +87,12 @@ end
-- @name save
function M.save(filename)
if recording or not macro then return end
- filename = filename or ui.dialogs.filesave{
- title = _L['Save Macro'], with_directory = _USERHOME, with_extension = 'm'
- }
- if not filename then return end
+ if not assert_type(filename, 'string/nil', 1) then
+ filename = ui.dialogs.filesave{
+ title = _L['Save Macro'], with_directory = _USERHOME, with_extension = 'm'
+ }
+ if not filename then return end
+ end
local f = assert(io.open(filename, 'w'))
f:write('return {\n')
for i = 1, #macro do
@@ -113,10 +115,13 @@ end
-- @name load
function M.load(filename)
if recording then return end
- filename = filename or ui.dialogs.fileselect{
- title = _L['Load Macro'], with_directory = _USERHOME, with_extension = 'm'
- }
- if filename then macro = assert(loadfile(filename, 't', {}))() end
+ if not assert_type(filename, 'string/nil', 1) then
+ filename = ui.dialogs.fileselect{
+ title = _L['Load Macro'], with_directory = _USERHOME, with_extension = 'm'
+ }
+ if not filename then return end
+ end
+ macro = assert(loadfile(filename, 't', {}))()
end
return M