runtime(solidity): add new ftplugin (#12877)

Set undo_{ftplugin,indent}

closes #11240

Co-authored-by: cothi <jiungdev@gmail.com>
diff --git a/runtime/ftplugin/solidity.vim b/runtime/ftplugin/solidity.vim
new file mode 100644
index 0000000..abe9f2f
--- /dev/null
+++ b/runtime/ftplugin/solidity.vim
@@ -0,0 +1,15 @@
+" Vim filetype plugin file
+" Language:		Solidity
+" Maintainer:		Cothi (jiungdev@gmail.com)
+" Original Author:	tomlion (https://github.com/tomlion/vim-solidity)
+" Last Change:		2022 Sep 27
+" 			2023 Aug 22 Vim Project (did_ftplugin, undo_ftplugin)
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+setlocal commentstring=//\ %s
+
+let b:undo_ftplugin = "setlocal commentstring<"
diff --git a/runtime/indent/solidity.vim b/runtime/indent/solidity.vim
index caed726..55a07c0 100644
--- a/runtime/indent/solidity.vim
+++ b/runtime/indent/solidity.vim
@@ -1,9 +1,11 @@
 " Vim indent file
-" Language: 		Solidity
-" Acknowledgement: 	Based off of vim-javascript
-" Maintainer: 		Cothi (jiungdev@gmail.com)
-" Original Author: 	tomlion (https://github.com/tomlion/vim-solidity)
-" Last Changed: 	2022 Sep 27
+" Language:		Solidity
+" Maintainer:		Cothi (jiungdev@gmail.com)
+" Original Author:	tomlion (https://github.com/tomlion/vim-solidity)
+" Last Change:		2022 Sep 27
+" 			2023 Aug 22 Vim Project (undo_indent)
+"
+" Acknowledgement: Based off of vim-javascript
 "
 " 0. Initialization {{{1
 " =================
@@ -20,6 +22,8 @@
 setlocal indentexpr=GetSolidityIndent()
 setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e
 
+let b:undo_indent = "setlocal indentexpr< indentkeys< smartindent<"
+
 " Only define the function once.
 if exists("*GetSolidityIndent")
   finish
diff --git a/runtime/syntax/solidity.vim b/runtime/syntax/solidity.vim
index e552446..a46d041 100644
--- a/runtime/syntax/solidity.vim
+++ b/runtime/syntax/solidity.vim
@@ -1,10 +1,10 @@
 " Vim syntax file
-" Language: 		Solidity
-" Maintainer: 		Cothi (jiungdev@gmail.com)
-" Original Author: 	tomlion (https://github.com/tomlion/vim-solidity/blob/master/syntax/solidity.vim)
-" Last Changed: 	2022 Sep 27
+" Language:		Solidity
+" Maintainer:		Cothi (jiungdev@gmail.com)
+" Original Author:	tomlion (https://github.com/tomlion/vim-solidity/blob/master/syntax/solidity.vim)
+" Last Change:		2022 Sep 27
 "
-" Additional contributors:
+" Contributors:
 "       Modified by thesis (https://github.com/thesis/vim-solidity/blob/main/indent/solidity.vim)
 
 if exists("b:current_syntax")