Patch 8.2.4238

6 views
Skip to first unread message

Bram Moolenaar

unread,
Jan 28, 2022, 9:15:51 AM1/28/22
to vim...@googlegroups.com

Patch 8.2.4238
Problem: *.tf file could be fileytpe "tf" or "terraform".
Solution: Detect the type from the file contents. (closes #9642)
Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim,
src/testdir/test_filetype.vim


*** ../vim-8.2.4237/runtime/filetype.vim 2022-01-23 17:09:00.342463158 +0000
--- runtime/filetype.vim 2022-01-28 14:13:52.929907358 +0000
***************
*** 1946,1955 ****
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy

" TF mud client
! au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf

" TLA+
! au BufRead,BufNewFile *.tla setf tla

" tmux configuration
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
--- 1946,1958 ----
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy

" TF mud client
! au BufNewFile,BufRead .tfrc,tfrc setf tf
!
! " TF mud client or terraform
! au BufNewFile,BufRead *.tf call dist#ft#FTtf()

" TLA+
! au BufNewFile,BufRead *.tla setf tla

" tmux configuration
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
***************
*** 1958,1964 ****
au BufNewFile,BufRead *.toml setf toml

" TPP - Text Presentation Program
! au BufNewFile,BufReadPost *.tpp setf tpp

" Treetop
au BufRead,BufNewFile *.treetop setf treetop
--- 1961,1967 ----
au BufNewFile,BufRead *.toml setf toml

" TPP - Text Presentation Program
! au BufNewFile,BufRead *.tpp setf tpp

" Treetop
au BufRead,BufNewFile *.treetop setf treetop
*** ../vim-8.2.4237/runtime/autoload/dist/ft.vim 2022-01-21 14:55:10.169295589 +0000
--- runtime/autoload/dist/ft.vim 2022-01-28 14:13:57.549841104 +0000
***************
*** 862,867 ****
--- 862,882 ----
endwhile
endfunc

+ " Determine if a *.tf file is TF mud client or terraform
+ func dist#ft#FTtf()
+ let numberOfLines = line('$')
+ for i in range(1, numberOfLines)
+ let currentLine = trim(getline(i))
+ let firstCharacter = currentLine[0]
+ if firstCharacter !=? ";" && firstCharacter !=? "/" && firstCharacter !=? ""
+ setf terraform
+ return
+ endif
+ endfor
+ setf tf
+ endfunc
+
+
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save
*** ../vim-8.2.4237/src/testdir/test_filetype.vim 2022-01-24 11:40:33.944693856 +0000
--- src/testdir/test_filetype.vim 2022-01-28 14:08:42.546357875 +0000
***************
*** 771,776 ****
--- 771,794 ----
filetype off
endfunc

+ func Test_tf_file()
+ filetype on
+
+ call writefile([';;; TF MUD client is super duper cool'], 'Xfile.tf')
+ split Xfile.tf
+ call assert_equal('tf', &filetype)
+ bwipe!
+
+ call writefile(['provider "azurerm" {'], 'Xfile.tf')
+ split Xfile.tf
+ call assert_equal('terraform', &filetype)
+ bwipe!
+
+ call delete('Xfile.tf')
+ filetype off
+ endfunc
+
+
func Test_ts_file()
filetype on

*** ../vim-8.2.4237/src/version.c 2022-01-28 12:50:38.596217550 +0000
--- src/version.c 2022-01-28 14:10:30.428811178 +0000
***************
*** 752,753 ****
--- 752,755 ----
{ /* Add new patch number below this line */
+ /**/
+ 4238,
/**/

--
It might look like I'm doing nothing, but at the cellular level
I'm really quite busy.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages