From: Christian Brabandt Date: Thu, 9 Apr 2026 20:50:01 +0000 (+0000) Subject: patch 9.2.0327: filetype: uv scripts are not detected X-Git-Tag: v9.2.0327^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6c16ccaf6101a5a4fa28df9ca31e0bf871541aa4;p=thirdparty%2Fvim.git patch 9.2.0327: filetype: uv scripts are not detected Problem: filetype: uv scripts are not detected (Asger Hautop Drewsen) Solution: Detect uv scripts as python filetype if the shebang line contains "uv run" Reference: https://docs.astral.sh/uv/guides/scripts/#using-a-shebang-to-create-an-executable-file fixes: #19941 Signed-off-by: Christian Brabandt --- diff --git a/runtime/autoload/dist/script.vim b/runtime/autoload/dist/script.vim index de168f0c09..0106900f8f 100644 --- a/runtime/autoload/dist/script.vim +++ b/runtime/autoload/dist/script.vim @@ -4,7 +4,7 @@ vim9script # Invoked from "scripts.vim" in 'runtimepath' # # Maintainer: The Vim Project -# Last Change: 2025 Dec 22 +# Last Change: 2026 Apr 09 # Former Maintainer: Bram Moolenaar export def DetectFiletype() @@ -115,7 +115,7 @@ export def Exe2filetype(name: string, line1: string): string return 'php' # Python - elseif name =~ 'python' + elseif name =~ 'python' || (name == 'uv' && line1 =~ '\') return 'python' # Groovy diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index 7a6615531c..04036b0eb4 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -1108,7 +1108,8 @@ def s:GetScriptChecks(): dict>> php: [['#!/path/php']], python: [['#!/path/python'], ['#!/path/python2'], - ['#!/path/python3']], + ['#!/path/python3'], + ['#!/usr/bin/env -S uv run --script']], groovy: [['#!/path/groovy']], ruby: [['#!/path/ruby']], javascript: [['#!/path/node'], diff --git a/src/version.c b/src/version.c index 70bca36892..483f55d9f6 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 */ +/**/ + 327, /**/ 326, /**/