mirror of
https://github.com/amix/vimrc
synced 2025-07-09 10:45:00 +08:00
Cleaning deps.
This commit is contained in:
162
sources_non_forked/vim-notes/syntax/notes.vim
Normal file
162
sources_non_forked/vim-notes/syntax/notes.vim
Normal file
@ -0,0 +1,162 @@
|
||||
" Vim syntax script
|
||||
" Author: Peter Odding <peter@peterodding.com>
|
||||
" Last Change: July 16, 2013
|
||||
" URL: http://peterodding.com/code/vim/notes/
|
||||
|
||||
" Note: This file is encoded in UTF-8 including a byte order mark so
|
||||
" that Vim loads the script using the right encoding transparently.
|
||||
|
||||
" Quit when a syntax file was already loaded.
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Check for spelling errors in all text.
|
||||
syntax spell toplevel
|
||||
|
||||
" Inline elements. {{{1
|
||||
|
||||
" Cluster of elements which never contain a newline character.
|
||||
syntax cluster notesInline contains=notesName
|
||||
|
||||
" Default highlighting style for notes syntax markers.
|
||||
highlight def link notesHiddenMarker Ignore
|
||||
|
||||
" Highlight note names as hyperlinks. {{{2
|
||||
call xolox#notes#highlight_names(1)
|
||||
syntax cluster notesInline add=notesName
|
||||
highlight def link notesName Underlined
|
||||
|
||||
" Highlight @tags as hyperlinks. {{{2
|
||||
syntax match notesTagName /\(^\|\s\)\@<=@\k\+/
|
||||
highlight def link notesTagName Underlined
|
||||
|
||||
" Highlight list bullets and numbers. {{{2
|
||||
execute 'syntax match notesListBullet /' . escape(xolox#notes#leading_bullet_pattern(), '/') . '/'
|
||||
highlight def link notesListBullet Comment
|
||||
syntax match notesListNumber /^\s*\zs\d\+[[:punct:]]\?\ze\s/
|
||||
highlight def link notesListNumber Comment
|
||||
|
||||
" Highlight quoted fragments. {{{2
|
||||
if xolox#notes#unicode_enabled()
|
||||
syntax match notesDoubleQuoted /“.\{-}”/
|
||||
syntax match notesSingleQuoted /‘.\{-}’/
|
||||
else
|
||||
syntax match notesDoubleQuoted /".\{-}"/
|
||||
syntax match notesSingleQuoted /`.\{-}'/
|
||||
endif
|
||||
highlight def link notesSingleQuoted Special
|
||||
highlight def link notesDoubleQuoted String
|
||||
|
||||
" Highlight text emphasized in italic font. {{{2
|
||||
if has('conceal')
|
||||
syntax region notesItalic matchgroup=notesItalicMarker start=/\<_\k\@=/ end=/_\>\|\n/ contains=@Spell concealends
|
||||
highlight link notesItalicMarker notesHiddenMarker
|
||||
else
|
||||
syntax match notesItalic /\<_\k[^_]*\k_\>/
|
||||
endif
|
||||
syntax cluster notesInline add=notesItalic
|
||||
highlight notesItalic gui=italic cterm=italic
|
||||
|
||||
" Highlight text emphasized in bold font. {{{2
|
||||
if has('conceal')
|
||||
syntax region notesBold matchgroup=notesBoldMarker start=/\*\k\@=/ end=/\S\@<=\*/ contains=@Spell concealends
|
||||
highlight link notesBoldMarker notesHiddenMarker
|
||||
else
|
||||
syntax match notesBold /\*\k[^*]*\k\*/
|
||||
endif
|
||||
syntax cluster notesInline add=notesBold
|
||||
highlight notesBold gui=bold cterm=bold
|
||||
|
||||
" Highlight domain names, URLs, e-mail addresses and filenames. {{{2
|
||||
|
||||
" FIXME This setting is lost once the user switches color scheme!
|
||||
highlight notesSubtleURL gui=underline guifg=fg
|
||||
|
||||
syntax match notesTextURL @\<www\.\(\S*\w\)\+/\?@
|
||||
syntax cluster notesInline add=notesTextURL
|
||||
highlight def link notesTextURL notesSubtleURL
|
||||
execute printf('syntax match notesRealURL @%s@', g:xolox#notes#url_pattern)
|
||||
syntax cluster notesInline add=notesRealURL
|
||||
highlight def link notesRealURL notesSubtleURL
|
||||
if has('conceal')
|
||||
syntax match notesUrlScheme @\(mailto:\|javascript:\|\w\{3,}://\)@ contained containedin=notesRealURL conceal
|
||||
highlight def link notesUrlScheme notesRealURL
|
||||
endif
|
||||
syntax match notesEmailAddr /\<\w[^@ \t\r]*\w@\w[^@ \t\r]\+\w\>/
|
||||
syntax cluster notesInline add=notesEmailAddr
|
||||
highlight def link notesEmailAddr notesSubtleURL
|
||||
syntax match notesUnixPath /\k\@<![\/~]\S\+\(\/\|[^ [:punct:]]\)/
|
||||
syntax cluster notesInline add=notesUnixPath
|
||||
highlight def link notesUnixPath Directory
|
||||
syntax match notesPathLnum /:\d\+/ contained containedin=notesUnixPath
|
||||
highlight def link notesPathLnum Comment
|
||||
syntax match notesWindowsPath /\k\@<![A-Za-z]:\S\+\([\\/]\|[^ [:punct:]]\)/
|
||||
syntax cluster notesInline add=notesWindowsPath
|
||||
highlight def link notesWindowsPath Directory
|
||||
|
||||
" Highlight TODO, DONE, FIXME and XXX markers. {{{2
|
||||
syntax match notesTodo /\<TODO\>/
|
||||
syntax match notesXXX /\<XXX\>/
|
||||
syntax match notesFixMe /\<FIXME\>/
|
||||
syntax match notesInProgress /\<\(CURRENT\|INPROGRESS\|STARTED\|WIP\)\>/
|
||||
syntax match notesDoneItem /^\(\s\+\).*\<DONE\>.*\(\n\1\s.*\)*/ contains=@notesInline
|
||||
syntax match notesDoneMarker /\<DONE\>/ containedin=notesDoneItem
|
||||
highlight def link notesTodo WarningMsg
|
||||
highlight def link notesXXX WarningMsg
|
||||
highlight def link notesFixMe WarningMsg
|
||||
highlight def link notesDoneItem Comment
|
||||
highlight def link notesDoneMarker Question
|
||||
highlight def link notesInProgress Directory
|
||||
|
||||
" Highlight Vim command names in :this notation. {{{2
|
||||
syntax match notesVimCmd /:\w\+\(!\|\>\)/ contains=ALLBUT,@Spell
|
||||
syntax cluster notesInline add=notesVimCmd
|
||||
highlight def link notesVimCmd Special
|
||||
|
||||
" Block level elements. {{{1
|
||||
|
||||
" The first line of each note contains the title. {{{2
|
||||
syntax match notesTitle /^.*\%1l.*$/ contains=@notesInline
|
||||
highlight def link notesTitle ModeMsg
|
||||
|
||||
" Short sentences ending in a colon are considered headings. {{{2
|
||||
syntax match notesShortHeading /^\s*\zs\u.\{1,50}\k:\ze\(\s\|$\)/ contains=@notesInline
|
||||
highlight def link notesShortHeading Title
|
||||
|
||||
" Atx style headings are also supported. {{{2
|
||||
syntax match notesAtxHeading /^#\+.*/ contains=notesAtxMarker,@notesInline
|
||||
highlight def link notesAtxHeading Title
|
||||
syntax match notesAtxMarker /^#\+/ contained
|
||||
highlight def link notesAtxMarker Comment
|
||||
|
||||
" E-mail style block quotes are highlighted as comments. {{{2
|
||||
syntax match notesBlockQuote /\(^\s*>.*\n\)\+/ contains=@notesInline
|
||||
highlight def link notesBlockQuote Comment
|
||||
|
||||
" Horizontal rulers. {{{2
|
||||
syntax match notesRule /\(^\s\+\)\zs\*\s\*\s\*$/
|
||||
highlight def link notesRule Comment
|
||||
|
||||
" Highlight embedded blocks of source code, log file messages, basically anything Vim can highlight. {{{2
|
||||
" NB: I've escaped these markers so that Vim doesn't interpret them when editing this file…
|
||||
syntax match notesCodeStart /{{[{]\w*/
|
||||
syntax match notesCodeEnd /}}[}]/
|
||||
highlight def link notesCodeStart Ignore
|
||||
highlight def link notesCodeEnd Ignore
|
||||
call xolox#notes#highlight_sources(1)
|
||||
|
||||
" Hide mode line at end of file. {{{2
|
||||
syntax match notesModeLine /\_^vim:.*\_s*\%$/
|
||||
highlight def link notesModeLine LineNr
|
||||
|
||||
" Last edited dates in :ShowTaggedNotes buffers.
|
||||
syntax match notesLastEdited /(last edited \(today\|yesterday\|\w\+, \w\+ \d\+, \d\+\))/
|
||||
highlight def link notesLastEdited LineNr
|
||||
|
||||
" }}}1
|
||||
|
||||
" Set the currently loaded syntax mode.
|
||||
let b:current_syntax = 'notes'
|
||||
|
||||
" vim: ts=2 sw=2 et bomb fdl=1
|
Reference in New Issue
Block a user