mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-13 14:03:50 -05:00
Add all vim filetypes
This commit is contained in:
82
syntax/slice.vim
Normal file
82
syntax/slice.vim
Normal file
@@ -0,0 +1,82 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'slice') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: Slice (ZeroC's Specification Language for Ice)
|
||||
" Maintainer: Morel Bodin <slice06@nym.hush.com>
|
||||
" Last Change: 2005 Dec 03
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" The Slice keywords
|
||||
|
||||
syn keyword sliceType bool byte double float int long short string void
|
||||
syn keyword sliceQualifier const extends idempotent implements local nonmutating out throws
|
||||
syn keyword sliceConstruct class enum exception dictionary interface module LocalObject Object sequence struct
|
||||
syn keyword sliceQualifier const extends idempotent implements local nonmutating out throws
|
||||
syn keyword sliceBoolean false true
|
||||
|
||||
" Include directives
|
||||
syn region sliceIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match sliceIncluded display contained "<[^>]*>"
|
||||
syn match sliceInclude display "^\s*#\s*include\>\s*["<]" contains=sliceIncluded
|
||||
|
||||
" Double-include guards
|
||||
syn region sliceGuard start="^#\(define\|ifndef\|endif\)" end="$"
|
||||
|
||||
" Strings and characters
|
||||
syn region sliceString start=+"+ end=+"+
|
||||
|
||||
" Numbers (shamelessly ripped from c.vim, only slightly modified)
|
||||
"integer number, or floating point number without a dot and with "f".
|
||||
syn case ignore
|
||||
syn match sliceNumbers display transparent "\<\d\|\.\d" contains=sliceNumber,sliceFloat,sliceOctal
|
||||
syn match sliceNumber display contained "\d\+"
|
||||
"hex number
|
||||
syn match sliceNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
" Flag the first zero of an octal number as something special
|
||||
syn match sliceOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=sliceOctalZero
|
||||
syn match sliceOctalZero display contained "\<0"
|
||||
syn match sliceFloat display contained "\d\+f"
|
||||
"floating point number, with dot, optional exponent
|
||||
syn match sliceFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
|
||||
"floating point number, starting with a dot, optional exponent
|
||||
syn match sliceFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
|
||||
"floating point number, without dot, with exponent
|
||||
syn match sliceFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
|
||||
" flag an octal number with wrong digits
|
||||
syn case match
|
||||
|
||||
|
||||
" Comments
|
||||
syn region sliceComment start="/\*" end="\*/"
|
||||
syn match sliceComment "//.*"
|
||||
|
||||
syn sync ccomment sliceComment
|
||||
|
||||
" Define the default highlighting.
|
||||
" Only when an item doesn't have highlighting yet
|
||||
|
||||
hi def link sliceComment Comment
|
||||
hi def link sliceConstruct Keyword
|
||||
hi def link sliceType Type
|
||||
hi def link sliceString String
|
||||
hi def link sliceIncluded String
|
||||
hi def link sliceQualifier Keyword
|
||||
hi def link sliceInclude Include
|
||||
hi def link sliceGuard PreProc
|
||||
hi def link sliceBoolean Boolean
|
||||
hi def link sliceFloat Number
|
||||
hi def link sliceNumber Number
|
||||
hi def link sliceOctal Number
|
||||
hi def link sliceOctalZero Special
|
||||
hi def link sliceNumberError Special
|
||||
|
||||
|
||||
let b:current_syntax = "slice"
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
endif
|
||||
Reference in New Issue
Block a user