BashSpark
Loading...
Searching...
No Matches
shell_status.h File Reference

Defines status codes for the shell. More...

#include <cinttypes>
#include <iostream>
Include dependency graph for shell_status.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  bs
 BashSpark main namespace.
 

Enumerations

enum class  bs::shell_status : std::uint32_t {
  bs::SHELL_SUCCESS = 0 , bs::SHELL_ERROR = 1 , bs::SHELL_ERROR_SYNTAX_ERROR , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_SIMPLE_QUOTES ,
  bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_DOUBLE_QUOTES , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_BACK_QUOTES , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_PARENTHESES , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_BRACKETS ,
  bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_SQR_BRACKETS , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_SUBCOMMAND , bs::SHELL_ERROR_SYNTAX_ERROR_UNCLOSED_VARIABLE , bs::SHELL_ERROR_SYNTAX_ERROR_INVALID_VARIABLE_NAME ,
  bs::SHELL_ERROR_SYNTAX_ERROR_UNEXPECTED_TOKEN , bs::SHELL_ERROR_SYNTAX_ERROR_UNEXPECTED_EOF , bs::SHELL_ERROR_SYNTAX_ERROR_ARG_OUT_OF_RANGE , bs::SHELL_ERROR_SYNTAX_ERROR_EMPTY_BLOCK ,
  bs::SHELL_ERROR_SYNTAX_ERROR_UNFINISHED_KEYWORD_IF , bs::SHELL_ERROR_SYNTAX_ERROR_MISSING_KEYWORD_THEN , bs::SHELL_ERROR_SYNTAX_ERROR_UNFINISHED_KEYWORD_LOOP , bs::SHELL_ERROR_SYNTAX_ERROR_UNFINISHED_KEYWORD_FOR ,
  bs::SHELL_ERROR_SYNTAX_ERROR_MISSING_KEYWORD_IN , bs::SHELL_ERROR_SYNTAX_ERROR_UNFINISHED_KEYWORD_WHILE , bs::SHELL_ERROR_SYNTAX_ERROR_UNFINISHED_KEYWORD_UNTIL , bs::SHELL_ERROR_SYNTAX_ERROR_MISSING_KEYWORD_DO ,
  bs::SHELL_ERROR_SYNTAX_ERROR_INVALID_FUNCTION_NAME , bs::SHELL_ERROR_SYNTAX_ERROR_INVALID_FUNCTION_BODY , bs::SHELL_ERROR_BAD_ENCODING , bs::SHELL_ERROR_COMMAND_NOT_FOUND ,
  bs::SHELL_ERROR_MAX_DEPTH_REACHED , bs::SHELL_CMD_ERROR_GETENV_PARAM_NUMBER , bs::SHELL_CMD_ERROR_GETENV_VARIABLE_NAME_INVALID , bs::SHELL_CMD_ERROR_GETVAR_PARAM_NUMBER ,
  bs::SHELL_CMD_ERROR_GETVAR_VARIABLE_NAME_INVALID , bs::SHELL_CMD_ERROR_SETENV_PARAM_NUMBER , bs::SHELL_CMD_ERROR_SETENV_VARIABLE_NAME_INVALID , bs::SHELL_CMD_ERROR_SETVAR_PARAM_NUMBER ,
  bs::SHELL_CMD_ERROR_SETVAR_VARIABLE_NAME_INVALID , bs::SHELL_CMD_ERROR_SEQ_PARAM_NUMBER , bs::SHELL_CMD_ERROR_SEQ_INVALID_INT_FORMAT , bs::SHELL_CMD_ERROR_SEQ_INT_OUT_OF_BOUNDS ,
  bs::SHELL_CMD_ERROR_SEQ_ITERATION_LOGIC , bs::SHELL_CMD_ERROR_TEST_UNCLOSED_PARENTHESIS , bs::SHELL_CMD_ERROR_TEST_MALFORMED_EXPRESSION , bs::SHELL_CMD_ERROR_TEST_MALFORMED_REGEX ,
  bs::SHELL_CMD_TEST_FALSE , bs::SHELL_CMD_ERROR_MATH_NOT_AN_INTEGER , bs::SHELL_CMD_ERROR_MATH_OVERFLOW , bs::SHELL_CMD_ERROR_MATH_UNDERFLOW ,
  bs::SHELL_CMD_ERROR_MATH_DIV_BY_ZERO , bs::SHELL_CMD_ERROR_MATH_POW_0_EXP_0 , bs::SHELL_CMD_ERROR_MATH_FACTORIAL_NEGATIVE , bs::SHELL_CMD_ERROR_MATH_MALFORMED_EXPRESSION ,
  bs::SHELL_CMD_ERROR_MATH_MAX_DEPTH_REACHED , bs::SHELL_CMD_ERROR_MATH_INVALID_VARIABLE_NAME , bs::SHELL_CMD_ERROR_MATH_SEQ_ITERATION_LOGIC , bs::SHELL_CMD_ERROR_FCALL_PARAM_NUMBER ,
  bs::SHELL_CMD_ERROR_FCALL_FUNCTION_NOT_FOUND , bs::SHELL_CMD_ERROR = 108
}
 Shell status codes. More...
 

Functions

constexpr shell_status bs::make_user_code (const unsigned int nCode)
 Generates status codes for user use from user codes.
 
constexpr bool bs::is_syntax_error (const shell_status nStatus)
 

Variables

constexpr std::size_t bs::SHELL_MAX_DEPTH = 16
 Maximum depth allowed for shell.
 

Detailed Description

Defines status codes for the shell.

This header file contains constants that represent various shell status codes. These codes indicate the result of executing commands or operations within the shell.

Date
Created on 2/11/25
Author
Dante Doménech Martínez

This file is part of BashSpark. Copyright (C) 2025 Dante Doménech Martínez

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.