{"id":29595411,"url":"https://github.com/ohno/styleguidecomparisons.jl","last_synced_at":"2025-08-03T08:05:52.525Z","repository":{"id":304789666,"uuid":"1019973654","full_name":"ohno/StyleGuideComparisons.jl","owner":"ohno","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-15T06:57:56.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-15T15:21:32.488Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ohno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-15T06:42:46.000Z","updated_at":"2025-07-15T07:16:16.000Z","dependencies_parsed_at":"2025-07-15T15:49:22.169Z","dependency_job_id":"cd9387d9-9eaa-4569-a41c-042549182723","html_url":"https://github.com/ohno/StyleGuideComparisons.jl","commit_stats":null,"previous_names":["ohno/styleguidecomparisons.jl"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ohno/StyleGuideComparisons.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohno%2FStyleGuideComparisons.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohno%2FStyleGuideComparisons.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohno%2FStyleGuideComparisons.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohno%2FStyleGuideComparisons.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ohno","download_url":"https://codeload.github.com/ohno/StyleGuideComparisons.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohno%2FStyleGuideComparisons.jl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266087790,"owners_count":23874519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-20T08:08:38.122Z","updated_at":"2025-07-20T08:08:38.687Z","avatar_url":"https://github.com/ohno.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StyleGuideComparisons.jl\n\nThis document compares the Julia style guides: [YAS](https://github.com/jrevels/YASGuide), [Blue](https://github.com/JuliaDiff/BlueStyle), [SciML](https://github.com/SciML/SciMLStyle), and [Runic](https://github.com/fredrikekre/Runic.jl).\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=jrevels/YASGuide,JuliaDiff/BlueStyle,SciML/SciMLStyle,fredrikekre/Runic.jl\u0026type=Date)](https://www.star-history.com/#jrevels/YASGuide\u0026JuliaDiff/BlueStyle\u0026SciML/SciMLStyle\u0026fredrikekre/Runic.jl\u0026Date)\n\n## [indent](https://domluna.github.io/JuliaFormatter.jl/v2.1/#indent)\n```julia\n# YAS\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# Blue\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# SciML\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# Runic\nfor i in 1:10\n    println(i)\nend\n```\n\n## [margin](https://domluna.github.io/JuliaFormatter.jl/v2.1/#margin)\n```julia\n# YAS\n1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 +\n21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 +\n39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50\n```\n```julia\n# Blue\n1 +\n2 +\n3 +\n4 +\n5 +\n6 +\n7 +\n8 +\n9 +\n10 +\n11 +\n12 +\n13 +\n14 +\n15 +\n16 +\n17 +\n18 +\n19 +\n20 +\n21 +\n22 +\n23 +\n24 +\n25 +\n26 +\n27 +\n28 +\n29 +\n30 +\n31 +\n32 +\n33 +\n34 +\n35 +\n36 +\n37 +\n38 +\n39 +\n40 +\n41 +\n42 +\n43 +\n44 +\n45 +\n46 +\n47 +\n48 +\n49 +\n50\n```\n```julia\n# SciML\n1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 +\n21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 +\n39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50\n```\n```julia\n# Runic\n1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50\n```\n\n## [always_for_in](https://domluna.github.io/JuliaFormatter.jl/v2.1/#always_for_in)\n```julia\n# YAS\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# Blue\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# SciML\nfor i in 1:10\n    println(i)\nend\n```\n```julia\n# Runic\nfor i in 1:10\n    println(i)\nend\n```\n\n## [whitespace_typedefs](hhttps://domluna.github.io/JuliaFormatter.jl/v2.1/#whitespace_typedefs)\n```julia\n# YAS\nUnion{A\u003c:B,C}\nUnion{A\u003c:B,C}\n```\n```julia\n# Blue\nUnion{A\u003c:B,C}\nUnion{A\u003c:B,C}\n```\n```julia\n# SciML\nUnion{A \u003c: B, C}\nUnion{A \u003c: B, C}\n```\n```julia\n# Runic\nUnion{A \u003c: B, C}\nUnion{A \u003c: B, C}\n```\n\n## [whitespace_ops_in_indices](https://domluna.github.io/JuliaFormatter.jl/v2.1/#whitespace_ops_in_indices)\n```julia\n# YAS\narr[a + b]\narr[a+b]\narr[(i1 + i2):(i3 + i4)]\narr[(i1 + i2):(i3 + i4)]\n```\n```julia\n# Blue\narr[a + b]\narr[a + b]\narr[(i1 + i2):(i3 + i4)]\narr[(i1 + i2):(i3 + i4)]\n```\n```julia\n# SciML\narr[a + b]\narr[a + b]\narr[(i1 + i2):(i3 + i4)]\narr[(i1 + i2):(i3 + i4)]\n```\n```julia\n# Runic\narr[a + b]\narr[a + b]\narr[(i1 + i2):(i3 + i4)]\narr[(i1 + i2):(i3 + i4)]\n```\n\n## [remove_extra_newlines](https://domluna.github.io/JuliaFormatter.jl/v2.1/#remove_extra_newlines)\n```julia\n# YAS\nmodule M\n\na = 1\n\nfunction foo()\n    return nothing\nend\n\nb = 2\n\nend\n```\n```julia\n# Blue\nmodule M\n\na = 1\n\nfunction foo()\n    return nothing\nend\n\nb = 2\n\nend\n```\n```julia\n# SciML\nmodule M\n\na = 1\n\nfunction foo()\n    return nothing\nend\n\nb = 2\n\nend\n```\n```julia\n# Runic\nmodule M\n\n\na = 1\n\nfunction foo()\n\n\n    return nothing\n\nend\n\n\nb = 2\n\n\nend\n```\n\n## [import_to_using](https://domluna.github.io/JuliaFormatter.jl/v2.1/#import_to_using)\n```julia\n# YAS\nusing A: A\n\nusing A: A\nusing B: B\nusing C: C\n```\n```julia\n# Blue\nusing A: A\n\nusing A: A\nusing B: B\nusing C: C\n```\n```julia\n# SciML\nimport A\n\nimport A, B, C\n```\n```julia\n# Runic\nimport A\n\nimport A, B, C\n```\n\n## [pipe_to_function_call](https://domluna.github.io/JuliaFormatter.jl/v2.1/#pipe_to_function_call)\n```julia\n# YAS\nf(x)\n```\n```julia\n# Blue\nf(x)\n```\n```julia\n# SciML\nx |\u003e f\n```\n```julia\n# Runic\nx |\u003e f\n```\n\n## [short_to_long_function_def](https://domluna.github.io/JuliaFormatter.jl/v2.1/#short_to_long_function_def)\n```julia\n# YAS\nfunction f(arg1, arg2)\n    return 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 +\n           19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30\nend\n```\n```julia\n# Blue\nfunction f(arg1, arg2)\n    1 +\n    2 +\n    3 +\n    4 +\n    5 +\n    6 +\n    7 +\n    8 +\n    9 +\n    10 +\n    11 +\n    12 +\n    13 +\n    14 +\n    15 +\n    16 +\n    17 +\n    18 +\n    19 +\n    20 +\n    21 +\n    22 +\n    23 +\n    24 +\n    25 +\n    26 +\n    27 +\n    28 +\n    29 +\n    30\nend\n```\n```julia\n# SciML\nfunction f(arg1, arg2)\n    1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 +\n    20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30\nend\n```\n```julia\n# Runic\nf(arg1, arg2) = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30\n```\n\n## [force_long_function_def](https://domluna.github.io/JuliaFormatter.jl/v2.1/#force_long_function_def)\n```julia\n# YAS\nf(arg1, arg2) = body\n```\n```julia\n# Blue\nf(arg1, arg2) = body\n```\n```julia\n# SciML\nf(arg1, arg2) = body\n```\n```julia\n# Runic\nf(arg1, arg2) = body\n```\n\n## [long_to_short_function_def](https://domluna.github.io/JuliaFormatter.jl/v2.1/#long_to_short_function_def)\n```julia\n# YAS\nfunction f(arg2, arg2)\n    return body\nend\n```\n```julia\n# Blue\nfunction f(arg2, arg2)\n    body\nend\n```\n```julia\n# SciML\nfunction f(arg2, arg2)\n    body\nend\n```\n```julia\n# Runic\nfunction f(arg2, arg2)\n    return body\nend\n```\n\n## [always_use_return](https://domluna.github.io/JuliaFormatter.jl/v2.1/#always_use_return)\n```julia\n# YAS\nfunction foo()\n    expr1\n    return expr2\nend\n```\n```julia\n# Blue\nfunction foo()\n    expr1\n    expr2\nend\n```\n```julia\n# SciML\nfunction foo()\n    expr1\n    expr2\nend\n```\n```julia\n# Runic\nfunction foo()\n    expr1\n    return expr2\nend\n```\n\n## [whitespace_in_kwargs](https://domluna.github.io/JuliaFormatter.jl/v2.1/#whitespace_in_kwargs)\n```julia\n# YAS\nf(; a=4)\n```\n```julia\n# Blue\nf(; a=4)\n```\n```julia\n# SciML\nf(; a = 4)\n```\n```julia\n# Runic\nf(; a = 4)\n```\n\n## [annotate_untyped_fields_with_any](https://domluna.github.io/JuliaFormatter.jl/v2.1/#annotate_untyped_fields_with_any)\n```julia\n# YAS\nstruct A\n    arg1::Any\nend\n```\n```julia\n# Blue\nstruct A\n    arg1\nend\n```\n```julia\n# SciML\nstruct A\n    arg1::Any\nend\n```\n```julia\n# Runic\nstruct A\n    arg1\nend\n```\n\n## [format_docstrings](https://domluna.github.io/JuliaFormatter.jl/v2.1/#format_docstrings)\n```julia\n# YAS\n\"\"\"\n`1+1`\n\"\"\"\nfunction f(x)\n    return x\nend\n```\n```julia\n# Blue\n\"\"\"\n`1+1`\n\"\"\"\nfunction f(x)\n    return x\nend\n```\n```julia\n# SciML\n\"\"\"\n`1+1`\n\"\"\"\nfunction f(x)\n    return x\nend\n```\n```julia\n# Runic\n\"\"\"\n`1+1`\n\"\"\"\nfunction f(x)\n    return x\nend\n```\n\n## [align_assignment](https://domluna.github.io/JuliaFormatter.jl/v2.1/custom_alignment/#align_assignment)\n```julia\n# YAS\nconst variable1 = 1\nconst var2 = 2\nconst var3 = 3\nconst var4 = 4\n\nconst UTF8PROC_STABLE = (1 \u003c\u003c 1)\nconst UTF8PROC_COMPAT = (1 \u003c\u003c 2)\nconst UTF8PROC_COMPOSE = (1 \u003c\u003c 3)\nconst UTF8PROC_DECOMPOSE = (1 \u003c\u003c 4)\n\nvcat(X::T...) where {T} = T[X[i] for i in 1:length(X)]\nvcat(X::T...) where {T\u003c:Number} = T[X[i] for i in 1:length(X)]\nhcat(X::T...) where {T} = T[X[j] for i in 1:1, j in 1:length(X)]\nhcat(X::T...) where {T\u003c:Number} = T[X[j] for i in 1:1, j in 1:length(X)]\n```\n```julia\n# Blue\nconst variable1 = 1\nconst var2 = 2\nconst var3 = 3\nconst var4 = 4\n\nconst UTF8PROC_STABLE = (1 \u003c\u003c 1)\nconst UTF8PROC_COMPAT = (1 \u003c\u003c 2)\nconst UTF8PROC_COMPOSE = (1 \u003c\u003c 3)\nconst UTF8PROC_DECOMPOSE = (1 \u003c\u003c 4)\n\nvcat(X::T...) where {T} = T[X[i] for i in 1:length(X)]\nvcat(X::T...) where {T\u003c:Number} = T[X[i] for i in 1:length(X)]\nhcat(X::T...) where {T} = T[X[j] for i in 1:1, j in 1:length(X)]\nhcat(X::T...) where {T\u003c:Number} = T[X[j] for i in 1:1, j in 1:length(X)]\n```\n```julia\n# SciML\nconst variable1 = 1\nconst var2 = 2\nconst var3 = 3\nconst var4 = 4\n\nconst UTF8PROC_STABLE = (1 \u003c\u003c 1)\nconst UTF8PROC_COMPAT = (1 \u003c\u003c 2)\nconst UTF8PROC_COMPOSE = (1 \u003c\u003c 3)\nconst UTF8PROC_DECOMPOSE = (1 \u003c\u003c 4)\n\nvcat(X::T...) where {T} = T[X[i] for i in 1:length(X)]\nvcat(X::T...) where {T \u003c: Number} = T[X[i] for i in 1:length(X)]\nhcat(X::T...) where {T} = T[X[j] for i in 1:1, j in 1:length(X)]\nhcat(X::T...) where {T \u003c: Number} = T[X[j] for i in 1:1, j in 1:length(X)]\n```\n```julia\n# Runic\nconst variable1 = 1\nconst var2 = 2\nconst var3 = 3\nconst var4 = 4\n\nconst UTF8PROC_STABLE = (1 \u003c\u003c 1)\nconst UTF8PROC_COMPAT = (1 \u003c\u003c 2)\nconst UTF8PROC_COMPOSE = (1 \u003c\u003c 3)\nconst UTF8PROC_DECOMPOSE = (1 \u003c\u003c 4)\n\nvcat(X::T...) where {T} = T[X[i] for i in 1:length(X)]\nvcat(X::T...) where {T \u003c: Number} = T[X[i] for i in 1:length(X)]\nhcat(X::T...) where {T} = T[X[j] for i in 1:1, j in 1:length(X)]\nhcat(X::T...) where {T \u003c: Number} = T[X[j] for i in 1:1, j in 1:length(X)]\n```\n\n## [align_struct_field](https://domluna.github.io/JuliaFormatter.jl/v2.1/custom_alignment/#align_struct_field)\n```julia\n# YAS\nBase.@kwdef struct Options\n    indent::Int = 4\n    margin::Int = 92\n    always_for_in::Bool = false\n    whitespace_typedefs::Bool = false\n    whitespace_ops_in_indices::Bool = false\n    remove_extra_newlines::Bool = false\n    import_to_using::Bool = false\n    pipe_to_function_call::Bool = false\n    short_to_long_function_def::Bool = false\n    always_use_return::Bool = false\n    whitespace_in_kwargs::Bool = true\n    annotate_untyped_fields_with_any::Bool = true\n    format_docstrings::Bool = false\n    align_struct_fields::Bool = false\n\n    # no custom whitespace so this block is not aligned\n    another_field1::BlahBlahBlah = 10\n    field2::Foo = 10\n\n    # no custom whitespace but single line blocks are not aligned\n    # either way\n    Options() = new()\nend\n\nmutable struct Foo\n    a::T\n    longfieldname::T\nend\n```\n```julia\n# Blue\nBase.@kwdef struct Options\n    indent::Int = 4\n    margin::Int = 92\n    always_for_in::Bool = false\n    whitespace_typedefs::Bool = false\n    whitespace_ops_in_indices::Bool = false\n    remove_extra_newlines::Bool = false\n    import_to_using::Bool = false\n    pipe_to_function_call::Bool = false\n    short_to_long_function_def::Bool = false\n    always_use_return::Bool = false\n    whitespace_in_kwargs::Bool = true\n    annotate_untyped_fields_with_any::Bool = true\n    format_docstrings::Bool = false\n    align_struct_fields::Bool = false\n\n    # no custom whitespace so this block is not aligned\n    another_field1::BlahBlahBlah = 10\n    field2::Foo = 10\n\n    # no custom whitespace but single line blocks are not aligned\n    # either way\n    Options() = new()\nend\n\nmutable struct Foo\n    a::T\n    longfieldname::T\nend\n```\n```julia\n# SciML\nBase.@kwdef struct Options\n    indent::Int = 4\n    margin::Int = 92\n    always_for_in::Bool = false\n    whitespace_typedefs::Bool = false\n    whitespace_ops_in_indices::Bool = false\n    remove_extra_newlines::Bool = false\n    import_to_using::Bool = false\n    pipe_to_function_call::Bool = false\n    short_to_long_function_def::Bool = false\n    always_use_return::Bool = false\n    whitespace_in_kwargs::Bool = true\n    annotate_untyped_fields_with_any::Bool = true\n    format_docstrings::Bool = false\n    align_struct_fields::Bool = false\n\n    # no custom whitespace so this block is not aligned\n    another_field1::BlahBlahBlah = 10\n    field2::Foo = 10\n\n    # no custom whitespace but single line blocks are not aligned\n    # either way\n    Options() = new()\nend\n\nmutable struct Foo\n    a::T\n    longfieldname::T\nend\n```\n```julia\n# Runic\nBase.@kwdef struct Options\n    indent::Int = 4\n    margin::Int = 92\n    always_for_in::Bool = false\n    whitespace_typedefs::Bool = false\n    whitespace_ops_in_indices::Bool = false\n    remove_extra_newlines::Bool = false\n    import_to_using::Bool = false\n    pipe_to_function_call::Bool = false\n    short_to_long_function_def::Bool = false\n    always_use_return::Bool = false\n    whitespace_in_kwargs::Bool = true\n    annotate_untyped_fields_with_any::Bool = true\n    format_docstrings::Bool = false\n    align_struct_fields::Bool = false\n\n    # no custom whitespace so this block is not aligned\n    another_field1::BlahBlahBlah = 10\n    field2::Foo = 10\n\n    # no custom whitespace but single line blocks are not aligned\n    # either way\n    Options() = new()\nend\n\n\nmutable struct Foo\n    a::T\n    longfieldname::T\nend\n```\n\n## [align_conditional](https://domluna.github.io/JuliaFormatter.jl/v2.1/custom_alignment/#align_conditional)\n```julia\n# YAS\nindex = zeros(n \u003c= typemax(Int8) ? Int8 :\n              n \u003c= typemax(Int16) ? Int16 :\n              n \u003c= typemax(Int32) ? Int32 : Int64, n)\n```\n```julia\n# Blue\nindex = zeros(\n    if n \u003c= typemax(Int8)\n        Int8\n    elseif n \u003c= typemax(Int16)\n        Int16\n    elseif n \u003c= typemax(Int32)\n        Int32\n    else\n        Int64\n    end,\n    n,\n)\n```\n```julia\n# SciML\nindex = zeros(\n    n \u003c= typemax(Int8) ? Int8 :\n    n \u003c= typemax(Int16) ? Int16 :\n    n \u003c= typemax(Int32) ? Int32 : Int64,\n    n)\n```\n```julia\n# Runic\nindex = zeros(\n    n \u003c= typemax(Int8) ? Int8 :\n        n \u003c= typemax(Int16) ? Int16 :\n        n \u003c= typemax(Int32) ? Int32 : Int64, n\n)\n```\n\n## [align_pair_arrow](https://domluna.github.io/JuliaFormatter.jl/v2.1/custom_alignment/#align_pair_arrow)\n```julia\n# YAS\nindex = zeros(n \u003c= typemax(Int8) ? Int8 :\n              n \u003c= typemax(Int16) ? Int16 :\n              n \u003c= typemax(Int32) ? Int32 : Int64,\n              n)\n```\n```julia\n# Blue\nindex = zeros(\n    if n \u003c= typemax(Int8)\n        Int8\n    elseif n \u003c= typemax(Int16)\n        Int16\n    elseif n \u003c= typemax(Int32)\n        Int32\n    else\n        Int64\n    end,\n    n,\n)\n```\n```julia\n# SciML\nindex = zeros(\n    n \u003c= typemax(Int8) ? Int8 :\n    n \u003c= typemax(Int16) ? Int16 :\n    n \u003c= typemax(Int32) ? Int32 : Int64,\n    n\n)\n```\n```julia\n# Runic\nindex = zeros(\n    n \u003c= typemax(Int8) ? Int8 :\n        n \u003c= typemax(Int16) ? Int16 :\n        n \u003c= typemax(Int32) ? Int32 : Int64,\n    n,\n)\n```\n\n## [align_matrix](https://domluna.github.io/JuliaFormatter.jl/v2.1/custom_alignment/#align_matrix)\n```julia\n# YAS\nA = [100 300 400\n     1 ee 40000\n     2 a b]\n```\n```julia\n# Blue\nA = [\n    100 300 400\n    1 ee 40000\n    2 a b\n]\n```\n```julia\n# SciML\nA = [100 300 400\n     1 ee 40000\n     2 a b]\n```\n```julia\n# Runic\nA = [\n    100 300   400\n    1  ee 40000\n    2   a     b\n]\n```\n\n## [conditional_to_if](https://domluna.github.io/JuliaFormatter.jl/v2.1/#conditional_to_if)\n```julia\n# YAS\nE ? A : B\n```\n```julia\n# Blue\nE ? A : B\n```\n```julia\n# SciML\nE ? A : B\n```\n```julia\n# Runic\nE ? A : B\n```\n\n## [normalize_line_endings](https://domluna.github.io/JuliaFormatter.jl/v2.1/#normalize_line_endings)\n```julia\n# YAS\n\n```\n```julia\n# Blue\n\n```\n```julia\n# SciML\n\n```\n```julia\n# Runic\n\n```\n\n## [trailing_comma](https://domluna.github.io/JuliaFormatter.jl/v2.1/#trailing_comma)\n```julia\n# YAS\nfunccall(arg1, arg2, arg3)\n```\n```julia\n# Blue\nfunccall(arg1, arg2, arg3)\n```\n```julia\n# SciML\nfunccall(arg1, arg2, arg3)\n```\n```julia\n# Runic\nfunccall(arg1, arg2, arg3)\n```\n\n## [trailing_zero](https://domluna.github.io/JuliaFormatter.jl/v2.1/#trailing_zero)\n```julia\n# YAS\na = 1.0\na = 0.1\na = 1.0f0\n```\n```julia\n# Blue\na = 1.0\na = 0.1\na = 1.0f0\n```\n```julia\n# SciML\na = 1.0\na = 0.1\na = 1.0f0\n```\n```julia\n# Runic\na = 1.0\na = 0.1\na = 1.0f0\n```\n\n## [join_lines_based_on_source](https://domluna.github.io/JuliaFormatter.jl/v2.1/#join_lines_based_on_source)\n```julia\n# YAS\nfunction foo(arg1,\n             arg2, arg3)\n    return body\nend\n\nif a\n    body1\nelseif b\n    body2\nelse\n    body3\nend\n```\n```julia\n# Blue\nfunction foo(arg1, arg2, arg3)\n    body\nend\n\nif a\n    body1\nelseif b\n    body2\nelse\n    body3\nend\n```\n```julia\n# SciML\nfunction foo(arg1,\n        arg2, arg3\n)\n    body\nend\n\nif a\n    body1\nelseif b\n    body2\nelse\n    body3\nend\n```\n```julia\n# Runic\nfunction foo(\n        arg1,\n        arg2, arg3\n    )\n    return body\nend\n\nif a\n    body1\nelseif b\n    body2\nelse\n    body3\nend\n```\n\n## [indent_submodule](https://domluna.github.io/JuliaFormatter.jl/v2.1/#indent_submodule)\n```julia\n# YAS\nmodule A\na = 1\n\nmodule B\nb = 2\nmodule C\nc = 3\nend\nend\n\nd = 4\n\nend\n```\n```julia\n# Blue\nmodule A\na = 1\n\nmodule B\n    b = 2\n    module C\n        c = 3\n    end\nend\n\nd = 4\n\nend\n```\n```julia\n# SciML\nmodule A\na = 1\n\nmodule B\nb = 2\nmodule C\nc = 3\nend\nend\n\nd = 4\n\nend\n```\n```julia\n# Runic\nmodule A\na = 1\n\nmodule B\n    b = 2\n    module C\n        c = 3\n    end\nend\n\nd = 4\n\nend\n```\n\n## [separate_kwargs_with_semicolon](https://domluna.github.io/JuliaFormatter.jl/v2.1/#separate_kwargs_with_semicolon)\n```julia\n# YAS\nf(a; b=1)\n```\n```julia\n# Blue\nf(a; b=1)\n```\n```julia\n# SciML\nf(a, b = 1)\n```\n```julia\n# Runic\nf(a, b = 1)\n```\n\n## [surround_whereop_typeparameters](https://domluna.github.io/JuliaFormatter.jl/v2.1/#surround_whereop_typeparameters)\n```julia\n# YAS\nfunction func() where {TPARAM}\nend\n```\n```julia\n# Blue\nfunction func() where {TPARAM} end\n```\n```julia\n# SciML\nfunction func() where {TPARAM}\nend\n```\n```julia\n# Runic\nfunction func() where {TPARAM}\nend\n```\n\n## [for_in_replacement](https://domluna.github.io/JuliaFormatter.jl/v2.1/#for_in_replacement)\n```julia\n# YAS\nfor a in 1:10\nend\n```\n```julia\n# Blue\nfor a in 1:10\nend\n```\n```julia\n# SciML\nfor a in 1:10\nend\n```\n```julia\n# Runic\nfor a in 1:10\nend\n```\n\n## [variable_call_indent](https://domluna.github.io/JuliaFormatter.jl/v2.1/#variable_call_indent-and-and-yas_style_nesting)\n```julia\n# YAS\nDict{Int,Int}(1 =\u003e 2,\n              3 =\u003e 4)\n```\n```julia\n# Blue\nDict{Int,Int}(1 =\u003e 2, 3 =\u003e 4)\n```\n```julia\n# SciML\nDict{Int, Int}(1 =\u003e 2,\n    3 =\u003e 4)\n```\n```julia\n# Runic\nDict{Int, Int}(\n    1 =\u003e 2,\n    3 =\u003e 4\n)\n```\n\n## [yas_style_nesting](https://domluna.github.io/JuliaFormatter.jl/v2.1/#variable_call_indent-and-and-yas_style_nesting)\n```julia\n# YAS\nfunction my_large_function(argument1, argument2,\n                           argument3, argument4,\n                           argument5, x, y, z)\n    return foo(x) + goo(y)\nend\n```\n```julia\n# Blue\nfunction my_large_function(argument1, argument2, argument3, argument4, argument5, x, y, z)\n    foo(x) + goo(y)\nend\n```\n```julia\n# SciML\nfunction my_large_function(argument1, argument2,\n        argument3, argument4,\n        argument5, x, y, z)\n    foo(x) + goo(y)\nend\n```\n```julia\n# Runic\nfunction my_large_function(\n        argument1, argument2,\n        argument3, argument4,\n        argument5, x, y, z\n    )\n    return foo(x) + goo(y)\nend\n```\n\n## [short_circuit_to_if](https://domluna.github.io/JuliaFormatter.jl/v2.1/#short_circuit_to_if)\n```julia\n# YAS\nfunction foo(a, b)\n    a || return \"bar\"\n\n    \"hello\"\n\n    b \u0026\u0026 return \"ooo\"\nend\n```\n```julia\n# Blue\nfunction foo(a, b)\n    a || return \"bar\"\n\n    \"hello\"\n\n    b \u0026\u0026 return \"ooo\"\nend\n```\n```julia\n# SciML\nfunction foo(a, b)\n    a || return \"bar\"\n\n    \"hello\"\n\n    b \u0026\u0026 return \"ooo\"\nend\n```\n```julia\n# Runic\nfunction foo(a, b)\n    a || return \"bar\"\n\n    \"hello\"\n\n    return b \u0026\u0026 return \"ooo\"\nend\n```\n\n## [disallow_single_arg_nesting](https://domluna.github.io/JuliaFormatter.jl/v2.1/#disallow_single_arg_nesting)\n```julia\n# YAS\nfunction_call(\"String argument\")\n[array_item(10)]\n{key =\u003e value(\"String value\")}\n```\n```julia\n# Blue\nfunction_call(\"String argument\")\n[array_item(10)]\n{key =\u003e value(\"String value\")}\n```\n```julia\n# SciML\nfunction_call(\n    \"String argument\"\n)\n[array_item(\n    10\n)]\n{key =\u003e value(\n    \"String value\"\n)}\n```\n```julia\n# Runic\nfunction_call(\n    \"String argument\"\n)\n[\n    array_item(\n        10\n    ),\n]\n{\n    key =\u003e value(\n        \"String value\"\n    ),\n}\n```\n\n## YAS v.s.\n\n| YAS v.s. | Blue | SciML | Runic |\n| --- | --- | --- | --- |\n| indent | ✅ | ❌ | ❌ |\n| margin | ❌ | ✅ | ❌ |\n| always_for_in | ✅ | ❌ | ❌ |\n| whitespace_typedefs | ✅ | ❌ | ❌ |\n| whitespace_ops_in_indices | ❌ | ❌ | ❌ |\n| remove_extra_newlines | ✅ | ❌ | ❌ |\n| import_to_using | ✅ | ❌ | ❌ |\n| pipe_to_function_call | ✅ | ❌ | ❌ |\n| short_to_long_function_def | ❌ | ❌ | ❌ |\n| force_long_function_def | ✅ | ✅ | ✅ |\n| long_to_short_function_def | ❌ | ❌ | ❌ |\n| always_use_return | ❌ | ❌ | ❌ |\n| whitespace_in_kwargs | ✅ | ❌ | ❌ |\n| annotate_untyped_fields_with_any | ❌ | ❌ | ❌ |\n| format_docstrings | ✅ | ❌ | ❌ |\n| align_assignment | ✅ | ❌ | ❌ |\n| align_struct_field | ✅ | ❌ | ❌ |\n| align_conditional | ❌ | ❌ | ❌ |\n| align_pair_arrow | ❌ | ❌ | ❌ |\n| align_matrix | ❌ | ❌ | ❌ |\n| conditional_to_if | ✅ | ✅ | ✅ |\n| normalize_line_endings | ✅ | ✅ | ✅ |\n| trailing_comma | ✅ | ✅ | ✅ |\n| trailing_zero | ✅ | ❌ | ❌ |\n| join_lines_based_on_source | ❌ | ❌ | ❌ |\n| indent_submodule | ❌ | ❌ | ❌ |\n| separate_kwargs_with_semicolon | ✅ | ❌ | ❌ |\n| surround_whereop_typeparameters | ❌ | ❌ | ❌ |\n| for_in_replacement | ✅ | ❌ | ❌ |\n| variable_call_indent | ❌ | ❌ | ❌ |\n| yas_style_nesting | ❌ | ❌ | ❌ |\n| short_circuit_to_if | ✅ | ❌ | ❌ |\n| disallow_single_arg_nesting | ✅ | ❌ | ❌ |\n| total | 57.6% | 15.2% | 12.1% |\n\n## Blue v.s.\n\n| Blue v.s. | YAS | SciML | Runic |\n| --- | --- | --- | --- |\n| indent | ✅ | ❌ | ❌ |\n| margin | ❌ | ❌ | ❌ |\n| always_for_in | ✅ | ❌ | ❌ |\n| whitespace_typedefs | ✅ | ❌ | ❌ |\n| whitespace_ops_in_indices | ❌ | ❌ | ❌ |\n| remove_extra_newlines | ✅ | ❌ | ❌ |\n| import_to_using | ✅ | ❌ | ❌ |\n| pipe_to_function_call | ✅ | ❌ | ❌ |\n| short_to_long_function_def | ❌ | ❌ | ❌ |\n| force_long_function_def | ✅ | ✅ | ✅ |\n| long_to_short_function_def | ❌ | ❌ | ❌ |\n| always_use_return | ❌ | ❌ | ❌ |\n| whitespace_in_kwargs | ✅ | ❌ | ❌ |\n| annotate_untyped_fields_with_any | ❌ | ❌ | ❌ |\n| format_docstrings | ✅ | ❌ | ❌ |\n| align_assignment | ✅ | ❌ | ❌ |\n| align_struct_field | ✅ | ❌ | ❌ |\n| align_conditional | ❌ | ❌ | ❌ |\n| align_pair_arrow | ❌ | ❌ | ❌ |\n| align_matrix | ❌ | ❌ | ❌ |\n| conditional_to_if | ✅ | ✅ | ✅ |\n| normalize_line_endings | ✅ | ✅ | ✅ |\n| trailing_comma | ✅ | ✅ | ✅ |\n| trailing_zero | ✅ | ❌ | ❌ |\n| join_lines_based_on_source | ❌ | ❌ | ❌ |\n| indent_submodule | ❌ | ❌ | ❌ |\n| separate_kwargs_with_semicolon | ✅ | ❌ | ❌ |\n| surround_whereop_typeparameters | ❌ | ❌ | ❌ |\n| for_in_replacement | ✅ | ❌ | ❌ |\n| variable_call_indent | ❌ | ❌ | ❌ |\n| yas_style_nesting | ❌ | ❌ | ❌ |\n| short_circuit_to_if | ✅ | ❌ | ❌ |\n| disallow_single_arg_nesting | ✅ | ❌ | ❌ |\n| total | 57.6% | 12.1% | 12.1% |\n\n## SciML v.s.\n\n| SciML v.s. | YAS | Blue | Runic |\n| --- | --- | --- | --- |\n| indent | ❌ | ❌ | ✅ |\n| margin | ✅ | ❌ | ❌ |\n| always_for_in | ❌ | ❌ | ✅ |\n| whitespace_typedefs | ❌ | ❌ | ✅ |\n| whitespace_ops_in_indices | ❌ | ❌ | ✅ |\n| remove_extra_newlines | ❌ | ❌ | ❌ |\n| import_to_using | ❌ | ❌ | ✅ |\n| pipe_to_function_call | ❌ | ❌ | ✅ |\n| short_to_long_function_def | ❌ | ❌ | ❌ |\n| force_long_function_def | ✅ | ✅ | ✅ |\n| long_to_short_function_def | ❌ | ❌ | ❌ |\n| always_use_return | ❌ | ❌ | ❌ |\n| whitespace_in_kwargs | ❌ | ❌ | ✅ |\n| annotate_untyped_fields_with_any | ❌ | ❌ | ❌ |\n| format_docstrings | ❌ | ❌ | ❌ |\n| align_assignment | ❌ | ❌ | ✅ |\n| align_struct_field | ❌ | ❌ | ❌ |\n| align_conditional | ❌ | ❌ | ❌ |\n| align_pair_arrow | ❌ | ❌ | ❌ |\n| align_matrix | ❌ | ❌ | ❌ |\n| conditional_to_if | ✅ | ✅ | ✅ |\n| normalize_line_endings | ✅ | ✅ | ✅ |\n| trailing_comma | ✅ | ✅ | ✅ |\n| trailing_zero | ❌ | ❌ | ✅ |\n| join_lines_based_on_source | ❌ | ❌ | ❌ |\n| indent_submodule | ❌ | ❌ | ❌ |\n| separate_kwargs_with_semicolon | ❌ | ❌ | ✅ |\n| surround_whereop_typeparameters | ❌ | ❌ | ✅ |\n| for_in_replacement | ❌ | ❌ | ✅ |\n| variable_call_indent | ❌ | ❌ | ❌ |\n| yas_style_nesting | ❌ | ❌ | ❌ |\n| short_circuit_to_if | ❌ | ❌ | ❌ |\n| disallow_single_arg_nesting | ❌ | ❌ | ❌ |\n| total | 15.2% | 12.1% | 48.5% |\n\n## Runic v.s.\n\n| Runic v.s. | YAS | Blue | SciML |\n| --- | --- | --- | --- |\n| indent | ❌ | ❌ | ✅ |\n| margin | ❌ | ❌ | ❌ |\n| always_for_in | ❌ | ❌ | ✅ |\n| whitespace_typedefs | ❌ | ❌ | ✅ |\n| whitespace_ops_in_indices | ❌ | ❌ | ✅ |\n| remove_extra_newlines | ❌ | ❌ | ❌ |\n| import_to_using | ❌ | ❌ | ✅ |\n| pipe_to_function_call | ❌ | ❌ | ✅ |\n| short_to_long_function_def | ❌ | ❌ | ❌ |\n| force_long_function_def | ✅ | ✅ | ✅ |\n| long_to_short_function_def | ❌ | ❌ | ❌ |\n| always_use_return | ❌ | ❌ | ❌ |\n| whitespace_in_kwargs | ❌ | ❌ | ✅ |\n| annotate_untyped_fields_with_any | ❌ | ❌ | ❌ |\n| format_docstrings | ❌ | ❌ | ❌ |\n| align_assignment | ❌ | ❌ | ✅ |\n| align_struct_field | ❌ | ❌ | ❌ |\n| align_conditional | ❌ | ❌ | ❌ |\n| align_pair_arrow | ❌ | ❌ | ❌ |\n| align_matrix | ❌ | ❌ | ❌ |\n| conditional_to_if | ✅ | ✅ | ✅ |\n| normalize_line_endings | ✅ | ✅ | ✅ |\n| trailing_comma | ✅ | ✅ | ✅ |\n| trailing_zero | ❌ | ❌ | ✅ |\n| join_lines_based_on_source | ❌ | ❌ | ❌ |\n| indent_submodule | ❌ | ❌ | ❌ |\n| separate_kwargs_with_semicolon | ❌ | ❌ | ✅ |\n| surround_whereop_typeparameters | ❌ | ❌ | ✅ |\n| for_in_replacement | ❌ | ❌ | ✅ |\n| variable_call_indent | ❌ | ❌ | ❌ |\n| yas_style_nesting | ❌ | ❌ | ❌ |\n| short_circuit_to_if | ❌ | ❌ | ❌ |\n| disallow_single_arg_nesting | ❌ | ❌ | ❌ |\n| total | 12.1% | 12.1% | 48.5% |\n\n## Similarity\n\n|            |    YAS |   Blue |  SciML |  Runic |\n| ---------- | ------ | ------ | ------ | ------ |\n|   YAS v.s. | 100.0% |  57.6% |  15.2% |  12.1% |\n|  Blue v.s. |  57.6% | 100.0% |  12.1% |  12.1% |\n| SciML v.s. |  15.2% |  12.1% | 100.0% |  48.5% |\n| Runic v.s. |  12.1% |  12.1% |  48.5% | 100.0% |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohno%2Fstyleguidecomparisons.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fohno%2Fstyleguidecomparisons.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohno%2Fstyleguidecomparisons.jl/lists"}