Skip to content

Commit

Permalink
✨ added fs::getFileMaxLineLength
Browse files Browse the repository at this point in the history
  • Loading branch information
jcaillon committed Feb 3, 2025
1 parent 0641b3e commit 3065abe
Show file tree
Hide file tree
Showing 15 changed files with 119 additions and 55 deletions.
9 changes: 4 additions & 5 deletions commands.d/self-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,10 @@ VALET_CONFIG_ENABLE_NERDFONT_ICONS=\"\${VALET_CONFIG_ENABLE_NERDFONT_ICONS:-${EX
# If true, will forcibly enable the color output (otherwise we try to detect color support on start).
VALET_CONFIG_ENABLE_COLORS=\"\${VALET_CONFIG_ENABLE_COLORS:-${EXPORTED_VALET_CONFIG_ENABLE_COLORS:-}}\"
# If true, will always use the pure bash implementation, even if we could use an existing binary in the path.
VALET_CONFIG_STRICT_PURE_BASH=\"\${VALET_CONFIG_STRICT_PURE_BASH:-${EXPORTED_VALET_CONFIG_STRICT_PURE_BASH:-}}\"
## -----------
## Log/output configuration
## -----------
Expand Down Expand Up @@ -248,11 +252,6 @@ VALET_CONFIG_LOG_TO_DIRECTORY=\"\${VALET_CONFIG_LOG_TO_DIRECTORY:-${EXPORTED_VAL
# printf -v logFile '%s%(%F_%Hh%Mm%Ss)T%s' 'valet-' \${EPOCHSECONDS} '.log'
VALET_CONFIG_LOG_FILENAME_PATTERN=\"\${VALET_CONFIG_LOG_FILENAME_PATTERN:-${EXPORTED_VALET_CONFIG_LOG_FILENAME_PATTERN:-}}\"
# The bash profiler logs will automatically be cleaned up and improved to make them
# more readable.
# This process can be done in awk (by default if found on your system) or
# you can force to use bash by setting this property to true.
VALET_CONFIG_LOG_CLEANUP_USING_BASH=\"\${VALET_CONFIG_LOG_CLEANUP_USING_BASH:-${EXPORTED_VALET_CONFIG_LOG_CLEANUP_USING_BASH:-}}\"
## -----------
## Log icons configuration
Expand Down
6 changes: 0 additions & 6 deletions docs/static/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,6 @@ VALET_CONFIG_LOG_TO_DIRECTORY="${VALET_CONFIG_LOG_TO_DIRECTORY:-}"
# printf -v logFile '%s%(%F_%Hh%Mm%Ss)T%s' 'valet-' ${EPOCHSECONDS} '.log'
VALET_CONFIG_LOG_FILENAME_PATTERN="${VALET_CONFIG_LOG_FILENAME_PATTERN:-}"

# The bash profiler logs will automatically be cleaned up and improved to make them
# more readable.
# This process can be done in awk (by default if found on your system) or
# you can force to use bash by setting this property to true.
VALET_CONFIG_LOG_CLEANUP_USING_BASH="${VALET_CONFIG_LOG_CLEANUP_USING_BASH:-}"

