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 <cb@256bit.org>
# Invoked from "scripts.vim" in 'runtimepath'
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
-# Last Change: 2025 Dec 22
+# Last Change: 2026 Apr 09
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
export def DetectFiletype()
return 'php'
# Python
- elseif name =~ 'python'
+ elseif name =~ 'python' || (name == 'uv' && line1 =~ '\<uv run\>')
return 'python'
# Groovy
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'],
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 327,
/**/
326,
/**/