runtime(idris2): include filetype,indent+syntax plugins for (L)Idris2 + ipkg

closes: #15993

Co-authored-by: Christian Clason <ch.clason+github@icloud.com>
Signed-off-by: Serhii Khoma <srghma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Serhii Khoma
2024-11-12 21:49:42 +01:00
committed by Christian Brabandt
parent f18987caa5
commit 5ca8f223f0
10 changed files with 463 additions and 3 deletions

66
runtime/syntax/ipkg.vim Normal file
View File

@ -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"