diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index a342ba4640..1885f86882 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -623,6 +623,17 @@ any #lang directive overrides, use the following command: > let g:freebasic_lang = "fblite" +GDSCRIPT *ft-gdscript-plugin* + +By default the following options are set, based on Godot official docs: > + + setlocal noexpandtab softtabstop=0 shiftwidth=0 + +To disable this behavior, set the following variable in your vimrc: > + + let g:gdscript_recommended_style = 0 + + GIT COMMIT *ft-gitcommit-plugin* One command, :DiffGitCached, is provided to show a diff of the current commit diff --git a/runtime/ftplugin/gdscript.vim b/runtime/ftplugin/gdscript.vim index 93519d8afe..d1f41c8eaf 100644 --- a/runtime/ftplugin/gdscript.vim +++ b/runtime/ftplugin/gdscript.vim @@ -4,6 +4,7 @@ vim9script # Language: gdscript (Godot game engine scripting language) # Maintainer: Maxim Kim # Website: https://github.com/habamax/vim-gdscript +# Last Change: 2024 Jul 14 if exists("b:did_ftplugin") | finish | endif @@ -22,6 +23,11 @@ setlocal commentstring=#\ %s setlocal foldignore= setlocal foldexpr=GDScriptFoldLevel() +if get(g:, 'gdscript_recommended_style', 1) + setlocal noexpandtab tabstop=4 softtabstop=0 shiftwidth=0 + b:undo_ftplugin ..= ' | setlocal expandtab< tabstop< softtabstop< shiftwidth<' +endif + def GDScriptFoldLevel(): string var line = getline(v:lnum)