mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.4238: *.tf file could be fileytpe "tf" or "terraform"
Problem: *.tf file could be fileytpe "tf" or "terraform".
Solution: Detect the type from the file contents. (closes vim/vim#9642)
bd8168c770
This commit is contained in:
parent
6cb670cb2c
commit
5b9980f01e
15
runtime/autoload/dist/ft.vim
vendored
15
runtime/autoload/dist/ft.vim
vendored
@ -862,6 +862,21 @@ func dist#ft#FTfoam()
|
|||||||
endwhile
|
endwhile
|
||||||
endfunc
|
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'
|
" Restore 'cpoptions'
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
@ -1942,10 +1942,13 @@ au BufNewFile,BufRead texmf.cnf setf texmf
|
|||||||
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy
|
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy
|
||||||
|
|
||||||
" TF mud client
|
" TF mud client
|
||||||
au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
|
au BufNewFile,BufRead .tfrc,tfrc setf tf
|
||||||
|
|
||||||
|
" TF mud client or terraform
|
||||||
|
au BufNewFile,BufRead *.tf call dist#ft#FTtf()
|
||||||
|
|
||||||
" TLA+
|
" TLA+
|
||||||
au BufRead,BufNewFile *.tla setf tla
|
au BufNewFile,BufRead *.tla setf tla
|
||||||
|
|
||||||
" tmux configuration
|
" tmux configuration
|
||||||
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
||||||
@ -1954,7 +1957,7 @@ au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
|||||||
au BufNewFile,BufRead *.toml setf toml
|
au BufNewFile,BufRead *.toml setf toml
|
||||||
|
|
||||||
" TPP - Text Presentation Program
|
" TPP - Text Presentation Program
|
||||||
au BufNewFile,BufReadPost *.tpp setf tpp
|
au BufNewFile,BufRead *.tpp setf tpp
|
||||||
|
|
||||||
" Treetop
|
" Treetop
|
||||||
au BufRead,BufNewFile *.treetop setf treetop
|
au BufRead,BufNewFile *.treetop setf treetop
|
||||||
|
@ -661,7 +661,6 @@ local extension = {
|
|||||||
txi = "texinfo",
|
txi = "texinfo",
|
||||||
texinfo = "texinfo",
|
texinfo = "texinfo",
|
||||||
text = "text",
|
text = "text",
|
||||||
tf = "tf",
|
|
||||||
tfvars = "terraform",
|
tfvars = "terraform",
|
||||||
tla = "tla",
|
tla = "tla",
|
||||||
tli = "tli",
|
tli = "tli",
|
||||||
@ -827,6 +826,7 @@ local extension = {
|
|||||||
stm = function() vim.fn["dist#ft#FThtml"]() end,
|
stm = function() vim.fn["dist#ft#FThtml"]() end,
|
||||||
tcsh = function() vim.fn["dist#ft#SetFileTypeShell"]("tcsh") end,
|
tcsh = function() vim.fn["dist#ft#SetFileTypeShell"]("tcsh") end,
|
||||||
tex = function() vim.fn["dist#ft#FTtex"]() end,
|
tex = function() vim.fn["dist#ft#FTtex"]() end,
|
||||||
|
tf = function() vim.fn["dist#ft#FTtf"]() end,
|
||||||
w = function() vim.fn["dist#ft#FTprogress_cweb"]() end,
|
w = function() vim.fn["dist#ft#FTprogress_cweb"]() end,
|
||||||
xml = function() vim.fn["dist#ft#FTxml"]() end,
|
xml = function() vim.fn["dist#ft#FTxml"]() end,
|
||||||
y = function() vim.fn["dist#ft#FTy"]() end,
|
y = function() vim.fn["dist#ft#FTy"]() end,
|
||||||
|
@ -746,6 +746,24 @@ func Test_hook_file()
|
|||||||
filetype off
|
filetype off
|
||||||
endfunc
|
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()
|
func Test_ts_file()
|
||||||
filetype on
|
filetype on
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user