Shell Script Libraries
BashSupport Pro supports user-defined shell script libraries to help with complex project setups.
Some shell script projects source many other files at once, for example within a loop.
It would be very tedious to define all the needed # shellcheck source=
directives to declare where the files are located.
BashSupport Pro’s shell script libraries help you to quickly define this relationship between sets of files.
In the following example, the edited file main.bash
sources all shell script files located in directory ./lib
.
How to Configure Shell Script Libraries
Libraries are defined and stored in the project settings. To allow sharing, paths to files and directories are stored relatively to the project’s base directory. Your IDE’s path variables are supported.
Usually one library is all you need for a project, but you can define any number of libraries. If a file is matched by more than one library, then all are applied.
All definitions found in the library sources, i.e. functions and variables, are made available to all files defined in “Library Usage”. If you need scoped definitions, then shell script libraries are most likely not what you need.
- Library Name
- The descriptive name of the library to present the library in the user interface.
- Library Sources
- The list of files and directories defining the library.
- All definitions found in the files, i.e. functions and variables, are made available to the files defined in “Library Usage”. Definitions are searched start to end, the first file in the list containing a declaration is considered as the main declaration
- Library Usage
- The list of files and directories using the definitions found in the library sources.
- Recursive
- This checkbox is available for configured directories. If turned on, all shell script files found in the directory itself or one of the subdirectories are collected.