aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/ipkg.vim
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-11-25 19:15:05 +0000
committerJosh Rahm <joshuarahm@gmail.com>2024-11-25 19:27:38 +0000
commitc5d770d311841ea5230426cc4c868e8db27300a8 (patch)
treedd21f70127b4b8b5f109baefc8ecc5016f507c91 /runtime/syntax/ipkg.vim
parent9be89f131f87608f224f0ee06d199fcd09d32176 (diff)
parent081beb3659bd6d8efc3e977a160b1e72becbd8a2 (diff)
downloadrneovim-c5d770d311841ea5230426cc4c868e8db27300a8.tar.gz
rneovim-c5d770d311841ea5230426cc4c868e8db27300a8.tar.bz2
rneovim-c5d770d311841ea5230426cc4c868e8db27300a8.zip
Merge remote-tracking branch 'upstream/master' into mix_20240309
Diffstat (limited to 'runtime/syntax/ipkg.vim')
-rw-r--r--runtime/syntax/ipkg.vim66
1 files changed, 66 insertions, 0 deletions
diff --git a/runtime/syntax/ipkg.vim b/runtime/syntax/ipkg.vim
new file mode 100644
index 0000000000..218c243983
--- /dev/null
+++ b/runtime/syntax/ipkg.vim
@@ -0,0 +1,66 @@
+" Vim syntax file
+" Language: Ipkg
+" Maintainer: Idris Hackers (https://github.com/edwinb/idris2-vim), Serhii Khoma <srghma@gmail.com>
+" Last Change: 2020 May 19
+" Version: 0.1
+" Author: ShinKage
+" License: Vim (see :h license)
+" Repository: https://github.com/ShinKage/idris2-nvim
+"
+" Syntax highlight for Idris 2 Package Descriptors (idris-lang.org)
+"
+
+if exists("b:current_syntax")
+ finish
+endif
+
+" we want to use line continuations (\) BEGINNING
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword ipkgKey
+ \ package
+ \ authors
+ \ maintainers
+ \ license
+ \ brief
+ \ readme
+ \ homepage
+ \ sourceloc
+ \ bugtracker
+ \ options
+ \ opts
+ \ sourcedir
+ \ builddir
+ \ outputdir
+ \ prebuild
+ \ postbuild
+ \ preinstall
+ \ postinstall
+ \ preclean
+ \ postclean
+ \ version
+ \ langversion
+ \ modules
+ \ main
+ \ executable
+ \ depends
+
+" we want to use line continuations (\) END
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+syn region ipkgString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
+syn match ipkgVersion "[0-9]*\([.][0-9]*\)*"
+syn match ipkgName "[a-zA-Z][a-zA-z0-9_']*\([.][a-zA-Z][a-zA-z0-9_']*\)*" contained
+syn match ipkgOperator "\(,\|&&\|<\|<=\|==\|>=\|>\)"
+syn match ipkgComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=@Spell
+
+highlight def link ipkgKey Statement
+highlight def link ipkgString String
+highlight def link ipkgVersion Number
+highlight def link ipkgName Identifier
+highlight def link ipkgOperator Operator
+highlight def link ipkgComment Comment
+
+let b:current_syntax = "ipkg"