Skip to content

iash release "Firmament"

Latest
Compare
Choose a tag to compare
@hal7df hal7df released this 14 Jun 21:23
· 75 commits to master since this release

New Features

  • Save/load environment to file
    • Automatically save and load to/from file at $IASH_CONFIG_PATH
    • Function accessible via shell debugger
  • New environment variables (Note: these should NOT be altered -- doing so can lead to undesired behavior)
    • $IASH_CONFIG_PATH (string): The path to which application configuration should be stored.
    • $IASH_DEBUG_ACTIVE (bool): Whether the builtin shell debugger is running or not
  • New library "crosslib.h"
    • Namespace CrossLib
      • void clearScreen(): Clears the screen.
      • int mkdir (const char* path): Create a directory at path.
      • bool isdir (const char* path): Checks if path is a directory.
      • bool isfile (const char* path): Checks if path is a file.
      • std::string getConfigDir(): Returns the platform's default configuration directory.

Improvements

  • Cleaned up shell debugger
    • All environment variable management now uses the command iash env
    • All other contingencies that set things use the set command, display things use the disp command
    • Fixed crash on command not found calls when called from the debugger
  • (Internal only) Function for converting text to environment variable name
  • (Internal only) Function for testing if an environment variable exists

Notes

The iash command is still used to invoke the shell debugger. Programs should ignore the iash command if they receive it.

Using iash

iash does not yet have a build as a system library. In order to use it, download one of the archives below, and extract the 'iash' folder into your project. From there, either set it up using your preferred build method, or, if you are using CMake, add the following lines to your root CMakeLists.txt file:

include_directories(${PROJECT_SOURCE_DIR}/iash)
add_subdirectory(iash)
link_directories(${PROJECT_BINARY_DIR/iash)

and make sure to link the iash target to your executable.