view runtime/syntax/vroom.vim @ 30489:1e4d93103d01 v9.0.0580

patch 9.0.0580: no CI running for MacOS on M1 Commit: https://github.com/vim/vim/commit/1d61408af31667669edcbffc876e4eafdcacca96 Author: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sat Sep 24 19:32:11 2022 +0100 patch 9.0.0580: no CI running for MacOS on M1 Problem: No CI running for MacOS on M1. Solution: Add a cirrus CI task. (closes https://github.com/vim/vim/issues/11203)
author Bram Moolenaar <Bram@vim.org>
date Sat, 24 Sep 2022 20:45:03 +0200
parents 43efa4f5a8ea
children
line wrap: on
line source

" Vim syntax file
" Language:	Vroom (vim testing and executable documentation)
" Maintainer:	David Barnett (https://github.com/google/vim-ft-vroom)
" Last Change:	2014 Jul 23

" quit when a syntax file was already loaded
if exists('b:current_syntax')
  finish
endif

let s:cpo_save = &cpo
set cpo-=C


syn include @vroomVim syntax/vim.vim
syn include @vroomShell syntax/sh.vim

syntax region vroomAction
    \ matchgroup=vroomOutput
    \ start='\m^  ' end='\m$' keepend
    \ contains=vroomControlBlock

syntax region vroomAction
    \ matchgroup=vroomOutput
    \ start='\m^  & ' end='\m$' keepend
    \ contains=vroomControlBlock

syntax match vroomOutput '\m^  &$'

syntax region vroomMessageBody
    \ matchgroup=vroomMessage
    \ start='\m^  \~ ' end='\m$' keepend
    \ contains=vroomControlBlock

syntax region vroomColoredAction
    \ matchgroup=vroomInput
    \ start='\m^  > ' end='\m$' keepend
    \ contains=vimNotation,vroomControlBlock
syntax region vroomAction
    \ matchgroup=vroomInput
    \ start='\m^  % ' end='\m$' keepend
    \ contains=vimNotation,vroomControlBlock

syntax region vroomAction
    \ matchgroup=vroomContinuation
    \ start='\m^  |' end='\m$' keepend

syntax region vroomAction
    \ start='\m^  \ze:' end='\m$' keepend
    \ contains=@vroomVim,vroomControlBlock

syntax region vroomAction
    \ matchgroup=vroomDirective
    \ start='\m^  @\i\+' end='\m$' keepend
    \ contains=vroomControlBlock

syntax region vroomSystemAction
    \ matchgroup=vroomSystem
    \ start='\m^  ! ' end='\m$' keepend
    \ contains=@vroomShell,vroomControlBlock

syntax region vroomHijackAction
    \ matchgroup=vroomHijack
    \ start='\m^  \$ ' end='\m$' keepend
    \ contains=vroomControlBlock

syntax match vroomControlBlock contains=vroomControlEscape,@vroomControls
    \ '\v \([^&()][^()]*\)$'

syntax match vroomControlEscape '\m&' contained

syntax cluster vroomControls
    \ contains=vroomDelay,vroomMode,vroomBuffer,vroomRange
    \,vroomChannel,vroomBind,vroomStrictness
syntax match vroomRange '\v\.(,\+?(\d+|\$)?)?' contained
syntax match vroomRange '\v\d*,\+?(\d+|\$)?' contained
syntax match vroomBuffer '\v\d+,@!' contained
syntax match vroomDelay '\v\d+(\.\d+)?s' contained
syntax match vroomMode '\v<%(regex|glob|verbatim)' contained
syntax match vroomChannel '\v<%(stderr|stdout|command|status)>' contained
syntax match vroomBind '\v<bind>' contained
syntax match vroomStrictness '\v\<%(STRICT|RELAXED|GUESS-ERRORS)\>' contained

highlight default link vroomInput Identifier
highlight default link vroomDirective vroomInput
highlight default link vroomControlBlock vroomInput
highlight default link vroomSystem vroomInput
highlight default link vroomOutput Statement
highlight default link vroomContinuation Constant
highlight default link vroomHijack Special
highlight default link vroomColoredAction Statement
highlight default link vroomSystemAction vroomSystem
highlight default link vroomHijackAction vroomHijack
highlight default link vroomMessage vroomOutput
highlight default link vroomMessageBody Constant

highlight default link vroomControlEscape Special
highlight default link vroomBuffer vroomInput
highlight default link vroomRange Include
highlight default link vroomMode Constant
highlight default link vroomDelay Type
highlight default link vroomStrictness vroomMode
highlight default link vroomChannel vroomMode
highlight default link vroomBind vroomMode

let b:current_syntax = 'vroom'


let &cpo = s:cpo_save
unlet s:cpo_save