--- /dev/null
+from tclint.commands.checks import (
+ CommandArgError,
+)
+from tclint.commands.schema import commands_schema
+
+
+def _script_args(name, n, script_args, args, parser):
+ if len(args) != n:
+ raise CommandArgError(
+ f"wrong # of args to {name}: got {len(args)}, expected {n}"
+ )
+
+ res = []
+ arg_n = 0
+ for arg in args:
+ if arg_n in script_args:
+ res.append(parser.parse_script(arg))
+ else:
+ res.append(arg)
+ arg_n += 1
+ return res
+
+
+def _script_last_arg(name, n, args, parser):
+ return _script_args(name, n, [n - 1], args, parser)
+
+
+def _cond_wrap(args, parser):
+ return _script_last_arg("cond_wrap", 3, args, parser)
+
+
+def _foreach_gnat_encoding(args, parser):
+ return _script_last_arg("foreach_gnat_encoding", 4, args, parser)
+
+
+def _foreach_location_functions(args, parser):
+ return _script_args("foreach_location_functions", 4, [2, 3], args, parser)
+
+
+def _foreach_location_labels(args, parser):
+ return _script_args("foreach_location_labels", 5, [3, 4], args, parser)
+
+
+def _foreach_mi_ui_mode(args, parser):
+ return _script_last_arg("foreach_mi_ui_mode", 2, args, parser)
+
+
+def _foreach_with_prefix(args, parser):
+ return _script_last_arg("foreach_with_prefix", 3, args, parser)
+
+
+def _gdb_caching_proc(args, parser):
+ return _script_last_arg("gdb_caching_proc", 3, args, parser)
+
+
+def _proc_with_prefix(args, parser):
+ return _script_last_arg("proc_with_prefix", 3, args, parser)
+
+
+def _require(args, parser):
+ res = []
+ for arg in args:
+ res.append(parser.parse_script(arg))
+ return res
+
+
+def _save_vars(args, parser):
+ return _script_last_arg("save_vars", 2, args, parser)
+
+
+def _save_target_board_info(args, parser):
+ return _script_last_arg("save_target_board_info", 2, args, parser)
+
+
+def _with_debuginfod_env(args, parser):
+ return _script_last_arg("with_debuginfod_env", 2, args, parser)
+
+
+def _with_shared_gdb(args, parser):
+ return _script_last_arg("with_shared_gdb", 1, args, parser)
+
+
+def _with_test_prefix(args, parser):
+ return _script_last_arg("with_test_prefix", 2, args, parser)
+
+
+def _with_cwd(args, parser):
+ return _script_last_arg("with_cwd", 2, args, parser)
+
+
+def _with_gdb_cwd(args, parser):
+ return _script_last_arg("with_gdb_cwd", 2, args, parser)
+
+
+def _with_gdb_prompt(args, parser):
+ return _script_last_arg("with_gdb_prompt", 2, args, parser)
+
+
+def _with_target_charset(args, parser):
+ return _script_last_arg("with_target_charset", 2, args, parser)
+
+
+def _with_max_value_size(args, parser):
+ return _script_last_arg("with_max_value_size", 2, args, parser)
+
+
+def _with_spawn_id(args, parser):
+ return _script_last_arg("with_spawn_id", 2, args, parser)
+
+
+def _with_timeout_factor(args, parser):
+ return _script_last_arg("with_timeout_factor", 2, args, parser)
+
+
+def _with_read1_timeout_factor(args, parser):
+ return _script_last_arg("with_read1_timeout_factor", 2, args, parser)
+
+
+def _with_multilib_flags_filtered(args, parser):
+ return _script_last_arg("with_multilib_flags_filtered", 2, args, parser)
+
+
+def _with_PIE_multilib_flags_filtered(args, parser):
+ return _script_last_arg("with_PIE_multilib_flags_filtered", 1, args, parser)
+
+
+def _with_set(args, parser):
+ return _script_last_arg("with_set", 3, args, parser)
+
+
+def _with_complaints(args, parser):
+ return _script_last_arg("with_complaints", 2, args, parser)
+
+
+def _with_override(args, parser):
+ return _script_last_arg("with_override", 3, args, parser)
+
+
+def _with_ansi_styling_terminal(args, parser):
+ return _script_last_arg("with_ansi_styling_terminal", 1, args, parser)
+
+
+def _with_lock(args, parser):
+ return _script_last_arg("with_lock", 2, args, parser)
+
+
+def _with_rocm_gpu_lock(args, parser):
+ return _script_last_arg("with_rocm_gpu_lock", 1, args, parser)
+
+
+def _ns_term_log_cur(args, parser):
+ return _script_last_arg("Term::log_cur", 2, args, parser)
+
+
+def _ns_term_with_term(args, parser):
+ return _script_last_arg("Term::with_term", 2, args, parser)
+
+
+def _ns_term_with_tuiterm(args, parser):
+ return _script_last_arg("Term::with_tuiterm", 3, args, parser)
+
+
+commands = commands_schema(
+ {
+ "cond_wrap": _cond_wrap,
+ "foreach_gnat_encoding": _foreach_gnat_encoding,
+ "foreach_location_functions": _foreach_location_functions,
+ "foreach_location_labels": _foreach_location_labels,
+ "foreach_mi_ui_mode": _foreach_mi_ui_mode,
+ "foreach_with_prefix": _foreach_with_prefix,
+ "gdb_caching_proc": _gdb_caching_proc,
+ "proc_with_prefix": _proc_with_prefix,
+ "require": _require,
+ "save_vars": _save_vars,
+ "save_target_board_info": _save_target_board_info,
+ "with_debuginfod_env": _with_debuginfod_env,
+ "with_shared_gdb": _with_shared_gdb,
+ "with_test_prefix": _with_test_prefix,
+ "with_cwd": _with_cwd,
+ "with_gdb_cwd": _with_gdb_cwd,
+ "with_gdb_prompt": _with_gdb_prompt,
+ "with_target_charset": _with_target_charset,
+ "with_max_value_size": _with_max_value_size,
+ "with_spawn_id": _with_spawn_id,
+ "with_timeout_factor": _with_timeout_factor,
+ "with_read1_timeout_factor": _with_read1_timeout_factor,
+ "with_multilib_flags_filtered": _with_multilib_flags_filtered,
+ "with_PIE_multilib_flags_filtered": _with_PIE_multilib_flags_filtered,
+ "with_set": _with_set,
+ "with_complaints": _with_complaints,
+ "with_override": _with_override,
+ "with_ansi_styling_terminal": _with_ansi_styling_terminal,
+ "with_lock": _with_lock,
+ "with_rocm_gpu_lock": _with_rocm_gpu_lock,
+ "Term::_log_cur": _ns_term_log_cur,
+ "Term::with_term": _ns_term_with_term,
+ "Term::with_tuiterm": _ns_term_with_tuiterm,
+ }
+)