parent
8b3418cab8
commit
4cd5566b40
@ -63,6 +63,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
|||||||
- [fish](https://github.com/dag/vim-fish) (syntax, indent, compiler, autoload, ftplugin)
|
- [fish](https://github.com/dag/vim-fish) (syntax, indent, compiler, autoload, ftplugin)
|
||||||
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin)
|
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin)
|
||||||
- [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent)
|
- [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent)
|
||||||
|
- [gmpl](https://github.com/maelvalais/gmpl.vim) (syntax)
|
||||||
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (syntax)
|
- [gnuplot](https://github.com/vim-scripts/gnuplot-syntax-highlighting) (syntax)
|
||||||
- [go](https://github.com/fatih/vim-go) (syntax, compiler, indent)
|
- [go](https://github.com/fatih/vim-go) (syntax, compiler, indent)
|
||||||
- [graphql](https://github.com/jparise/vim-graphql) (syntax, indent, ftplugin)
|
- [graphql](https://github.com/jparise/vim-graphql) (syntax, indent, ftplugin)
|
||||||
@ -95,6 +96,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
|||||||
- [ocaml](https://github.com/jrk/vim-ocaml) (syntax, indent, ftplugin)
|
- [ocaml](https://github.com/jrk/vim-ocaml) (syntax, indent, ftplugin)
|
||||||
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
||||||
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin)
|
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin)
|
||||||
|
- [openscad](https://github.com/sirtaj/vim-openscad) (syntax, ftplugin)
|
||||||
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
|
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
|
||||||
- [pgsql](https://github.com/exu/pgsql.vim) (syntax)
|
- [pgsql](https://github.com/exu/pgsql.vim) (syntax)
|
||||||
- [php](https://github.com/StanAngeloff/php.vim) (syntax)
|
- [php](https://github.com/StanAngeloff/php.vim) (syntax)
|
||||||
|
2
build
2
build
@ -134,6 +134,8 @@ PACKS="
|
|||||||
erlang:vim-erlang/vim-erlang-runtime
|
erlang:vim-erlang/vim-erlang-runtime
|
||||||
fish:dag/vim-fish
|
fish:dag/vim-fish
|
||||||
git:tpope/vim-git
|
git:tpope/vim-git
|
||||||
|
gmpl:maelvalais/gmpl.vim
|
||||||
|
openscad:sirtaj/vim-openscad
|
||||||
glsl:tikhomirov/vim-glsl
|
glsl:tikhomirov/vim-glsl
|
||||||
gnuplot:vim-scripts/gnuplot-syntax-highlighting
|
gnuplot:vim-scripts/gnuplot-syntax-highlighting
|
||||||
go:fatih/vim-go:_BASIC
|
go:fatih/vim-go:_BASIC
|
||||||
|
@ -282,6 +282,17 @@ autocmd BufNewFile,BufRead *
|
|||||||
\ endif
|
\ endif
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
augroup filetypedetect
|
||||||
|
" gmpl:maelvalais/gmpl.vim
|
||||||
|
au BufRead,BufNewFile *.mod set filetype=gmpl
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
augroup filetypedetect
|
||||||
|
" openscad:sirtaj/vim-openscad
|
||||||
|
au BufRead,BufNewFile *.scad setfiletype openscad
|
||||||
|
an 50.80.265 &Syntax.NO.OpenSCAD :cal SetSyn("openscad")<CR>
|
||||||
|
augroup END
|
||||||
|
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
" glsl:tikhomirov/vim-glsl
|
" glsl:tikhomirov/vim-glsl
|
||||||
" Language: OpenGL Shading Language
|
" Language: OpenGL Shading Language
|
||||||
|
18
ftplugin/openscad.vim
Normal file
18
ftplugin/openscad.vim
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'openscad') == -1
|
||||||
|
|
||||||
|
" Blatantly stolen from vim74\ftplugin\c.vim
|
||||||
|
|
||||||
|
" Set 'formatoptions' to break comment lines but not other lines,
|
||||||
|
" and insert the comment leader when hitting <CR> or using "o".
|
||||||
|
setlocal fo-=t fo+=croql
|
||||||
|
|
||||||
|
" Set 'comments' to format dashed lists in comments.
|
||||||
|
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||||
|
|
||||||
|
" Win32 can filter files in the browse dialog
|
||||||
|
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||||
|
let b:browsefilter = "OpenSCAD Source Files (*.scad)\t*.scad\n" .
|
||||||
|
\ "All Files (*.*)\t*.*\n"
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
122
syntax/gmpl.vim
Normal file
122
syntax/gmpl.vim
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'gmpl') == -1
|
||||||
|
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: GMPL
|
||||||
|
" Maintainer: Mark Mba Wright
|
||||||
|
" Latest Revision: 9 July 2012
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn sync fromstart
|
||||||
|
|
||||||
|
|
||||||
|
syn match gmplArithmeticSetOperator "\.\."
|
||||||
|
|
||||||
|
" Integer with - + or nothing in front
|
||||||
|
syn match gmplNumber '\d\+'
|
||||||
|
syn match gmplNumber '[-+]\d\+'
|
||||||
|
|
||||||
|
" Floating point gmplNumber with decimal no E or e (+,-)
|
||||||
|
syn match gmplNumber '\d*\.\d\+'
|
||||||
|
syn match gmplNumber '[-+]\d*\.\d\+'
|
||||||
|
|
||||||
|
" Floating point like gmplNumber with E and no decimal point (+,-)
|
||||||
|
syn match gmplNumber '[-+]\=\d[[:digit:]]*[eE][\-+]\=\d\+'
|
||||||
|
syn match gmplNumber '\d[[:digit:]]*[eE][\-+]\=\d\+'
|
||||||
|
|
||||||
|
" Floating point like gmplNumber with E and decimal point (+,-)
|
||||||
|
syn match gmplNumber '[-+]\=\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+'
|
||||||
|
syn match gmplNumber '\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+'
|
||||||
|
syn match gmplIndex /\<\%(in\>\)\@!\w*/ contained contains=gmplKeyword,gmplNumber
|
||||||
|
syn match gmplLabel '[a-zA-Z][a-zA-Z0-9_]*'
|
||||||
|
syn match gmplArithmeticOperator "[-+]"
|
||||||
|
syn match gmplArithmeticOperator "\.\=[*/\\^]"
|
||||||
|
syn match gmplRelationalOperator "[=~]="
|
||||||
|
syn match gmplRelationalOperator "[<>]=\="
|
||||||
|
" syn match gmplLogicalOperator "[&|~]
|
||||||
|
|
||||||
|
" match indeces
|
||||||
|
|
||||||
|
" comments
|
||||||
|
syn match gmplComment /\/\*.\{-}\*\//
|
||||||
|
syn region gmplComment start="/\*" end="\*/"
|
||||||
|
syn match gmplComment '#.\{-}$'
|
||||||
|
|
||||||
|
" strings
|
||||||
|
syn region gmplString start="\"" end="\""
|
||||||
|
syn region gmplString start="\'" end="\'" contains=gmplStringToken
|
||||||
|
syn match gmplStringToken '\%[a-z]' contained
|
||||||
|
|
||||||
|
" Keywords
|
||||||
|
syn keyword gmplKeyword and else by if cross in diff inter div less mod union not within or symdiff then
|
||||||
|
syn keyword gmplKeyword minimize maximize solve
|
||||||
|
syn keyword gmplType set var param nextgroup=gmplLabel skipwhite
|
||||||
|
|
||||||
|
" Regions
|
||||||
|
syn region gmplIndexExpression start="{" end="}" transparent contains=gmplIndex,gmplIndexExpression
|
||||||
|
syn region gmplIndexGroup start="\[" end="\]" transparent contains=gmplIndex
|
||||||
|
" syn region gmplParen start="(" end=")"
|
||||||
|
|
||||||
|
"" catch errors caused by wrong parenthesis
|
||||||
|
syn match gmplParensError ")\|}\|\]"
|
||||||
|
syn match gmplParensErrA contained "\]"
|
||||||
|
syn match gmplParensErrC contained "}"
|
||||||
|
|
||||||
|
|
||||||
|
hi level1c ctermfg=brown guifg=brown
|
||||||
|
hi level2c ctermfg=darkgreen guifg=darkgreen gui=bold
|
||||||
|
hi level3c ctermfg=Darkblue guifg=Darkblue
|
||||||
|
hi level4c ctermfg=darkmagenta guifg=darkmagenta gui=bold
|
||||||
|
hi level5c ctermfg=darkcyan guifg=darkcyan
|
||||||
|
hi level6c ctermfg=white guifg=white gui=bold
|
||||||
|
hi level7c ctermfg=darkred guifg=darkred
|
||||||
|
hi level8c ctermfg=blue guifg=blue gui=bold
|
||||||
|
hi level9c ctermfg=darkgray guifg=darkgray
|
||||||
|
hi level10c ctermfg=brown guifg=brown gui=bold
|
||||||
|
hi level11c ctermfg=darkgreen guifg=darkgreen
|
||||||
|
hi level12c ctermfg=Darkblue guifg=Darkblue gui=bold
|
||||||
|
hi level13c ctermfg=darkmagenta guifg=darkmagenta
|
||||||
|
hi level14c ctermfg=darkcyan guifg=darkcyan gui=bold
|
||||||
|
hi level15c ctermfg=gray guifg=gray
|
||||||
|
|
||||||
|
" These are the regions for each pair.
|
||||||
|
" This could be improved, perhaps, by makeing them match [ and { also,
|
||||||
|
" but I'm not going to take the time to figure out haw to make the
|
||||||
|
" end pattern match only the proper type.
|
||||||
|
syn region level1 matchgroup=level1c start=/(/ end=/)/ contains=TOP,level1,level2,level3,level4,level5,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level2 matchgroup=level2c start=/(/ end=/)/ contains=TOP,level2,level3,level4,level5,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level3 matchgroup=level3c start=/(/ end=/)/ contains=TOP,level3,level4,level5,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level4 matchgroup=level4c start=/(/ end=/)/ contains=TOP,level4,level5,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level5 matchgroup=level5c start=/(/ end=/)/ contains=TOP,level5,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level6 matchgroup=level6c start=/(/ end=/)/ contains=TOP,level6,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level7 matchgroup=level7c start=/(/ end=/)/ contains=TOP,level7,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level8 matchgroup=level8c start=/(/ end=/)/ contains=TOP,level8,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level9 matchgroup=level9c start=/(/ end=/)/ contains=TOP,level9,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level10 matchgroup=level10c start=/(/ end=/)/ contains=TOP,level10,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level11 matchgroup=level11c start=/(/ end=/)/ contains=TOP,level11,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level12 matchgroup=level12c start=/(/ end=/)/ contains=TOP,level12,level13,level14,level15, NoInParens
|
||||||
|
syn region level13 matchgroup=level13c start=/(/ end=/)/ contains=TOP,level13,level14,level15, NoInParens
|
||||||
|
syn region level14 matchgroup=level14c start=/(/ end=/)/ contains=TOP,level14,level15, NoInParens
|
||||||
|
syn region level15 matchgroup=level15c start=/(/ end=/)/ contains=TOP,level15, NoInParens
|
||||||
|
|
||||||
|
let b:current_syntax = "gmpl"
|
||||||
|
|
||||||
|
hi def link gmplKeyword Keyword
|
||||||
|
hi def link gmplParensError Error
|
||||||
|
hi def link gmplParensErrA Error
|
||||||
|
hi def link gmplParensErrB Error
|
||||||
|
hi def link gmplParensErrC Error
|
||||||
|
" hi def link gmplIndexExpression Label
|
||||||
|
" hi def link gmplParen Label
|
||||||
|
" hi def link gmplIndexGroup Label
|
||||||
|
hi def link gmplIndex Identifier
|
||||||
|
hi def link gmplNumber Number
|
||||||
|
hi def link gmplComment Comment
|
||||||
|
hi def link gmplType Type
|
||||||
|
hi def link gmplLabel Keyword
|
||||||
|
hi def link gmplString String
|
||||||
|
hi def link gmplStringToken Special
|
||||||
|
|
||||||
|
endif
|
93
syntax/openscad.vim
Normal file
93
syntax/openscad.vim
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'openscad') == -1
|
||||||
|
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: OpenSCAD
|
||||||
|
" Maintainer: Sirtaj Singh Kang <sirtaj-vim@sirtaj.net>
|
||||||
|
" Last Changed: 2013 March 05
|
||||||
|
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
"syn keyword openscadFunctionDef function
|
||||||
|
syn keyword openscadFunctionDef function nextgroup=openscadFunction skipwhite skipempty
|
||||||
|
syn match openscadFunction /\<\h\w*\>/ contained display
|
||||||
|
|
||||||
|
"syn keyword openscadModuleDef module
|
||||||
|
syn keyword openscadModuleDef module nextgroup=openscadModule skipwhite skipempty
|
||||||
|
syn match openscadModule /\<\h\w*\>/ contained display
|
||||||
|
|
||||||
|
syn keyword openscadStatement echo assign let
|
||||||
|
syn keyword openscadConditional if else
|
||||||
|
syn keyword openscadRepeat for intersection_for
|
||||||
|
syn keyword openscadInclude include use
|
||||||
|
syn keyword openscadCsgKeyword union difference intersection render intersection_for
|
||||||
|
syn keyword openscadTransform scale rotate translate mirror multmatrix color minkowski hull projection linear_extrude rotate_extrude offset
|
||||||
|
syn keyword openscadPrimitiveSolid cube sphere cylinder polyhedron surface
|
||||||
|
syn keyword openscadPrimitive2D square circle polygon import_dxf text
|
||||||
|
syn keyword openscadPrimitiveImport import child children
|
||||||
|
|
||||||
|
syn match openscadSpecialVariable "\$[a-zA-Z]\+\>" display
|
||||||
|
syn match openscadModifier "^\s*[\*\!\#\%]" display
|
||||||
|
|
||||||
|
syn match openscadNumbers "\<\d\|\.\d" contains=openscadNumber display transparent
|
||||||
|
syn match openscadNumber "\d\+" display contained
|
||||||
|
syn match openscadNumber "\.\d\+" display contained
|
||||||
|
|
||||||
|
syn region openscadString start=/"/ skip=/\\"/ end=/"/
|
||||||
|
|
||||||
|
syn keyword openscadBoolean true false
|
||||||
|
|
||||||
|
syn keyword openscadCommentTodo TODO FIXME XXX contained display
|
||||||
|
syn match openscadInlineComment ://.*$: contains=openscadCommentTodo
|
||||||
|
syn region openscadBlockComment start=:/\*: end=:\*/: fold contains=openscadCommentTodo
|
||||||
|
|
||||||
|
syn region openscadBlock start="{" end="}" transparent fold
|
||||||
|
syn region openscadVector start="\[" end="\]" transparent fold
|
||||||
|
|
||||||
|
syn keyword openscadBuiltin abs acos asin atan atan2 ceil cos exp floor ln log
|
||||||
|
syn keyword openscadBuiltin lookup max min pow rands round sign sin sqrt tan
|
||||||
|
syn keyword openscadBuiltin str len search version version_num concat chr
|
||||||
|
syn keyword openscadBuiltin dxf_cross dxf_dim
|
||||||
|
|
||||||
|
hi def link openscadFunctionDef Structure
|
||||||
|
hi def link openscadFunction Function
|
||||||
|
hi def link openscadModuleDef Structure
|
||||||
|
hi def link openscadModule Function
|
||||||
|
hi def link openscadBlockComment Comment
|
||||||
|
hi def link openscadBoolean Boolean
|
||||||
|
hi def link openscadBuiltin Function
|
||||||
|
hi def link openscadConditional Conditional
|
||||||
|
hi def link openscadCsgKeyword Structure
|
||||||
|
hi def link openscadInclude Include
|
||||||
|
hi def link openscadInlineComment Comment
|
||||||
|
hi def link openscadModifier Special
|
||||||
|
hi def link openscadStatement Statement
|
||||||
|
hi def link openscadNumbers Number
|
||||||
|
hi def link openscadNumber Number
|
||||||
|
hi def link openscadPrimitiveSolid Keyword
|
||||||
|
hi def link openscadPrimitive2D Keyword
|
||||||
|
hi def link openscadPrimitiveImport Keyword
|
||||||
|
hi def link openscadRepeat Repeat
|
||||||
|
hi def link openscadSpecialVariable Special
|
||||||
|
hi def link openscadString String
|
||||||
|
hi def link openscadTransform Statement
|
||||||
|
hi def link openscadCommentTodo Todo
|
||||||
|
|
||||||
|
" Blatantly stolen from vim74\syntax\c.vim
|
||||||
|
"when wanted, highlight trailing white space
|
||||||
|
if exists("openscad_space_errors")
|
||||||
|
if !exists("openscad_no_trail_space_error")
|
||||||
|
syn match openscadSpaceError display excludenl "\s\+$"
|
||||||
|
endif
|
||||||
|
if !exists("openscad_no_tab_space_error")
|
||||||
|
syn match openscadSpaceError display " \+\t"me=e-1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:current_syntax = "openscad"
|
||||||
|
|
||||||
|
endif
|
Loading…
x
Reference in New Issue
Block a user