mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.0.1620: Nix files are not recognized from the hashbang line
Problem: Nix files are not recognized from the hashbang line. Solution: Add a hashbang check. (issue #12507)
This commit is contained in:
8
runtime/autoload/dist/script.vim
vendored
8
runtime/autoload/dist/script.vim
vendored
@@ -4,7 +4,7 @@ vim9script
|
|||||||
# Invoked from "scripts.vim" in 'runtimepath'
|
# Invoked from "scripts.vim" in 'runtimepath'
|
||||||
#
|
#
|
||||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
# Last Change: 2023 May 06
|
# Last Change: 2023 Jun 08
|
||||||
|
|
||||||
export def DetectFiletype()
|
export def DetectFiletype()
|
||||||
var line1 = getline(1)
|
var line1 = getline(1)
|
||||||
@@ -44,7 +44,7 @@ def DetectFromHashBang(firstline: string)
|
|||||||
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
|
||||||
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
|
||||||
else
|
else
|
||||||
name = substitute(line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
|
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
|
# tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
|
||||||
@@ -197,6 +197,10 @@ def DetectFromHashBang(firstline: string)
|
|||||||
elseif name =~ 'guile'
|
elseif name =~ 'guile'
|
||||||
setl ft=scheme
|
setl ft=scheme
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
elseif name =~ 'nix-shell'
|
||||||
|
setl ft=nix
|
||||||
|
|
||||||
endif
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
@@ -852,6 +852,7 @@ def s:GetScriptChecks(): dict<list<list<string>>>
|
|||||||
expect: [['#!/path/expect']],
|
expect: [['#!/path/expect']],
|
||||||
gnuplot: [['#!/path/gnuplot']],
|
gnuplot: [['#!/path/gnuplot']],
|
||||||
make: [['#!/path/make']],
|
make: [['#!/path/make']],
|
||||||
|
nix: [['#!/path/nix-shell']],
|
||||||
pike: [['#!/path/pike'],
|
pike: [['#!/path/pike'],
|
||||||
['#!/path/pike0'],
|
['#!/path/pike0'],
|
||||||
['#!/path/pike9']],
|
['#!/path/pike9']],
|
||||||
@@ -902,6 +903,7 @@ def s:GetScriptEnvChecks(): dict<list<list<string>>>
|
|||||||
scheme: [['#!/usr/bin/env VAR=val --ignore-environment scheme']],
|
scheme: [['#!/usr/bin/env VAR=val --ignore-environment scheme']],
|
||||||
python: [['#!/usr/bin/env VAR=val -S python -w -T']],
|
python: [['#!/usr/bin/env VAR=val -S python -w -T']],
|
||||||
wml: [['#!/usr/bin/env VAR=val --split-string wml']],
|
wml: [['#!/usr/bin/env VAR=val --split-string wml']],
|
||||||
|
nix: [['#!/usr/bin/env nix-shell']],
|
||||||
}
|
}
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
@@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1620,
|
||||||
/**/
|
/**/
|
||||||
1619,
|
1619,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user