runtime(gleam): Update ftplugin, use recommended_style config variable
Wrap the setting of basic whitespace formatting options in a conditional
block, following the de facto standard.
Setting 'et', 'sts' and 'sw' can be disabled by setting
"gleam_recommended_style" to false.
Follow up to PR #17086.
closes: #17128
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 761d667..c0bf1e6 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 9.1. Last change: 2025 Apr 15
+*filetype.txt* For Vim version 9.1. Last change: 2025 Apr 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -662,6 +662,16 @@
The `:Cycle` command is also mapped to the CTRL-A and CTRL-X keys.
For details, see `git-rebase --help`.
+GLEAM *ft-gleam-plugin*
+
+By default the following options are set for the recommended gleam style: >
+
+ setlocal expandtab shiftwidth=2 softtabstop=2
+
+To disable this behavior, set the following variable in your vimrc: >
+
+ let g:gleam_recommended_style = 0
+
GO *ft-go-plugin*
By default the following options are set, based on Golang official docs: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 415b675..961bde3 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7388,6 +7388,7 @@
ft-gdscript-plugin filetype.txt /*ft-gdscript-plugin*
ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
ft-gitrebase-plugin filetype.txt /*ft-gitrebase-plugin*
+ft-gleam-plugin filetype.txt /*ft-gleam-plugin*
ft-go-plugin filetype.txt /*ft-go-plugin*
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
ft-groff-syntax syntax.txt /*ft-groff-syntax*
diff --git a/runtime/ftplugin/gleam.vim b/runtime/ftplugin/gleam.vim
index 5187d4d..70958c7 100644
--- a/runtime/ftplugin/gleam.vim
+++ b/runtime/ftplugin/gleam.vim
@@ -2,7 +2,7 @@
" Language: Gleam
" Maintainer: Kirill Morozov <kirill@robotix.pro>
" Previous Maintainer: Trilowy (https://github.com/trilowy)
-" Last Change: 2025-04-12
+" Last Change: 2025 Apr 16
if exists('b:did_ftplugin')
finish
@@ -11,11 +11,15 @@
setlocal comments=://,:///,:////
setlocal commentstring=//\ %s
-setlocal expandtab
setlocal formatprg=gleam\ format\ --stdin
-setlocal shiftwidth=2
-setlocal softtabstop=2
-let b:undo_ftplugin = "setlocal com< cms< fp< et< sw< sts<"
+let b:undo_ftplugin = "setlocal com< cms< fp<"
+
+if get(g:, "gleam_recommended_style", 1)
+ setlocal expandtab
+ setlocal shiftwidth=2
+ setlocal softtabstop=2
+ let b:undo_ftplugin ..= " | setlocal et< sw< sts<"
+endif
" vim: sw=2 sts=2 et