lint.execute() {
  local file="${1:-${output:-}}";
  if [ -f "${file}" ]; then
    rlx.interpreter;
    # validate the json
    if [ "${rlx_settings[lang]:-}" != false ] \
      && [ "${interpreter:-}" != cat ] \
      && [ "${rlx_settings[lint]:-}" == true ]; then
      rlx.file.cleanup "${files[lint]}";
      cat "${file}" | "${interpreter}" \
        1>/dev/null 2>"${files[lint]}";
      if [ $? -gt 0 ]; then
        local err="$( cat "${files[lint]}" )";
        err="${err//%/%%}";
        console error -- "%s" "${err}";
        console error -- "lint failed, invalid json in %s" \
          "${file}";
        rlx.file.cleanup "${files[lint]}";
        # TODO: allow re-editing of the document...
        return 1;
      fi
    fi
  else
    console error -- "cannot lint, %s does not exist" "${file}";
    return 1;
  fi
  return 0;
}
