runtime(go): add recommended indent options to ftplugin

related: #15264

Signed-off-by: markmacode <code@mamo.aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 1885f86..6c706b1 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*	For Vim version 9.1.  Last change: 2024 Jul 15
+*filetype.txt*	For Vim version 9.1.  Last change: 2024 Jul 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -641,6 +641,17 @@
 any arguments given to the command.
 
 
+GO							*ft-go-plugin*
+
+By default the following options are set, based on Golang official docs: >
+
+	setlocal noexpandtab softtabstop=0 shiftwidth=0
+
+To disable this behavior, set the following variable in your vimrc: >
+
+	let g:go_recommended_style = 0
+
+
 GPROF							*ft-gprof-plugin*
 
 The gprof filetype plugin defines a mapping <C-]> to jump from a function
diff --git a/runtime/ftplugin/go.vim b/runtime/ftplugin/go.vim
index 61dc1a1..75f78cf 100644
--- a/runtime/ftplugin/go.vim
+++ b/runtime/ftplugin/go.vim
@@ -2,6 +2,7 @@
 " Language:	Go
 " Maintainer:	David Barnett (https://github.com/google/vim-ft-go)
 " Last Change:	2014 Aug 16
+" 2024 Jul 16 by Vim Project (add recommended indent style)
 
 if exists('b:did_ftplugin')
   finish
@@ -15,4 +16,9 @@
 
 let b:undo_ftplugin = 'setl fo< com< cms<'
 
+if get(g:, 'go_recommended_style', 1)
+  setlocal noexpandtab softtabstop=0 shiftwidth=0
+  let b:undo_ftplugin ..= ' | setl et< sts< sw<'
+endif
+
 " vim: sw=2 sts=2 et