diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..eb9f5e706 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,35 @@ +# EditorConfig — https://editorconfig.org +# +# Deliberately minimal. This file exists for ONE reason: to stop editors +# writing a UTF-8 BOM. +# +# Visual Studio saves a file as "UTF-8 with signature" when it needs to +# represent a non-ASCII character and the file had none before. That is +# harmless for MSVC, which accepts a BOM, but it is invisible churn in +# diffs, it varies by who last opened the file, and a BOM is fatal to any +# file that is executed rather than compiled -- a shell script or a .mux +# corpus file with a BOM does not work. +# +# The risk is about to grow: #1499 adds /utf-8 so source prose can be +# written as characters instead of \xE2\x80\x99 escapes, which is exactly +# the condition that makes Visual Studio start adding signatures. +# +# `charset = utf-8` means UTF-8 WITHOUT a BOM; `utf-8-bom` is the spelling +# for with. Visual Studio honours this, as do VS Code, CLion, Sublime and +# most others. +# +# Note for anyone reaching for git instead: git cannot do this. +# core.autocrlf is line endings only, and .gitattributes' +# working-tree-encoding converts encodings rather than stripping a +# signature -- setting it to UTF-16 would ADD one. Stripping a BOM in git +# needs a custom clean filter, which every clone has to configure locally. +# An .editorconfig needs no setup and fixes it at the point it happens. +# +# Nothing else is set here on purpose. Indentation, line endings and +# trailing whitespace are left to existing practice and to the code-style +# rules in CLAUDE.md, so this file cannot reformat anything by surprise. + +root = true + +[*] +charset = utf-8 diff --git a/mux/libmux.vcxproj.filters b/mux/libmux.vcxproj.filters index 6b3dfd49f..a8769a08a 100644 --- a/mux/libmux.vcxproj.filters +++ b/mux/libmux.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/lua54/lua54.vcxproj.filters b/mux/lua54/lua54.vcxproj.filters index bd051dcf8..7204f7adc 100644 --- a/mux/lua54/lua54.vcxproj.filters +++ b/mux/lua54/lua54.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/comsys/comsys.vcxproj.filters b/mux/modules/comsys/comsys.vcxproj.filters index 4f7c956a8..c602bc035 100644 --- a/mux/modules/comsys/comsys.vcxproj.filters +++ b/mux/modules/comsys/comsys.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/engine/engine.vcxproj.filters b/mux/modules/engine/engine.vcxproj.filters index e7fa62da7..7ce8695af 100644 --- a/mux/modules/engine/engine.vcxproj.filters +++ b/mux/modules/engine/engine.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/exp3/exp3.vcxproj.filters b/mux/modules/exp3/exp3.vcxproj.filters index f8dadacc4..123afea43 100644 --- a/mux/modules/exp3/exp3.vcxproj.filters +++ b/mux/modules/exp3/exp3.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/mail/mail.vcxproj.filters b/mux/modules/mail/mail.vcxproj.filters index ce659103a..da797e0ba 100644 --- a/mux/modules/mail/mail.vcxproj.filters +++ b/mux/modules/mail/mail.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/sqlproxy/sqlproxy.vcxproj b/mux/modules/sqlproxy/sqlproxy.vcxproj index b0958a056..b4ba853d7 100644 --- a/mux/modules/sqlproxy/sqlproxy.vcxproj +++ b/mux/modules/sqlproxy/sqlproxy.vcxproj @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/sqlproxy/sqlproxy.vcxproj.filters b/mux/modules/sqlproxy/sqlproxy.vcxproj.filters index b6fc28043..63126f008 100644 --- a/mux/modules/sqlproxy/sqlproxy.vcxproj.filters +++ b/mux/modules/sqlproxy/sqlproxy.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/sqlslave/sqlslave.vcxproj b/mux/modules/sqlslave/sqlslave.vcxproj index 39b46df63..3a9578ed1 100644 --- a/mux/modules/sqlslave/sqlslave.vcxproj +++ b/mux/modules/sqlslave/sqlslave.vcxproj @@ -1,4 +1,4 @@ - + diff --git a/mux/modules/sqlslave/sqlslave.vcxproj.filters b/mux/modules/sqlslave/sqlslave.vcxproj.filters index 71ba64796..fd4b7deda 100644 --- a/mux/modules/sqlslave/sqlslave.vcxproj.filters +++ b/mux/modules/sqlslave/sqlslave.vcxproj.filters @@ -1,4 +1,4 @@ - + diff --git a/mux/netmux.vcxproj.filters b/mux/netmux.vcxproj.filters index a123900ef..a7951cd91 100644 --- a/mux/netmux.vcxproj.filters +++ b/mux/netmux.vcxproj.filters @@ -1,4 +1,4 @@ - +