build: lint for typos

This commit is contained in:
Nathaniel Landau
2023-08-29 10:43:38 -04:00
parent fea8ce4e5c
commit 64c8658c8e
11 changed files with 45 additions and 17 deletions

View File

@@ -43,6 +43,11 @@ repos:
files: \.(yaml|yml)$ files: \.(yaml|yml)$
entry: yamllint --strict --config-file .yamllint.yml entry: yamllint --strict --config-file .yamllint.yml
- repo: "https://github.com/crate-ci/typos"
rev: v1.16.8
hooks:
- id: typos
- repo: local - repo: local
hooks: hooks:
- id: poetry-check - id: poetry-check

2
.typos.toml Normal file
View File

@@ -0,0 +1,2 @@
[default.extend-words]
nd = "nd" # Used in the context of '2nd'

View File

@@ -290,7 +290,7 @@ Functions for string manipulation
- **`_ltrim_`** Removes all leading whitespace (from the left) - **`_ltrim_`** Removes all leading whitespace (from the left)
- **`_regexCapture_`** Use regex to validate and parse strings - **`_regexCapture_`** Use regex to validate and parse strings
- **`_rtrim_`** Removes all leading whitespace (from the right) - **`_rtrim_`** Removes all leading whitespace (from the right)
- **`_splitString_`** Split a string based on a given delimeter - **`_splitString_`** Split a string based on a given delimiter
- **`_stringContains_`** Tests whether a string matches a substring - **`_stringContains_`** Tests whether a string matches a substring
- **`_stringRegex_`** Tests whether a string matches a regex pattern - **`_stringRegex_`** Tests whether a string matches a regex pattern
- **`_stripANSI_`** Strips ANSI escape sequences from text - **`_stripANSI_`** Strips ANSI escape sequences from text
@@ -310,7 +310,7 @@ Functions required to allow the script template and alert functions to be used
- Function names use camel case surrounded by underscores: `_nameOfFunction_` - Function names use camel case surrounded by underscores: `_nameOfFunction_`
- Local variable names use camel case with a starting underscore: `_localVariable` - Local variable names use camel case with a starting underscore: `_localVariable`
- Global variables are in ALL_CAPS with underscores seperating words - Global variables are in ALL_CAPS with underscores separating words
- Exceptions to the variable an function naming rules are made for alerting functions and colors to ease my speed of programming. (Breaking years of habits is hard...) I.e. `notice "Some log item: ${blue}blue text${reset}` Where `notice` is a function and `$blue` and `$reset` are global variables but are lowercase. - Exceptions to the variable an function naming rules are made for alerting functions and colors to ease my speed of programming. (Breaking years of habits is hard...) I.e. `notice "Some log item: ${blue}blue text${reset}` Where `notice` is a function and `$blue` and `$reset` are global variables but are lowercase.
- Variables are always surrounded by quotes and brackets `"${1}"` (Overly verbose true, but a safe practice) - Variables are always surrounded by quotes and brackets `"${1}"` (Overly verbose true, but a safe practice)
- Formatting is provided by [shfmt](https://github.com/mvdan/sh) using 4 spaces for indentation - Formatting is provided by [shfmt](https://github.com/mvdan/sh) using 4 spaces for indentation

22
poetry.lock generated
View File

@@ -503,6 +503,26 @@ files = [
{file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"},
] ]
[[package]]
name = "typos"
version = "1.16.8"
description = "Source Code Spelling Correction"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
{file = "typos-1.16.8-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:b4d0bf1728ff35849690c956b0c8f01f6cf00a86d4d76a2fcecda808345417bf"},
{file = "typos-1.16.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:0155e64c26074aec76dabd5e716334aae6cef16371e6457536a7b27be638200e"},
{file = "typos-1.16.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc2b8831dfae748a831962036aa325d3a6cf339dbf397969779d31381b33081f"},
{file = "typos-1.16.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:902c501e9527ceffd43f3f78356ae0c8e0f4e013981438cce91c56fe55fc4b7f"},
{file = "typos-1.16.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4ac08d8de1a1657bbe8467afa41776bd7d5991112543cd9337d120185f8b945"},
{file = "typos-1.16.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b3f3f714b03bad7d48b416b218be13395a5980ca1dd71f3e45f22ca0f7b2d44e"},
{file = "typos-1.16.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e31ea1b36e3860a16e399dacc2584a08fa4114a8f8d1520d7740ddbe1fad28a"},
{file = "typos-1.16.8-py3-none-win32.whl", hash = "sha256:3df2e208e0a6385c9f1c990c7222ec2067e499162a7a6c615c0e730deadef4c8"},
{file = "typos-1.16.8-py3-none-win_amd64.whl", hash = "sha256:a9a1ed3107c05f34045f2e697c6cdb339a15411ccfc4dd1358cf18d6c684d4a7"},
{file = "typos-1.16.8.tar.gz", hash = "sha256:362b1238729eb8644cf9ece59886a40e7ef01eaaf4ff4910e511cb9cf97d5f21"},
]
[[package]] [[package]]
name = "virtualenv" name = "virtualenv"
version = "20.24.3" version = "20.24.3"
@@ -574,4 +594,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.11" python-versions = "^3.11"
content-hash = "d26a03f9429c641f0c78f670697c58eae05369c75bcc6d2866f1f0ca8e97db53" content-hash = "54e105b0b6c5998507ab75393f875db4856f3ceb20820c8cf298640d76058b1a"

