diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 470325d138..4bdecfc7c3 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1027,7 +1027,7 @@ au BufNewFile,BufRead *.decl,*.dcl,*.dec " NOTE: Patterns ending in a star are further down, these have lower priority. au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,.bash[_-]history,bash-fc[-.],*.ebuild,*.bash,*.eclass,PKGBUILD,*.bats,*.cygport call dist#ft#SetFileTypeSH("bash") au BufNewFile,BufRead .kshrc,*.ksh call dist#ft#SetFileTypeSH("ksh") -au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env{rc,} call dist#ft#SetFileTypeSH(getline(1)) +au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.envrc,.envrc.* call dist#ft#SetFileTypeSH(getline(1)) " Shell script (Arch Linux) or PHP file (Drupal) au BufNewFile,BufRead *.install \ if getline(1) =~ ' +" Last Change: 2026 Jan 27 +" Version: 2 +" Changelog: +" 0. Create syntax file. +" 1. Remove unused variable (g:main_syntax). +" 2. Apply changes required by github@dkearns + +if exists("b:current_syntax") + finish +endif + +syn match envField nextgroup=envValue /^\h\%(\w\|\.\)*/ +syn region envValue matchgroup=Operator start=/=/ end=/$/ +syn match envComment contains=envTodo,envTitles /^#.*$/ +syn keyword envTodo contained CAUTION NOTE TODO WARN WARNING +syn match envTitle contained /^\s*#\s*\zs[A-Z0-9][A-Z0-9 ]*:/ + +hi def link envField Identifier +hi def link envValue String +hi def link envComment Comment +hi def link envTodo Todo +hi def link envTitle PreProc + +let b:current_syntax = "env" + diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index 8da2b8f8ac..56046037a0 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -278,6 +278,7 @@ def s:GetFilenameChecks(): dict> elmfilt: ['filter-rules'], elsa: ['file.lc'], elvish: ['file.elv'], + env: ['.env', '.env.file', 'file.env'], epuppet: ['file.epp'], erlang: ['file.erl', 'file.hrl', 'file.yaws', 'file.app.src', 'rebar.config'], eruby: ['file.erb', 'file.rhtml'], @@ -735,7 +736,7 @@ def s:GetFilenameChecks(): dict> sh: ['.bashrc', '.bash_profile', '.bash-profile', '.bash_logout', '.bash-logout', '.bash_aliases', '.bash-aliases', '.bash_history', '.bash-history', '/tmp/bash-fc-3Ozjlw', '/tmp/bash-fc.3Ozjlw', 'PKGBUILD', 'file.bash', '/usr/share/doc/bash-completion/filter.sh', '/etc/udev/cdsymlinks.conf', 'any/etc/udev/cdsymlinks.conf', 'file.bats', '.ash_history', 'any/etc/neofetch/config.conf', '.xprofile', - 'user-dirs.defaults', 'user-dirs.dirs', 'makepkg.conf', '.makepkg.conf', 'file.mdd', 'file.cygport', '.env', '.envrc', 'devscripts.conf', + 'user-dirs.defaults', 'user-dirs.dirs', 'makepkg.conf', '.makepkg.conf', 'file.mdd', 'file.cygport', '.envrc', '.envrc.file', 'file.envrc', 'devscripts.conf', '.devscripts', 'file.lo', 'file.la', 'file.lai'], shaderslang: ['file.slang'], sieve: ['file.siv', 'file.sieve'], diff --git a/src/version.c b/src/version.c index eb20c82739..c2cc8137df 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 33, /**/ 32, /**/