mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Add carp language support, closes #258
This commit is contained in:
@@ -46,6 +46,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
|||||||
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
- [c++11](https://github.com/octol/vim-cpp-enhanced-highlight) (syntax)
|
||||||
- [c/c++](https://github.com/vim-jp/vim-cpp) (syntax)
|
- [c/c++](https://github.com/vim-jp/vim-cpp) (syntax)
|
||||||
- [caddyfile](https://github.com/isobit/vim-caddyfile) (syntax, indent, ftplugin)
|
- [caddyfile](https://github.com/isobit/vim-caddyfile) (syntax, indent, ftplugin)
|
||||||
|
- [carp](https://github.com/hellerve/carp-vim) (syntax)
|
||||||
- [cjsx](https://github.com/mtscout6/vim-cjsx) (syntax, ftplugin)
|
- [cjsx](https://github.com/mtscout6/vim-cjsx) (syntax, ftplugin)
|
||||||
- [clojure](https://github.com/guns/vim-clojure-static) (syntax, indent, autoload, ftplugin)
|
- [clojure](https://github.com/guns/vim-clojure-static) (syntax, indent, autoload, ftplugin)
|
||||||
- [cmake](https://github.com/pboettch/vim-cmake-syntax) (syntax, indent)
|
- [cmake](https://github.com/pboettch/vim-cmake-syntax) (syntax, indent)
|
||||||
|
|||||||
1
build
1
build
@@ -118,6 +118,7 @@ PACKS="
|
|||||||
c++11:octol/vim-cpp-enhanced-highlight
|
c++11:octol/vim-cpp-enhanced-highlight
|
||||||
c/c++:vim-jp/vim-cpp
|
c/c++:vim-jp/vim-cpp
|
||||||
caddyfile:isobit/vim-caddyfile
|
caddyfile:isobit/vim-caddyfile
|
||||||
|
carp:hellerve/carp-vim
|
||||||
cjsx:mtscout6/vim-cjsx
|
cjsx:mtscout6/vim-cjsx
|
||||||
clojure:guns/vim-clojure-static
|
clojure:guns/vim-clojure-static
|
||||||
cmake:pboettch/vim-cmake-syntax
|
cmake:pboettch/vim-cmake-syntax
|
||||||
|
|||||||
@@ -82,6 +82,11 @@ augroup filetypedetect
|
|||||||
au BufNewFile,BufRead Caddyfile set ft=caddyfile
|
au BufNewFile,BufRead Caddyfile set ft=caddyfile
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
augroup filetypedetect
|
||||||
|
" carp:hellerve/carp-vim
|
||||||
|
au BufRead,BufNewFile *.carp set filetype=carp
|
||||||
|
augroup END
|
||||||
|
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
" cjsx:mtscout6/vim-cjsx
|
" cjsx:mtscout6/vim-cjsx
|
||||||
augroup CJSX
|
augroup CJSX
|
||||||
|
|||||||
127
syntax/carp.vim
Normal file
127
syntax/carp.vim
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'carp') == -1
|
||||||
|
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: Carp
|
||||||
|
" Maintainer: Veit Heller <veit@veitheller.de>
|
||||||
|
" URL: http://github.com/hellerve/carp-vim.git
|
||||||
|
" Description: Contains all of the keywords in #lang carp
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn match carpError ,[]})],
|
||||||
|
|
||||||
|
if version < 600
|
||||||
|
set iskeyword=33,35-39,42-43,45-58,60-63,65-90,94,95,97-122,124,126,_
|
||||||
|
else
|
||||||
|
setlocal iskeyword=33,35-39,42-43,45-58,60-63,65-90,94,95,97-122,124,126,_
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn keyword carpSyntax def defn let do if while ref address set! the
|
||||||
|
syn keyword carpSyntax defmacro defdynamic quote car cdr cons list array
|
||||||
|
syn keyword carpSyntax expand deftype register system-include register-type
|
||||||
|
syn keyword carpSyntax defmodule copy use module defalias definterface eval
|
||||||
|
syn keyword carpSyntax expand instantiate type info help quit env build run
|
||||||
|
syn keyword carpSyntax cat use project-set! local-include system-include
|
||||||
|
syn keyword carpSyntax add-cflag add-lib project load reload
|
||||||
|
|
||||||
|
syn keyword carpFunc Int Float Double Bool String Char Array Fn Ref Long
|
||||||
|
syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec
|
||||||
|
syn keyword carpFunc println print get-line from-string mod seed random
|
||||||
|
syn keyword carpFunc random-between str mask delete append count duplicate
|
||||||
|
syn keyword carpFunc cstr chars from-chars to-int from-int sin cos sqrt acos
|
||||||
|
syn keyword carpFunc atan2 exit time srand for cond floor abs neg to-float
|
||||||
|
syn keyword carpFunc from-float tan asin atan cosh sinh tanh exp frexp ldexp
|
||||||
|
syn keyword carpFunc log log10 modf pow ceil clamp approx refstr foreach
|
||||||
|
syn keyword carpFunc => ==> repeat nth replicate range raw aset aset! count
|
||||||
|
syn keyword carpFunc push-back pop-back sort index-of element-count
|
||||||
|
|
||||||
|
|
||||||
|
syn match carpSymbol ,\k+, contained
|
||||||
|
syn match carpTodo /\v<(FIXME|NOTE|TODO|OPTIMIZE)/ containedin=carpComment,carpString
|
||||||
|
|
||||||
|
syn cluster carpNormal contains=carpSyntax,carpFunc,carpDelimiter
|
||||||
|
syn cluster carpQuotedStuff contains=carpSymbol
|
||||||
|
syn cluster carpQuotedOrNormal contains=carpDelimiter
|
||||||
|
|
||||||
|
syn region carpQuotedStruc start="@("rs=s+2 end=")"re=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal contained
|
||||||
|
syn region carpQuotedStruc start="&("rs=s+2 end=")"re=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal contained
|
||||||
|
syn region carpQuotedStruc start="("rs=s+1 end=")"re=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal contained
|
||||||
|
syn region carpQuotedStruc start="\["rs=s+1 end="\]"re=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal contained
|
||||||
|
|
||||||
|
syn cluster carpQuotedStuff add=carpQuotedStruc
|
||||||
|
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="@("rs=s+2 matchgroup=Delimiter end=")"re=e-1 contains=@carpNormal
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="&("rs=s+2 matchgroup=Delimiter end=")"re=e-1 contains=@carpNormal
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="&"rs=s+1 end=![ \t()\[\]";]!me=e-1 contains=@carpNormal
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="@"rs=s+1 end=![ \t()\[\]";]!me=e-1 contains=@carpNormal
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="("rs=s+1 matchgroup=Delimiter end=")"re=e-1 contains=@carpNormal
|
||||||
|
syn region carpStruc matchgroup=Delimiter start="\["rs=s+1 matchgroup=Delimiter end="\]"re=e-1 contains=@carpNormal
|
||||||
|
|
||||||
|
syn region carpString start=/\%(\\\)\@<!"/ skip=/\\[\\"]/ end=/"/
|
||||||
|
|
||||||
|
syn cluster carpNormal add=carpError,carpStruc,carpString
|
||||||
|
syn cluster carpQuotedOrNormal add=carpString
|
||||||
|
|
||||||
|
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lf]\?\>" contains=carpContainedNumberError
|
||||||
|
syn match carpNumber "\<[-+]\?\d\+/\d\+[lf]\?\>" contains=carpContainedNumberError
|
||||||
|
|
||||||
|
|
||||||
|
syn keyword carpBoolean true false
|
||||||
|
|
||||||
|
syn match carpChar "\<\\.\w\@!"
|
||||||
|
|
||||||
|
syn region carpQuoted matchgroup=Delimiter start="['`]" end=![ \t()\[\]";]!me=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal
|
||||||
|
syn region carpQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=@carpQuotedStuff,@carpQuotedOrNormal
|
||||||
|
|
||||||
|
syn cluster carpNormal add=carpNumber,carpBoolean,carpChar
|
||||||
|
syn cluster carpQuotedOrNormal add=carpNumber,carpBoolean
|
||||||
|
|
||||||
|
syn match carpComment /;.*$/ contains=@Spell
|
||||||
|
|
||||||
|
syn region carpQuoted matchgroup=Delimiter start="#['`]"rs=s+2 end=![ \t()\[\]";]!re=e-1,me=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal
|
||||||
|
syn region carpQuoted matchgroup=Delimiter start="#['`]("rs=s+3 matchgroup=Delimiter end=")"re=e-1 contains=@carpQuotedStuff,@carpQuotedOrNormal
|
||||||
|
|
||||||
|
syn cluster carpNormal add=carpQuoted,carpComment
|
||||||
|
syn cluster carpQuotedOrNormal add=carpComment
|
||||||
|
|
||||||
|
syn sync match matchPlace grouphere NONE "^[^ \t]"
|
||||||
|
|
||||||
|
if version >= 508 || !exists("carp_syntax_init")
|
||||||
|
if version < 508
|
||||||
|
let carp_syntax_init = 1
|
||||||
|
command -nargs=+ HiLink hi link <args>
|
||||||
|
else
|
||||||
|
command -nargs=+ HiLink hi def link <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
HiLink carpSyntax Statement
|
||||||
|
HiLink carpFunc Function
|
||||||
|
HiLink carpCopy Function
|
||||||
|
|
||||||
|
HiLink carpString String
|
||||||
|
HiLink carpChar Character
|
||||||
|
HiLink carpBoolean Boolean
|
||||||
|
|
||||||
|
HiLink carpNumber Number
|
||||||
|
HiLink carpNumberError Error
|
||||||
|
HiLink carpContainedNumberError Error
|
||||||
|
|
||||||
|
HiLink carpQuoted Structure
|
||||||
|
HiLink carpQuotedStruc Structure
|
||||||
|
HiLink carpSymbol Structure
|
||||||
|
HiLink carpAtom Structure
|
||||||
|
|
||||||
|
HiLink carpDelimiter Delimiter
|
||||||
|
HiLink carpConstant Constant
|
||||||
|
|
||||||
|
HiLink carpTodo Todo
|
||||||
|
HiLink carpComment Comment
|
||||||
|
HiLink carpError Error
|
||||||
|
delcommand HiLink
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:current_syntax = "carp"
|
||||||
|
|
||||||
|
endif
|
||||||
Reference in New Issue
Block a user