View File

@@ -11,6 +11,7 @@
commitizen = "^3.7.0" commitizen = "^3.7.0"
pre-commit = "^3.3.3" pre-commit = "^3.3.3"
python = "^3.11" python = "^3.11"
typos = "^1.16.8"
yamllint = "^1.32.0" yamllint = "^1.32.0"
[build-system] [build-system]

View File

@@ -1,4 +1,4 @@
# format \b[word]\b where '\b' is a word delimeter # format \b[word]\b where '\b' is a word delimiter
# format //gI where the 'I' is case insensitivity. Only works in gnu-sed. # format //gI where the 'I' is case insensitivity. Only works in gnu-sed.
s/\ba\b//gI s/\ba\b//gI
s/\bable\b//gI s/\bable\b//gI

View File

@@ -92,7 +92,7 @@ teardown() {
} }
@test "_commandExists_: false" { @test "_commandExists_: false" {
run _commandExists_ "someNonexistantBinary" run _commandExists_ "someNonexistentBinary"
assert_failure assert_failure
} }

View File

@@ -302,10 +302,10 @@ _testParseYAML_() {
} }
@test "_sourceFile_ failure" { @test "_sourceFile_ failure" {
run _sourceFile_ "someNonExistantFile" run _sourceFile_ "someNonExistentFile"
assert_failure assert_failure
assert_output --partial "[ fatal] Attempted to source 'someNonExistantFile'. Not found" assert_output --partial "[ fatal] Attempted to source 'someNonExistentFile'. Not found"
} }
@test "_sourceFile_ success" { @test "_sourceFile_ success" {

View File

@@ -80,23 +80,23 @@ teardown() {
} }
@test "_execute_: Bad command" { @test "_execute_: Bad command" {
run _execute_ "rm nonexistant.txt" run _execute_ "rm nonexistent.txt"
assert_failure assert_failure
assert_output --partial "[warning] rm nonexistant.txt" assert_output --partial "[warning] rm nonexistent.txt"
} }
@test "_execute_ -e: Bad command" { @test "_execute_ -e: Bad command" {
run _execute_ -e "rm nonexistant.txt" run _execute_ -e "rm nonexistent.txt"
assert_failure assert_failure
assert_output "error: rm nonexistant.txt" assert_output "error: rm nonexistent.txt"
} }
@test "_execute_ -p: Return 0 on bad command" { @test "_execute_ -p: Return 0 on bad command" {
run _execute_ -p "rm nonexistant.txt" run _execute_ -p "rm nonexistent.txt"
assert_success assert_success
assert_output --partial "[warning] rm nonexistant.txt" assert_output --partial "[warning] rm nonexistent.txt"
} }
@test "_execute_: Good command" { @test "_execute_: Good command" {

View File

@@ -8,7 +8,7 @@ _backupFile_() {
# $1 (Required) - Source file # $1 (Required) - Source file
# $2 (Optional) - Destination dir name used only with -d flag (defaults to ./backup) # $2 (Optional) - Destination dir name used only with -d flag (defaults to ./backup)
# OPTS: # OPTS:
# -d - Move files to a backup direcory # -d - Move files to a backup directory
# -m - Replaces copy (default) with move, effectively removing the original file # -m - Replaces copy (default) with move, effectively removing the original file
# REQUIRES: # REQUIRES:
# _execute_ # _execute_
@@ -84,7 +84,7 @@ _createUniqueFilename_() {
# filenames by incrementing a number at the end of the filename # filenames by incrementing a number at the end of the filename
# ARGS: # ARGS:
# $1 (Required) - Name of file to be created # $1 (Required) - Name of file to be created
# $2 (Optional) - Separation characted (Defaults to a period '.') # $2 (Optional) - Separation character (Defaults to a period '.')
# OUTS: # OUTS:
# stdout: Unique name of file # stdout: Unique name of file
# 0 if successful # 0 if successful

View File

@@ -307,9 +307,9 @@ _splitString_() (
declare -a _arr=() declare -a _arr=()
local _input="${1}" local _input="${1}"
local _delimeter="${2}" local _delimiter="${2}"
IFS="${_delimeter}" read -r -a _arr <<<"${_input}" IFS="${_delimiter}" read -r -a _arr <<<"${_input}"
printf '%s\n' "${_arr[@]}" printf '%s\n' "${_arr[@]}"
) )