From 93fe769b08d3a939b81c846a14814fbe74ee9bef Mon Sep 17 00:00:00 2001 From: Wu Zhenyu Date: Thu, 13 Oct 2022 19:17:15 +0800 Subject: [PATCH] Update syntax According to , now requirements.txt support `${ENVIRONMENT_VAR}`. So I add it. And I add syntax highlight for strings and keywords. --- syntax/requirements.vim | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/syntax/requirements.vim b/syntax/requirements.vim index 3680229..24efeeb 100644 --- a/syntax/requirements.vim +++ b/syntax/requirements.vim @@ -30,6 +30,12 @@ endif syn case match +" https://pip.pypa.io/en/stable/reference/requirements-file-format/ +" https://pip.pypa.io/en/stable/reference/inspect-report/#example +syn keyword requirementsKeyword implementation_name implementation_version os_name platform_machine platform_release platform_system platform_version python_full_version platform_python_implementation python_version sys_platform contained +syn region requirementsSubst matchgroup=requirementsSubstDelim start="\V${" end="\V}" +syn region requirementsString matchgroup=requirementsStringDelim start=`'` skip=`\\'` end=`'` +syn region requirementsString matchgroup=requirementsStringDelim start=`"` skip=`\\"` end=`"` syn match requirementsVersion "\v\d+[a-zA-Z0-9\.\-\*]*" syn region requirementsComment start="[ \t]*#" end="$" syn match requirementsCommandOption "\v^\[?--?[a-zA-Z\-]*\]?" @@ -38,8 +44,13 @@ syn match requirementsPackageName "\v^([a-zA-Z0-9][a-zA-Z0-9\-_\.]*[a-zA-Z0-9])" syn match requirementsExtras "\v\[\S+\]" syn match requirementsVersionControls "\v(git\+?|hg\+|svn\+|bzr\+).*://.\S+" syn match requirementsURLs "\v(\@\s)?(https?|ftp|gopher)://?[^\s/$.?#].\S*" -syn match requirementsEnvironmentMarkers "\v;\s[^#]+" +syn match requirementsEnvironmentMarkers "\v;\s[^#]+" contains=requirementsKeyword,requirementsVersionSpecifiers,requirementsString +hi def link requirementsKeyword Keyword +hi def link requirementsSubstDelim Delimiter +hi def link requirementsSubst PreProc +hi def link requirementsStringDelim Delimiter +hi def link requirementsString String hi def link requirementsVersion Number hi def link requirementsComment Comment hi def link requirementsCommandOption Special