This project uses non standard 2 spaces indent in some parts (lib, copy,
info) and tabs in others (e.g. golang/*.go). This can be solved by local
configuration or adding metadata comments to files, but there is a
better solution - editorconfig[1].
Add .editorconfig file that use 2 spaces indent by default, and tabs for
the Go sources. This is not complete yet, but good enough for the areas
I usually touch.
People that do not use an editorconfig plugin are not affected by this
change. People that want to use it can install a plugin[2][3] and
improve the configuration as needed.
[1] https://editorconfig.org/
[2] https://github.com/editorconfig/editorconfig-vim#readme
[3] https://github.com/editorconfig/editorconfig-emacs#readme
Signed-off-by: Nir Soffer <nsoffer at redhat.com>
---
.editorconfig | 19 +++++++++++++++++++
Makefile.am | 1 +
2 files changed, 20 insertions(+)
create mode 100644 .editorconfig
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..30e5f655
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,19 @@
+# https://editorconfig.org/
+
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+trim_trailing_whitespace = true
+charset = utf-8
+
+[{*.go,go.mod,go.sum}]
+# Match gofmt style
+indent_style = tab
+indent_size = 4
+
+[{Makefile,Makefile.in,Makefile.am}]
+# Make requires tabs.
+indent_style = tab
diff --git a/Makefile.am b/Makefile.am
index 45316b6d..a76ee379 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,20 +14,21 @@
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
include $(top_srcdir)/common-rules.mk
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = \
.dir-locals.el \
+ .editorconfig \
.gitattributes \
.gitignore \
html/pod.css \
scripts/git.orderfile \
SECURITY \
$(NULL)
CLEANFILES += m4/*~
SUBDIRS = \
--
2.34.1
Richard W.M. Jones
2022-Jan-27 08:51 UTC
[Libguestfs] [PATCH libnbd] Add .editorconfig file
On Thu, Jan 27, 2022 at 02:22:40AM +0200, Nir Soffer wrote:> This project uses non standard 2 spaces indent in some parts (lib, copy, > info) and tabs in others (e.g. golang/*.go). This can be solved by local > configuration or adding metadata comments to files, but there is a > better solution - editorconfig[1]. > > Add .editorconfig file that use 2 spaces indent by default, and tabs for > the Go sources. This is not complete yet, but good enough for the areas > I usually touch. > > People that do not use an editorconfig plugin are not affected by this > change. People that want to use it can install a plugin[2][3] and > improve the configuration as needed. > > [1] https://editorconfig.org/ > [2] https://github.com/editorconfig/editorconfig-vim#readme > [3] https://github.com/editorconfig/editorconfig-emacs#readme > > Signed-off-by: Nir Soffer <nsoffer at redhat.com> > --- > .editorconfig | 19 +++++++++++++++++++ > Makefile.am | 1 + > 2 files changed, 20 insertions(+) > create mode 100644 .editorconfig > > diff --git a/.editorconfig b/.editorconfig > new file mode 100644 > index 00000000..30e5f655 > --- /dev/null > +++ b/.editorconfig > @@ -0,0 +1,19 @@ > +# https://editorconfig.org/ > + > +root = true > + > +[*] > +indent_style = space > +indent_size = 2 > +insert_final_newline = true > +trim_trailing_whitespace = true > +charset = utf-8 > + > +[{*.go,go.mod,go.sum}] > +# Match gofmt style > +indent_style = tab > +indent_size = 4 > + > +[{Makefile,Makefile.in,Makefile.am}] > +# Make requires tabs. > +indent_style = tab > diff --git a/Makefile.am b/Makefile.am > index 45316b6d..a76ee379 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -14,20 +14,21 @@ > # You should have received a copy of the GNU Lesser General Public > # License along with this library; if not, write to the Free Software > # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > > include $(top_srcdir)/common-rules.mk > > ACLOCAL_AMFLAGS = -I m4 > > EXTRA_DIST = \ > .dir-locals.el \ > + .editorconfig \ > .gitattributes \ > .gitignore \ > html/pod.css \ > scripts/git.orderfile \ > SECURITY \ > $(NULL) > > CLEANFILES += m4/*~ > > SUBDIRS = \ACK Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top