56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
from tclint.commands.checks import CommandArgError
|
|
from tclint.syntax_tree import BracedWord
|
|
|
|
|
|
def _lib_ge_command_buffer_edit(args, parser, command_name, pos_script, len_args):
|
|
if len(args) != len_args:
|
|
raise CommandArgError(
|
|
f"wrong # of args to {command_name}: got {len(args)}, expected {len_args}"
|
|
)
|
|
args[pos_script] = parser.parse_script(args[pos_script])
|
|
return args
|
|
|
|
|
|
def _lib_ge_command_buffer(args, parser):
|
|
if (
|
|
len(args) < 1
|
|
or len(args) > 2
|
|
or (len(args) == 1 and isinstance(args[0], BracedWord))
|
|
):
|
|
raise CommandArgError(
|
|
f"wrong # of args to LIB_GE_command_buffer: got {len(args)}, expected 1 or 2"
|
|
)
|
|
if len(args) == 1:
|
|
return args
|
|
args[0] = parser.parse_script(args[0])
|
|
return args
|
|
|
|
|
|
def lib_ge_command_buffer_edit_append(args, parser):
|
|
_lib_ge_command_buffer_edit(args, parser, "LIB_GE_command_buffer_edit_append", 2, 4)
|
|
|
|
|
|
def lib_ge_command_buffer_edit_prepend(args, parser):
|
|
_lib_ge_command_buffer_edit(
|
|
args, parser, "LIB_GE_command_buffer_edit_prepend", 2, 4
|
|
)
|
|
|
|
|
|
def lib_ge_command_buffer_edit_replace(args, parser):
|
|
_lib_ge_command_buffer_edit(
|
|
args, parser, "LIB_GE_command_buffer_edit_replace", 3, 5
|
|
)
|
|
|
|
|
|
def lib_ge_command_buffer_edit_insert(args, parser):
|
|
_lib_ge_command_buffer_edit(args, parser, "LIB_GE_command_buffer_edit_insert", 2, 6)
|
|
|
|
|
|
commands = [
|
|
{"LIB_GE_command_buffer_edit_append": lib_ge_command_buffer_edit_append},
|
|
{"LIB_GE_command_buffer_edit_prepend": lib_ge_command_buffer_edit_prepend},
|
|
{"LIB_GE_command_buffer_edit_insert": lib_ge_command_buffer_edit_insert},
|
|
{"LIB_GE_command_buffer_edit_replace": lib_ge_command_buffer_edit_replace},
|
|
{"LIB_GE_command_buffer": _lib_ge_command_buffer},
|
|
]
|