changeset 31203:8a54e866a5db v9.0.0935

patch 9.0.0935: when using dash it may not be recognize as filetype "sh" Commit: https://github.com/vim/vim/commit/24482fbfd599d2273c48951df7d00d62f3e66c85 Author: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Date: Thu Nov 24 10:58:10 2022 +0000 patch 9.0.0935: when using dash it may not be recognize as filetype "sh" Problem: When using dash it may not be recognize as filetype "sh". Solution: Add checks for "dash". (Eisuke Kawashima,closes https://github.com/vim/vim/issues/11600)
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Nov 2022 12:00:05 +0100
parents 8a2f5cb18161
children 64244fdfa114
files runtime/autoload/dist/ft.vim runtime/autoload/dist/script.vim src/testdir/test_filetype.vim src/version.c
diffstat 4 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -712,7 +712,8 @@ export def SetFileTypeSH(name: string)
     if exists("b:is_sh")
       unlet b:is_sh
     endif
-  elseif name =~ '\<sh\>'
+  elseif name =~ '\<sh\>' || name =~ '\<dash\>'
+    # Ubuntu links "sh" to "dash", thus it is expected to work the same way
     b:is_sh = 1
     if exists("b:is_kornshell")
       unlet b:is_kornshell
--- a/runtime/autoload/dist/script.vim
+++ b/runtime/autoload/dist/script.vim
@@ -53,8 +53,8 @@ def DetectFromHashBang(firstline: string
     name = 'wish'
   endif
 
-  # Bourne-like shell scripts: bash bash2 ksh ksh93 sh
-  if name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
+    # Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
+  if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
     call dist#ft#SetFileTypeSH(line1)
 
     # csh scripts
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -704,6 +704,13 @@ let s:script_checks = {
       \		['__libc_start_main and something']],
       \ 'clojure': [['#!/path/clojure']],
       \ 'scala': [['#!/path/scala']],
+      \ 'sh':  [['#!/path/sh'],
+      \         ['#!/path/bash'],
+      \         ['#!/path/bash2'],
+      \         ['#!/path/dash'],
+      \         ['#!/path/ksh'],
+      \         ['#!/path/ksh93']],
+      \ 'csh': [['#!/path/csh']],
       \ 'tcsh': [['#!/path/tcsh']],
       \ 'zsh': [['#!/path/zsh']],
       \ 'tcl': [['#!/path/tclsh'],
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    935,
+/**/
     934,
 /**/
     933,