mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #14914 from janlazo/vim-8.2.3050
vim-patch:8.2.{2954,3049,3050}
This commit is contained in:
commit
bb4fc69e93
11
runtime/autoload/dist/ft.vim
vendored
11
runtime/autoload/dist/ft.vim
vendored
@ -172,6 +172,17 @@ func dist#ft#FTent()
|
||||
setf dtd
|
||||
endfunc
|
||||
|
||||
func dist#ft#ExCheck()
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
elseif match(lines, '^--\|^ifdef\>\|^include\>') > -1
|
||||
setf euphoria3
|
||||
else
|
||||
setf elixir
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
|
@ -389,7 +389,7 @@ au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
|
||||
" Configure scripts
|
||||
au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
|
||||
" CUDA Cumpute Unified Device Architecture
|
||||
" CUDA Compute Unified Device Architecture
|
||||
au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
|
||||
" Dockerfilb; Podman uses the same syntax with name Containerfile
|
||||
@ -404,8 +404,15 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
||||
" Eterm
|
||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||
|
||||
" Elixir or Euphoria
|
||||
au BufNewFile,BufRead *.ex call dist#ft#ExCheck()
|
||||
|
||||
" Elixir
|
||||
au BufRead,BufNewFile mix.lock,*.exs setf elixir
|
||||
au BufRead,BufNewFile *.eex,*.leex setf eelixir
|
||||
|
||||
" Euphoria 3 or 4
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call dist#ft#EuphoriaCheck()
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.exu,*.exw call dist#ft#EuphoriaCheck()
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call dist#ft#EuphoriaCheck()
|
||||
endif
|
||||
@ -851,6 +858,9 @@ au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
|
||||
" JSON Patch (RFC 6902)
|
||||
au BufNewFile,BufRead *.json-patch setf json
|
||||
|
||||
" Jupyter Notebook is also json
|
||||
au BufNewFile,BufRead *.ipynb setf json
|
||||
|
||||
@ -1495,7 +1505,7 @@ au BufNewFile,BufRead *.sass setf sass
|
||||
au BufNewFile,BufRead *.sa setf sather
|
||||
|
||||
" Scala
|
||||
au BufNewFile,BufRead *.scala setf scala
|
||||
au BufNewFile,BufRead *.scala,*.sc setf scala
|
||||
|
||||
" SBT - Scala Build Tool
|
||||
au BufNewFile,BufRead *.sbt setf sbt
|
||||
|
@ -161,6 +161,8 @@ let s:filename_checks = {
|
||||
\ 'ecd': ['file.ecd'],
|
||||
\ 'edif': ['file.edf', 'file.edif', 'file.edo'],
|
||||
\ 'elinks': ['elinks.conf'],
|
||||
\ 'elixir': ['file.ex', 'file.exs', 'mix.lock'],
|
||||
\ 'eelixir': ['file.eex', 'file.leex'],
|
||||
\ 'elm': ['file.elm'],
|
||||
\ 'elmfilt': ['filter-rules'],
|
||||
\ 'epuppet': ['file.epp'],
|
||||
@ -257,7 +259,7 @@ let s:filename_checks = {
|
||||
\ 'jgraph': ['file.jgr'],
|
||||
\ 'jovial': ['file.jov', 'file.j73', 'file.jovial'],
|
||||
\ 'jproperties': ['file.properties', 'file.properties_xx', 'file.properties_xx_xx', 'some.properties_xx_xx_file'],
|
||||
\ 'json': ['file.json', 'file.jsonp', 'file.webmanifest', 'Pipfile.lock', 'file.ipynb'],
|
||||
\ 'json': ['file.json', 'file.jsonp', 'file.json-patch', 'file.webmanifest', 'Pipfile.lock', 'file.ipynb'],
|
||||
\ 'jsp': ['file.jsp'],
|
||||
\ 'kconfig': ['Kconfig', 'Kconfig.debug', 'Kconfig.file'],
|
||||
\ 'kivy': ['file.kv'],
|
||||
@ -422,7 +424,7 @@ let s:filename_checks = {
|
||||
\ 'sass': ['file.sass'],
|
||||
\ 'sather': ['file.sa'],
|
||||
\ 'sbt': ['file.sbt'],
|
||||
\ 'scala': ['file.scala'],
|
||||
\ 'scala': ['file.scala', 'file.sc'],
|
||||
\ 'scheme': ['file.scm', 'file.ss', 'file.rkt'],
|
||||
\ 'scilab': ['file.sci', 'file.sce'],
|
||||
\ 'screen': ['.screenrc', 'screenrc'],
|
||||
@ -765,5 +767,41 @@ func Test_pp_file()
|
||||
filetype off
|
||||
endfunc
|
||||
|
||||
func Test_ex_file()
|
||||
filetype on
|
||||
|
||||
call writefile(['arbitrary content'], 'Xfile.ex')
|
||||
split Xfile.ex
|
||||
call assert_equal('elixir', &filetype)
|
||||
bwipe!
|
||||
let g:filetype_euphoria = 'euphoria4'
|
||||
split Xfile.ex
|
||||
call assert_equal('euphoria4', &filetype)
|
||||
bwipe!
|
||||
unlet g:filetype_euphoria
|
||||
|
||||
call writefile(['-- filetype euphoria comment'], 'Xfile.ex')
|
||||
split Xfile.ex
|
||||
call assert_equal('euphoria3', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['--filetype euphoria comment'], 'Xfile.ex')
|
||||
split Xfile.ex
|
||||
call assert_equal('euphoria3', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['ifdef '], 'Xfile.ex')
|
||||
split Xfile.ex
|
||||
call assert_equal('euphoria3', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['include '], 'Xfile.ex')
|
||||
split Xfile.ex
|
||||
call assert_equal('euphoria3', &filetype)
|
||||
bwipe!
|
||||
|
||||
call delete('Xfile.ex')
|
||||
filetype off
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
Loading…
Reference in New Issue
Block a user