[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Vim-mode for LilyPond
From: |
Heikki Johannes Junes |
Subject: |
Vim-mode for LilyPond |
Date: |
Thu, 17 Oct 2002 18:14:18 +0300 (EET DST) |
I made this vim-mode just for fun. If somebody uses vim maybe they will
like this. For example, slur matching works in vim.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.560
diff -r1.560 ChangeLog
0a1,4
> 2002-10-17 Heikki Junes <address@hidden>
>
> * lilypond.vim: New file. Vim-mode for LilyPond.
>
Here is the "lilypond.vim"-file.
" Vim syntax file
" Language: LilyPond
" Maintainer: Heikki Junes <address@hidden>
" Last Change: Oct 17, 2002
" Version: 6.1-1
" Latest: http://www.lilypond.org
" Lilypond: 1.7.3
"
" Notes: Place this to, e.g., /usr/share/vim/syntax/lilypond.vim
and
" add corresponding line to, e.g.,
/usr/local/vim/filetypes.vim.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Match also parethesis of angle type
set mps+=<:>
syn cluster lilyMatchGroup
contains=lilyMatcher,lilyString,lilyComment,lilyStatement,lilyNote,lilyNumber,lilyEquation,lilySlur,lilySpecial
syn region lilyMatcher matchgroup=Delimiter start="{"
skip="\\\\\|\\[{<>}]" end="}" address@hidden fold
syn region lilyMatcher matchgroup=Delimiter start="\[" end="]"
address@hidden fold
syn region lilyMatcher matchgroup=Delimiter start="<"
skip="\\\\\|\\[{<>}]" end=">" address@hidden fold
syn region lilyString start=/"/ end=/"/ skip=/\\"/
syn region lilyComment start="%{" skip="%$" end="%}"
syn region lilyComment start="%\([^{]\|$\)" end="$"
syn match lilyStatement "[-_^]\?\\\a\+"
syn match lilyNote
"\<\(\(\(bb\|as[ae]s\|[ae]s\|eses\|[a-h]\([ei]s\)\{,2}\)\([,']\)\{,4}\([?!]\)\?\|[srR]\)\(\(128\|6\?4\|3\?2\|16\?\|8\|\\breve\)[.]*\)\?\)\(\A\|\n\)"me=e-1
syn match lilyNumber "[-_^.]\?\d\+[.]\?"
syn match lilyEquation
"\(#['`]\)\?\(\a*[-]\)*\a*\s*=\s*\(#[#'`]\?\)\?\a*"
syn match lilySlur "[(~)]"
syn match lilySlur "\\[()]"
syn match lilySpecial "\\[<!>\\]"
" Rest of syntax highlighting rules start here
"
" " Define the default highlighting.
" " For version 5.7 and earlier: only when not done already
" " For version 5.8 and later: only when an item doesn't have highlighting
yet
if version >= 508 || !exists("did_lily_syn_inits")
if version < 508
let did_lily_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink Delimiter Identifier
HiLink lilyString String
HiLink lilyComment Comment
HiLink lilyNote Identifier
HiLink lilyNumber Constant
HiLink lilyStatement Statement
HiLink lilySpecial Special
HiLink lilySlur ModeMsg
delcommand HiLink
endif
- Vim-mode for LilyPond,
Heikki Johannes Junes <=