aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-12-19 23:21:07 +0100
committerChristian Clason <c.clason@uni-graz.at>2023-12-19 23:48:02 +0100
commit2ed784f3859bb0e70ae4ba79a99866cddd54219b (patch)
tree942776bb2f5c3f5100447bdf001b57dc86360878
parent18933fc47febb3056d6591529d07444a77338c27 (diff)
downloadrneovim-2ed784f3859bb0e70ae4ba79a99866cddd54219b.tar.gz
rneovim-2ed784f3859bb0e70ae4ba79a99866cddd54219b.tar.bz2
rneovim-2ed784f3859bb0e70ae4ba79a99866cddd54219b.zip
vim-patch:9.0.2179: no filetype detection for execline scripts
Problem: no filetype detection for execline scripts Solution: Add filetype detection for execline as a prior to adding syntax support for execline (see https://github.com/djpohly/vim-execline/issues/2), i went ahead and made the filetype detection for execline scripts. closes: vim/vim#13689 Signed-Off-By: Mazunki Hoksaas <rolferen@gmail.com> https://github.com/vim/vim/commit/63210c214afa6589b6132bd060908a8711f4567f Co-authored-by: Mazunki Hoksaas <rolferen@gmail.com>
-rw-r--r--runtime/lua/vim/filetype.lua5
-rw-r--r--runtime/lua/vim/filetype/detect.lua1
-rw-r--r--test/old/testdir/test_filetype.vim3
3 files changed, 9 insertions, 0 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua
index e64923ab54..9141b1e4c6 100644
--- a/runtime/lua/vim/filetype.lua
+++ b/runtime/lua/vim/filetype.lua
@@ -1656,6 +1656,11 @@ local pattern = {
['.*/dtrace/.*%.d'] = 'dtrace',
['.*esmtprc'] = 'esmtprc',
['.*Eterm/.*%.cfg'] = 'eterm',
+ ['.*s6.*/up'] = 'execline',
+ ['.*s6.*/down'] = 'execline',
+ ['.*s6.*/run'] = 'execline',
+ ['.*s6.*/finish'] = 'execline',
+ ['s6%-.*'] = 'execline',
['[a-zA-Z0-9].*Dict'] = detect.foam,
['[a-zA-Z0-9].*Dict%..*'] = detect.foam,
['[a-zA-Z].*Properties'] = detect.foam,
diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua
index 9d0f1bd3ab..a1c5ac73b4 100644
--- a/runtime/lua/vim/filetype/detect.lua
+++ b/runtime/lua/vim/filetype/detect.lua
@@ -1661,6 +1661,7 @@ local patterns_hashbang = {
['^\\%(rexx\\|regina\\)\\>'] = { 'rexx', { vim_regex = true } },
['^janet\\>'] = { 'janet', { vim_regex = true } },
['^dart\\>'] = { 'dart', { vim_regex = true } },
+ ['^execlineb\\>'] = { 'execline', { vim_regex = true } },
}
---@private
diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim
index 4288a5bde5..9f493bb792 100644
--- a/test/old/testdir/test_filetype.vim
+++ b/test/old/testdir/test_filetype.vim
@@ -226,6 +226,7 @@ func s:GetFilenameChecks() abort
\ 'esqlc': ['file.ec', 'file.EC'],
\ 'esterel': ['file.strl'],
\ 'eterm': ['anyEterm/file.cfg', 'Eterm/file.cfg', 'some-Eterm/file.cfg'],
+ \ 'execline': ['/etc/s6-rc/run', './s6-rc/src/dbus-srv/up', '/sbin/s6-shutdown'],
\ 'exim': ['exim.conf'],
\ 'expect': ['file.exp'],
\ 'exports': ['exports'],
@@ -828,6 +829,7 @@ let s:script_checks = {
\ ['#!/path/itclsh'],
\ ['#!/path/itkwish']],
\ 'expect': [['#!/path/expect']],
+ \ 'execline': [['#!/sbin/execlineb -S0'], ['#!/usr/bin/execlineb']],
\ 'gnuplot': [['#!/path/gnuplot']],
\ 'make': [['#!/path/make']],
\ 'nix': [['#!/path/nix-shell']],
@@ -879,6 +881,7 @@ let s:script_env_checks = {
\ 'perl': [['#!/usr/bin/env VAR=val perl']],
\ 'scala': [['#!/usr/bin/env VAR=val VVAR=vval scala']],
\ 'awk': [['#!/usr/bin/env VAR=val -i awk']],
+ \ 'execline': [['#!/usr/bin/env execlineb']],
\ 'scheme': [['#!/usr/bin/env VAR=val --ignore-environment scheme']],
\ 'python': [['#!/usr/bin/env VAR=val -S python -w -T']],
\ 'wml': [['#!/usr/bin/env VAR=val --split-string wml']],