neovim/runtime/syntax/snnspat.vim

65 lines
2.2 KiB
VimL
Raw Normal View History

" Vim syntax file
" Language: SNNS pattern file
" Maintainer: Davide Alberani <alberanid@bigfoot.com>
" Last Change: 2012 Feb 03 by Thilo Six
" Version: 0.2
" URL: http://digilander.iol.it/alberanid/vim/syntax/snnspat.vim
"
" SNNS http://www-ra.informatik.uni-tuebingen.de/SNNS/
" is a simulator for neural networks.
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" anything that isn't part of the header, a comment or a number
" is wrong
syn match snnspatError ".*"
" hoping that matches any kind of notation...
syn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
syn match snnspatAccepted "\s"
syn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
" the accepted fields in the header
syn match snnspatNoHeader "No\. of patterns\s*:\s*" contained
syn match snnspatNoHeader "No\. of input units\s*:\s*" contained
syn match snnspatNoHeader "No\. of output units\s*:\s*" contained
syn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained
syn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained
syn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained
syn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained
syn match snnspatGen "generated at.*" contained contains=snnspatNumbers
syn match snnspatGen "SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
" the header, what is not an accepted field, is an error
syn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
" numbers inside the header
syn match snnspatNumbers "\d" contained
syn match snnspatComment "#.*$" contains=snnspatTodo
syn keyword snnspatTodo TODO XXX FIXME contained
command -nargs=+ HiLink hi def link <args>
HiLink snnspatGen Statement
HiLink snnspatHeader Error
HiLink snnspatNoHeader Define
HiLink snnspatNumbers Number
HiLink snnspatComment Comment
HiLink snnspatError Error
HiLink snnspatTodo Todo
HiLink snnspatAccepted NONE
HiLink snnspatBrac NONE
delcommand HiLink
let b:current_syntax = "snnspat"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8 sw=2