diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml new file mode 100644 index 000000000..599253c8c --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,13 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v3 + - name: Check spelling + uses: crate-ci/typos@v1.16.23 \ No newline at end of file diff --git a/.typos.toml b/.typos.toml new file mode 100644 index 000000000..9a032fd3f --- /dev/null +++ b/.typos.toml @@ -0,0 +1,2 @@ +[default.extend-words] +ND = "ND" \ No newline at end of file diff --git a/src/debug.jl b/src/debug.jl index fa78c483f..5aa7234b5 100644 --- a/src/debug.jl +++ b/src/debug.jl @@ -34,7 +34,7 @@ ODEProblem{iip,SciMLBase.FullSpecialize}(f,u0,tspan,p) where `iip` is either true or false depending on the in-placeness of the definition of `f` (i.e. for ODEs if `f` has 3 arguments `(u,p,t)` then it's false, otherwise `f(du,u,p,t)` is true). -For more information on the control of specailization options, please see the documentation at: +For more information on the control of specialization options, please see the documentation at: https://docs.sciml.ai/SciMLBase/stable/interfaces/Problems/#Specialization-Choices @@ -53,7 +53,7 @@ be `ODEProblem(f,u0,tspan,p)` in order to use parameters. 2. Using the wrong function signature. For example, with `ODEProblem`s the function signature is always `f(du,u,p,t)` for the in-place form or `f(u,p,t)` for the out-of-place form. Note that the `p` argument -will always be in the function signature reguardless of if the problem is defined with parameters! +will always be in the function signature regardless of if the problem is defined with parameters! """ function __init__() diff --git a/src/integrator_interface.jl b/src/integrator_interface.jl index 7046398a7..2cf98f08b 100644 --- a/src/integrator_interface.jl +++ b/src/integrator_interface.jl @@ -487,7 +487,7 @@ function Base.setindex!(A::DEIntegrator, val, sym) if !isnothing(i) A.u[i] = val return A - elseif sym isa Symbol # Hanldes input like :X. + elseif sym isa Symbol # Handles input like :X. s_f = Symbol.(getproperty.(states(A.f.sys), :f)) if count(isequal(Symbol(sym)), s_f) == 1 i = findfirst(isequal(sym), s_f) diff --git a/src/problems/bvp_problems.jl b/src/problems/bvp_problems.jl index f03bbe577..6d68b46ca 100644 --- a/src/problems/bvp_problems.jl +++ b/src/problems/bvp_problems.jl @@ -146,7 +146,7 @@ function BVProblem(f::AbstractBVPFunction, u0, tspan, p = NullParameters(); kwar return BVProblem{isinplace(f)}(f, u0, tspan, p; kwargs...) end -# This is mostly a fake stuct and isn't used anywhere +# This is mostly a fake struct and isn't used anywhere # But we need it for function calls like TwoPointBVProblem{iip}(...) = ... struct TwoPointBVPFunction{iip} end diff --git a/src/problems/problem_interface.jl b/src/problems/problem_interface.jl index 91bf175dc..aef802a77 100644 --- a/src/problems/problem_interface.jl +++ b/src/problems/problem_interface.jl @@ -53,7 +53,7 @@ function ___internal_setindex!(prob::AbstractSciMLProblem, val, sym) if !isnothing(i) prob.u0[i] = val return prob - elseif sym isa Symbol # Hanldes input like :X. + elseif sym isa Symbol # Handles input like :X. s_f = Symbol.(getproperty.(states(prob.f.sys), :f)) if count(isequal(Symbol(sym)), s_f) == 1 i = findfirst(isequal(sym), s_f) diff --git a/src/problems/problem_utils.jl b/src/problems/problem_utils.jl index c72a451f3..8eaa6f8bf 100644 --- a/src/problems/problem_utils.jl +++ b/src/problems/problem_utils.jl @@ -153,7 +153,7 @@ be `ODEProblem(f,u0,tspan,p)` in order to use parameters. 2. Using the wrong function signature. For example, with `ODEProblem`s the function signature is always `f(du,u,p,t)` for the in-place form or `f(u,p,t)` for the out-of-place form. Note that the `p` argument -will always be in the function signature reguardless of if the problem is defined with parameters! +will always be in the function signature regardless of if the problem is defined with parameters! """ struct NullParameterIndexError <: Exception end diff --git a/src/retcodes.jl b/src/retcodes.jl index f9ab26663..7c8e27515 100644 --- a/src/retcodes.jl +++ b/src/retcodes.jl @@ -351,7 +351,7 @@ const symtrue = Symbol("true") const symfalse = Symbol("false") function Base.convert(::Type{ReturnCode.T}, retcode::Symbol) - @warn "Backwards compatability support of the new return codes to Symbols will be deprecated with the Julia v1.9 release. Please see https://docs.sciml.ai/SciMLBase/stable/interfaces/Solutions/#retcodes for more information" + @warn "Backwards compatibility support of the new return codes to Symbols will be deprecated with the Julia v1.9 release. Please see https://docs.sciml.ai/SciMLBase/stable/interfaces/Solutions/#retcodes for more information" if retcode == :Default || retcode == :DEFAULT ReturnCode.Default diff --git a/src/scimlfunctions.jl b/src/scimlfunctions.jl index 55eae6b4b..19e6bd38f 100644 --- a/src/scimlfunctions.jl +++ b/src/scimlfunctions.jl @@ -129,7 +129,7 @@ but also includes the limitations: `DiffEqBase.wrap_iip` on `f` before calling `ODEFunction{true,FunctionWrapperSpecialize}(f)`. This is a fundamental limitation of the approach as the types of `(u,p,t)` are required in the - construction process and not accessible in the `AbstactSciMLFunction` constructors. + construction process and not accessible in the `AbstractSciMLFunction` constructors. ## Example @@ -2032,7 +2032,7 @@ OptimizationFunction{iip}(f, adtype::AbstractADType = NoAD(); - `f(u,p,args...)`: the function to optimize. `u` are the optimization variables and `p` are parameters used in definition of the objective, even if no such parameters are used in the objective it should be an argument in the function. This can also take -any additonal arguments that are relevant to the objective function, for example minibatches used in machine learning, +any additional arguments that are relevant to the objective function, for example minibatches used in machine learning, take a look at the minibatching tutorial [here](https://docs.sciml.ai/Optimization/stable/tutorials/minibatch/). This should return a scalar, the loss value, as the first return output and if any additional outputs are returned, they will be passed to the `callback` function described in [Callback Functions](@ref). @@ -2223,7 +2223,7 @@ the usage of `f` and `bc`. These include: as the prototype and integrators will specialize on this structure where possible. Non-structured sparsity patterns should use a `SparseMatrixCSC` with a correct sparsity pattern for the Jacobian. The default is `nothing`, which means a dense Jacobian. -- `bcjac_prototype`: a prototype matrix maching the type that matches the Jacobian. For example, +- `bcjac_prototype`: a prototype matrix matching the type that matches the Jacobian. For example, if the Jacobian is tridiagonal, then an appropriately sized `Tridiagonal` matrix can be used as the prototype and integrators will specialize on this structure where possible. Non-structured sparsity patterns should use a `SparseMatrixCSC` with a correct sparsity pattern for the Jacobian. @@ -4150,9 +4150,9 @@ function IntegralFunction(f) IntegralFunction{false}(f, nothing) end function IntegralFunction(f, integrand_prototype) - calcuated_iip = isinplace(f, 3, "integral", true) - if !calcuated_iip - throw(IntegrandMismatchFunctionError(calcuated_iip, true)) + calculated_iip = isinplace(f, 3, "integral", true) + if !calculated_iip + throw(IntegrandMismatchFunctionError(calculated_iip, true)) end IntegralFunction{true}(f, integrand_prototype) end diff --git a/tester.txt b/tester.txt new file mode 100644 index 000000000..a3a60c2cb --- /dev/null +++ b/tester.txt @@ -0,0 +1,37 @@ +on: + pull_request: + branches: + - master + paths-ignore: + - 'docs/**' + push: + branches: + - master + paths-ignore: + - 'docs/**' + +```@eval +using TOML +using Markdown +version = TOML.parse(read("../../Project.toml", String))["version"] +name = TOML.parse(read("../../Project.toml", String))["name"] +link_manifest = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version * + "/assets/Manifest.toml" +link_project = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version * + "/assets/Project.toml" +Markdown.parse("""You can also download the +[manifest]($link_manifest) +file and the +[project]($link_project) +file. +""") +``` + + warnonly = [:docs_block, :missing_docs, :cross_references, :linkcheck], + + Improve docstrings +Such that `makedocs` `warnonly = [:docs_block, :missing_docs, :cross_references, :linkcheck]` can be removed. + +Documenter 1.0 upgrade. +Also adds formatter workflow in anticipation of formatter being fixed. +Formatting has thus not yet been applied. \ No newline at end of file