diff runtime/syntax/gitignore.vim @ 30202:fee9eccee266

Update runtime files Commit: https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 10 13:13:14 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sat, 10 Sep 2022 14:15:06 +0200
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/gitignore.vim
@@ -0,0 +1,29 @@
+" Vim syntax file
+" Language:	git ignore
+" Maintainer:	ObserverOfTime <chronobserver@disroot.org>
+" Filenames:	.gitignore, *.git/info/exclude
+" Last Change:	2022 Sep 10
+
+if exists('b:current_syntax')
+    finish
+endif
+
+" Comment
+syn keyword gitignoreTodo contained TODO FIXME XXX
+syn match gitignoreComment /^#.*/ contains=gitignoreTodo
+
+" Pattern
+syn match gitignorePattern /^#\@!.*$/ contains=gitignoreNegation,gitignoreGlob,gitignoreRange,gitignoreSeparator
+syn match gitignoreNegation /^!/ contained
+syn match gitignoreGlob /\\\@1<![?*]/ contained
+syn match gitignoreRange /\\\@1<!\[.\{-}\]/ contained
+syn match gitignoreSeparator '/' contained
+
+hi def link gitignoreComment Comment
+hi def link gitignoreGlob Special
+hi def link gitignoreNegation SpecialChar
+hi def link gitignoreRange Special
+hi def link gitignoreSeparator Delimiter
+hi def link gitignoreTodo Todo
+
+let b:current_syntax = 'gitignore'