## -----------
## Log icons configuration
## -----------
Expand Down
2 changes: 1 addition & 1 deletion libraries.d/lib-exe
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ function exe::invoke() {
function exe::captureOutput() {
local IFS=' '
# shellcheck disable=SC2068
${@} &>"${GLOBAL_TEMPORARY_STDOUT_FILE}" || return 1
"${@}" &>"${GLOBAL_TEMPORARY_STDOUT_FILE}" || return 1
RETURNED_VALUE=""
IFS='' read -rd '' RETURNED_VALUE <"${GLOBAL_TEMPORARY_STDOUT_FILE}" || :
}
37 changes: 37 additions & 0 deletions libraries.d/lib-fs
Original file line number Diff line number Diff line change
Expand Up @@ -554,3 +554,40 @@ function fs::createLink() {
fi
log::debug "Created ${linkType} link: ⌜${linkedPath}⌝ ← ⌜${linkPath}⌝."
}

# ## fs::getFileMaxLineLength
#
# Get the maximum line length of a file.
#
# - $1: **path** _as string_:
# the file path to read
#
# Returns:
#
# - ${RETURNED_VALUE}: The maximum line length of the file.
#
# ```bash
# fs::getFileMaxLineLength "/path/to/file"
# local maxLineLength="${RETURNED_VALUE}"
# ```
function fs::getFileMaxLineLength() {
local filePath="${1}"

if [[ ${VALET_CONFIG_STRICT_PURE_BASH:-false} != "true" ]] && command -v awk &>/dev/null; then
# shellcheck source=lib-exe
source exe
exe::captureOutput awk 'BEGIN { maxLength = 0 } { if (length > maxLength) maxLength = length } END { print maxLength }' "${filePath}"
RETURNED_VALUE=${RETURNED_VALUE%%[[:space:]]}
return 0
fi

local -i maxLineLength=0 currentLineLength=0
local IFS=$'\n'
while read -rd $'\n' line || [[ -n ${line:-} ]]; do
currentLineLength=${#line}
if (( currentLineLength > maxLineLength )); then
maxLineLength=${currentLineLength}
fi
done <"${filePath}"
RETURNED_VALUE="${maxLineLength}"
}
16 changes: 8 additions & 8 deletions libraries.d/lib-interactive
Original file line number Diff line number Diff line change
Expand Up @@ -310,14 +310,14 @@ interactive::displayDialogBox() {
local wrappedText="${RETURNED_VALUE}"

local finalString line sideString
local -i lineNumber=0
local -i lineNumber=0 maxLineLength=0
local IFS=$'\n'

local -i maxLineLength=0
while read -r line; do
for line in ${wrappedText}; do
if (( ${#line} > maxLineLength )); then
maxLineLength=${#line}
fi
done <<<"${wrappedText}"
done
textWidth=${maxLineLength}

if [[ ${speaker} == "user" ]]; then
Expand All @@ -328,29 +328,29 @@ interactive::displayDialogBox() {
startColumn+=1

finalString+="${AC__TEXT_FAINT}${AC__CURSOR_MOVE__}${startColumn}${__AC__COLUMN}┌─${AC__REPEAT__}${textWidth}${__AC__LAST_CHAR}─┐${AC__TEXT_RESET}"$'\n'
while read -r line; do
for line in ${wrappedText}; do
if (( lineNumber == 0 )); then
sideString="├──░"
else
sideString=""
fi
finalString+="${AC__TEXT_FAINT}${AC__CURSOR_MOVE__}${startColumn}${__AC__COLUMN}${AC__TEXT_RESET} ${line} ${AC__CURSOR_MOVE__}$((textWidth + 3 + startColumn))${__AC__COLUMN}${AC__TEXT_FAINT}${sideString}${AC__TEXT_RESET}"$'\n'
lineNumber+=1
done <<<"${wrappedText}"
done
finalString+="${AC__TEXT_FAINT}${AC__CURSOR_MOVE__}${startColumn}${__AC__COLUMN}└─${AC__REPEAT__}${textWidth}${__AC__LAST_CHAR}─┘${AC__TEXT_RESET}"$'\n'

elif [[ ${speaker} == "system" ]]; then

finalString+="${AC__TEXT_FAINT} ┌─${AC__REPEAT__}${textWidth}${__AC__LAST_CHAR}─┐${AC__TEXT_RESET}"$'\n'
while read -r line; do
for line in ${wrappedText}; do
if (( lineNumber == 0 )); then
sideString="░──┤"
else
sideString=""
fi
finalString+="${AC__TEXT_FAINT}${sideString}${AC__TEXT_RESET} ${line} ${AC__CURSOR_MOVE__}$((textWidth + 7))${__AC__COLUMN}${AC__TEXT_FAINT}${AC__TEXT_RESET}"$'\n'
lineNumber+=1
done <<<"${wrappedText}"
done
finalString+="${AC__TEXT_FAINT} └─${AC__REPEAT__}${textWidth}${__AC__LAST_CHAR}─┘${AC__TEXT_RESET}"$'\n'

fi
Expand Down
2 changes: 1 addition & 1 deletion libraries.d/lib-profiler
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ function profilerCleanFile() {
fi

# we do this one in awk if present, but in bash otherwise
if [[ ${VALET_CONFIG_LOG_CLEANUP_USING_BASH:-false} == "true" ]] || ! command -v awk 1>/dev/null 2>&1; then
if [[ ${VALET_CONFIG_STRICT_PURE_BASH:-false} == "true" ]] || ! command -v awk 1>/dev/null 2>&1; then
log::debug "Cleaning the profiler file using bash."
profilerBashCleanFile "${timePrecision}" "${clearLine}" >"${newProfilerFile}"
mv -f "${newProfilerFile}" "${_PROFILER_OUTPUT_FILE}"
Expand Down
51 changes: 30 additions & 21 deletions libraries.d/lib-prompt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ source fs
# - ${_OPTION_ITEMS_ARRAY_NAME} _as string_:
# (optional) The items to display (name of a global array which contains the items).
# If left empty, the autocompletion box will not be displayed. Useful to turn this into a simple prompt.
# Mutually exclusive with `_OPTION_ITEMS_FILE_PATH`.
# (defaults to empty)
# - ${_OPTION_ITEMS_FILE_PATH} _as string_:
# (optional) A file path containing the items to display. Mutually exclusive with `_OPTION_ITEMS_ARRAY_NAME`.
# (defaults to empty)
# - ${_OPTION_STRING} _as string_:
# (optional) The initial string, which corresponds to the text already entered
Expand Down Expand Up @@ -162,47 +166,48 @@ source fs
function prompt::input() {
_PROMPT_START_LINE="${1}"
_PROMPT_START_COLUMN="${2}"
_PROMPT_STOP_COLUMN="${3:-${_OPTION_STOP_COLUMN:-${GLOBAL_COLUMNS}}}"
_PROMPT_STOP_COLUMN="${_OPTION_STOP_COLUMN:-${GLOBAL_COLUMNS}}"
_PROMPT_STOP_COLUMN_AT_END="false"
if [[ -z ${3:-${_OPTION_STOP_COLUMN:-}} ]]; then
if [[ -z ${_OPTION_STOP_COLUMN:-} ]]; then
_PROMPT_STOP_COLUMN_AT_END="true"
fi

_PROMPT_ITEMS_ARRAY_NAME="${4:-${_OPTION_ITEMS_ARRAY_NAME:-}}"
_PROMPT_ITEMS_ARRAY_NAME="${_OPTION_ITEMS_ARRAY_NAME:-}"
_PROMPT_ITEMS_FILE_PATH="${_OPTION_ITEMS_FILE_PATH:-}"

_PROMPT_STRING="${5:-${_OPTION_STRING:-}}"
_PROMPT_STRING="${_OPTION_STRING:-}"

_PROMPT_ITEMS_BOX_MAX_HEIGHT="${6:-${_OPTION_ITEMS_BOX_MAX_HEIGHT:-}}"
_PROMPT_ITEMS_BOX_FORCE_BELOW="${7:-${_OPTION_ITEMS_BOX_FORCE_BELOW:-false}}"
_PROMPT_ITEMS_BOX_MAX_HEIGHT="${_OPTION_ITEMS_BOX_MAX_HEIGHT:-}"
_PROMPT_ITEMS_BOX_FORCE_BELOW="${_OPTION_ITEMS_BOX_FORCE_BELOW:-false}"

_PROMPT_ENABLE_PROMPT="${8:-${_OPTION_ENABLE_PROMPT:-true}}"
_PROMPT_ITEMS_BOX_FORCE_SHOW_COUNT="${9:-${_OPTION_ITEMS_BOX_FORCE_SHOW_COUNT:-false}}"
_PROMPT_ITEMS_BOX_SHOW_COUNT_AT_TOP="${10:-${_OPTION_ITEMS_BOX_SHOW_COUNT_AT_TOP:-false}}"
_PROMPT_ENABLE_PROMPT="${_OPTION_ENABLE_PROMPT:-true}"
_PROMPT_ITEMS_BOX_FORCE_SHOW_COUNT="${_OPTION_ITEMS_BOX_FORCE_SHOW_COUNT:-false}"
_PROMPT_ITEMS_BOX_SHOW_COUNT_AT_TOP="${_OPTION_ITEMS_BOX_SHOW_COUNT_AT_TOP:-false}"

_PROMPT_SHOW_SYMBOL="${11:-${_OPTION_SHOW_SYMBOL:-true}}"
_PROMPT_FILTERS_FROM_N_CHARS="${12:-${_OPTION_FILTERS_FROM_N_CHARS:-0}}"
_PROMPT_SHOW_SYMBOL="${_OPTION_SHOW_SYMBOL:-true}"
_PROMPT_FILTERS_FROM_N_CHARS="${_OPTION_FILTERS_FROM_N_CHARS:-0}"

_PROMPT_ACCEPT_ANY_VALUE="${13:-${_OPTION_ACCEPT_ANY_VALUE:-true}}"
_PROMPT_ACCEPT_ANY_VALUE="${_OPTION_ACCEPT_ANY_VALUE:-true}"

_PROMPT_PLACEHOLDER="${14:-${_OPTION_PLACEHOLDER:-}}"
_PROMPT_STRING_MAX_LENGTH="${15:-${_OPTION_STRING_MAX_LENGTH:-99999}}"
_PROMPT_PLACEHOLDER="${_OPTION_PLACEHOLDER:-}"
_PROMPT_STRING_MAX_LENGTH="${_OPTION_STRING_MAX_LENGTH:-99999}"

_PROMPT_AUTOCOMPLETE_WHOLE_LINE="${16:-${_OPTION_AUTOCOMPLETE_WHOLE_LINE:-true}}"
_PROMPT_TAB_OPENS_ITEMS_BOX="${17:-${_OPTION_TAB_OPENS_ITEMS_BOX:-true}}"
_PROMPT_ITEMS_BOX_ALLOW_FILTERING="${18:-${_OPTION_ITEMS_BOX_ALLOW_FILTERING:-${_PROMPT_ENABLE_PROMPT}}}"
_PROMPT_PASSWORD_MODE="${19:-${_OPTION_PASSWORD_MODE:-false}}"
_PROMPT_AUTOCOMPLETE_WHOLE_LINE="${_OPTION_AUTOCOMPLETE_WHOLE_LINE:-true}"
_PROMPT_TAB_OPENS_ITEMS_BOX="${_OPTION_TAB_OPENS_ITEMS_BOX:-true}"
_PROMPT_ITEMS_BOX_ALLOW_FILTERING="${_OPTION_ITEMS_BOX_ALLOW_FILTERING:-${_PROMPT_ENABLE_PROMPT}}"
_PROMPT_PASSWORD_MODE="${_OPTION_PASSWORD_MODE:-false}"

_PROMPT_CALLBACK_FUNCTION_ON_TEXT_UPDATE="${20:-${_OPTION_CALLBACK_FUNCTION_ON_TEXT_UPDATE:-}}"
_PROMPT_CALLBACK_FUNCTION_ON_TEXT_UPDATE="${_OPTION_CALLBACK_FUNCTION_ON_TEXT_UPDATE:-}"
if [[ -n ${_PROMPT_CALLBACK_FUNCTION_ON_TEXT_UPDATE} ]] && ! command -v "${_PROMPT_CALLBACK_FUNCTION_ON_TEXT_UPDATE}" &>/dev/null; then
core::fail "The callback function ⌜${_PROMPT_CALLBACK_FUNCTION_ON_TEXT_UPDATE}⌝ does not exist."
fi

_PROMPT_CALLBACK_FUNCTION_ON_KEY_PRESSED="${21:-${_OPTION_CALLBACK_FUNCTION_ON_KEY_PRESSED:-}}"
_PROMPT_CALLBACK_FUNCTION_ON_KEY_PRESSED="${_OPTION_CALLBACK_FUNCTION_ON_KEY_PRESSED:-}"
if [[ -n ${_PROMPT_CALLBACK_FUNCTION_ON_KEY_PRESSED} ]] && ! command -v "${_PROMPT_CALLBACK_FUNCTION_ON_KEY_PRESSED}" &>/dev/null; then
core::fail "The callback function ⌜${_PROMPT_CALLBACK_FUNCTION_ON_KEY_PRESSED}⌝ does not exist."
fi

_PROMPT_CALLBACK_FUNCTION_ON_BOX_CLOSED="${22:-${_OPTION_CALLBACK_FUNCTION_ON_BOX_CLOSED:-}}"
_PROMPT_CALLBACK_FUNCTION_ON_BOX_CLOSED="${_OPTION_CALLBACK_FUNCTION_ON_BOX_CLOSED:-}"
if [[ -n ${_PROMPT_CALLBACK_FUNCTION_ON_BOX_CLOSED} ]] && ! command -v "${_PROMPT_CALLBACK_FUNCTION_ON_BOX_CLOSED}" &>/dev/null; then
core::fail "The callback function ⌜${_PROMPT_CALLBACK_FUNCTION_ON_BOX_CLOSED}⌝ does not exist."
fi
Expand Down Expand Up @@ -433,6 +438,10 @@ function prompt_setItemsListVariables() {
fi
fi
done
elif [[ -n "${_PROMPT_ITEMS_FILE_PATH}" ]]; then
_PROMPT_ORIGINAL_ITEMS_FILE_PATH="${_PROMPT_ITEMS_FILE_PATH}"
fs::getFileMaxLineLength "${_PROMPT_ITEMS_FILE_PATH}"
_PROMPT_ITEMS_BOX_PREFERRED_WIDTH="${RETURNED_VALUE}"
else
_PROMPT_ORIGINAL_ITEMS=()
fi
Expand Down
6 changes: 3 additions & 3 deletions tests.d/cli-profiler/00.profiler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function main() {


test::title "✅ Testing the profiler with cleanup using bash"
test::exec VALET_CONFIG_LOG_CLEANUP_USING_BASH=true "${GLOBAL_INSTALLATION_DIRECTORY}/valet" -x self mock2 arg1 arg2
test::exec VALET_CONFIG_STRICT_PURE_BASH=true "${GLOBAL_INSTALLATION_DIRECTORY}/valet" -x self mock2 arg1 arg2
test::exec fs::cat "${VALET_CONFIG_COMMAND_PROFILING_FILE}"
rm -f "${VALET_CONFIG_COMMAND_PROFILING_FILE}"

Expand All @@ -36,9 +36,9 @@ function main() {
function test::transformTextBeforeFlushing() {
local line text=""
local IFS=$'\n'
while read -rd $'\n' line || [[ -n ${line:-} ]]; do
for line in ${_TEST_OUTPUT}; do
text+="${line/*self-mock.sh:/00 00 00 0.0XXX 0.0XXX self-mock.sh:}"$'\n'
done <<<"${_TEST_OUTPUT}"
done
_TEST_OUTPUT="${text%$'\n'}"
}

Expand Down
6 changes: 1 addition & 5 deletions tests.d/cli-profiler/results.approved.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ INFO Disabling profiler.

```text
(D=function depth, I=level of indirection, S=subshell level, timer=elapsed time in seconds, delta=delta between the last command in seconds, caller source:line=the source file and line number of the caller of the function, function=the name of the function in which the command is executed, command=the executed command)
D I S timer delta source:line function → command
00 00 00 0.0XXX 0.0XXX self-mock.sh:166 selfMock2() → local -a more
00 00 00 0.0XXX 0.0XXX self-mock.sh:167 selfMock2() → command::parseArguments arg1 arg2
Expand Down Expand Up @@ -78,12 +77,11 @@ D I S timer delta source:line function
00 00 00 0.0XXX 0.0XXX self-mock.sh:177 selfMock2() → aSubFunctionInselfMock2
00 00 00 0.0XXX 0.0XXX self-mock.sh:184 aSubFunctionInselfMock2() → log::debug 'This is a sub function.'
00 00 00 0.0XXX 0.0XXX self-mock.sh:179 selfMock2() → printf '%s\n' 'That'\''s it!'
```

### ✅ Testing the profiler with cleanup using bash

`VALET_CONFIG_LOG_CLEANUP_USING_BASH=true valet -x self mock2 arg1 arg2`
`VALET_CONFIG_STRICT_PURE_BASH=true valet -x self mock2 arg1 arg2`

**Standard output**:

Expand All @@ -110,7 +108,6 @@ INFO Disabling profiler.

```text
(D=function depth, I=level of indirection, S=subshell level, timer=elapsed time in seconds, delta=delta between the last command in seconds, caller source:line=the source file and line number of the caller of the function, function=the name of the function in which the command is executed, command=the executed command)
D I S timer delta source:line function → command
00 00 00 0.0XXX 0.0XXX self-mock.sh:166 selfMock2() → local -a more
00 00 00 0.0XXX 0.0XXX self-mock.sh:167 selfMock2() → command::parseArguments arg1 arg2
Expand Down Expand Up @@ -146,7 +143,6 @@ D I S timer delta source:line function
00 00 00 0.0XXX 0.0XXX self-mock.sh:177 selfMock2() → aSubFunctionInselfMock2
00 00 00 0.0XXX 0.0XXX self-mock.sh:184 aSubFunctionInselfMock2() → log::debug 'This is a sub function.'
00 00 00 0.0XXX 0.0XXX self-mock.sh:179 selfMock2() → printf '%s\n' 'That'\''s it!'
```

### ✅ Testing to enable the profiler on Valet startup
Expand Down
2 changes: 1 addition & 1 deletion tests.d/lib-exe/results.approved.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ Returned variables:
RETURNED_VALUE='exe::captureOutput ()
{
local IFS='"'"' '"'"';
${@} &> "${GLOBAL_TEMPORARY_STDOUT_FILE}" || return 1;
"${@}" &> "${GLOBAL_TEMPORARY_STDOUT_FILE}" || return 1;
RETURNED_VALUE="";
IFS='"'"''"'"' read -rd '"'"''"'"' RETURNED_VALUE < "${GLOBAL_TEMPORARY_STDOUT_FILE}" || :
}
Expand Down
9 changes: 9 additions & 0 deletions tests.d/lib-fs/00.tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ function main() {
test_fs::createLink
test_fs::head
test_fs::tail
test_fs::getFileMaxLineLength
}

function test_fs::getFileMaxLineLength() {
test::title "✅ Testing fs::getFileMaxLineLength"

test::func fs::getFileMaxLineLength 'resources/file-to-read'

test::func VALET_CONFIG_STRICT_PURE_BASH=true fs::getFileMaxLineLength 'resources/file-to-read'
}

function test_fs::toAbsolutePath() {
Expand Down
18 changes: 18 additions & 0 deletions tests.d/lib-fs/results.approved.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,24 @@ RETURNED_ARRAY=(
)
```

### ✅ Testing fs::getFileMaxLineLength

`fs::getFileMaxLineLength resources/file-to-read`

Returned variables:

```text
RETURNED_VALUE='842'
```

`VALET_CONFIG_STRICT_PURE_BASH=true fs::getFileMaxLineLength resources/file-to-read`

Returned variables:

```text
RETURNED_VALUE='842'
```

## Test script 01.listPaths

### ✅ Testing fs::listPaths
Expand Down
2 changes: 1 addition & 1 deletion tests.d/self-document/results.approved.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

```text
INFO Generating documentation for the core functions only.
INFO Found 153 functions with documentation.
INFO Found 154 functions with documentation.
INFO The documentation has been generated in ⌜/tmp/valet.d/d1-2/lib-valet.md⌝.
INFO The prototype script has been generated in ⌜/tmp/valet.d/d1-2/lib-valet⌝.
INFO The vscode snippets have been generated in ⌜/tmp/valet.d/d1-2/valet.code-snippets⌝.
Expand Down
6 changes: 4 additions & 2 deletions tests.d/self-release/results.approved.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ INFO The tag message is:
6 ░ - 🐞 fix
7 ░
INFO Generating documentation for the core functions only.
INFO Found 153 functions with documentation.
INFO Found 154 functions with documentation.
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/extras/lib-valet.md
INFO The documentation has been generated in ⌜$GLOBAL_INSTALLATION_DIRECTORY/extras/lib-valet.md⌝.
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/extras/lib-valet
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/extras/lib-valet
INFO The prototype script has been generated in ⌜$GLOBAL_INSTALLATION_DIRECTORY/extras/lib-valet⌝.
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/extras/valet.code-snippets
INFO The vscode snippets have been generated in ⌜$GLOBAL_INSTALLATION_DIRECTORY/extras/valet.code-snippets⌝.
INFO Writing the 153 functions documentation to the core libraries docs.
INFO Writing the 154 functions documentation to the core libraries docs.
🙈 mocked exe::invoke rm -f $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/array.md
🙈 mocked exe::invoke rm -f $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/codes.md
🙈 mocked exe::invoke rm -f $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/core.md
Expand Down Expand Up @@ -171,6 +171,8 @@ INFO Writing the 153 functions documentation to the core libraries docs.
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/fs.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/fs.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/fs.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/fs.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/fs.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/interactive.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/interactive.md
🙈 mocked fs::writeToFile $GLOBAL_INSTALLATION_DIRECTORY/docs/content/docs/300.libraries/interactive.md
Expand Down
2 changes: 1 addition & 1 deletion version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.28.2636
0.28.2652

0 comments on commit 3065abe

Please sign in to comment.