updated vimball with complete syntax and improved completion

SVN revision: 46951
This commit is contained in:
Viktor Kojouharov 2010-03-07 15:53:02 +00:00
parent 248ecd4a13
commit 804728fb77
1 changed files with 252 additions and 186 deletions

View File

@ -28,7 +28,7 @@ if exists('&ofu')
endif endif
syntax/edc.vim [[[1 syntax/edc.vim [[[1
234 235
" Vim syntax file " Vim syntax file
" Language: EDC " Language: EDC
" Maintainer: Viktor Kojouharov " Maintainer: Viktor Kojouharov
@ -49,30 +49,33 @@ syn keyword edcBlock text font fill origin size image contained
syn keyword edcBlock programs program styles style contained syn keyword edcBlock programs program styles style contained
syn keyword edcBlock gradient spectra spectrum contained syn keyword edcBlock gradient spectra spectrum contained
syn keyword edcBlock color_classes color_class rel1 rel2 contained syn keyword edcBlock color_classes color_class rel1 rel2 contained
syn keyword edcBlock items item script script_only contained syn keyword edcBlock items item file params externals contained
syn keyword edcBlock lua_script lua_script_only contained syn keyword edcBlock map rotation perspective script lua_script contained
syn keyword edcLabel item name alias min max type effect contained syn keyword edcLabel item name alias min max type effect contained
syn keyword edcLabel mouse_events repeat_events clip_to contained syn keyword edcLabel mouse_events repeat_events clip_to contained
syn keyword edcLabel x y confine events scale scale_hint contained syn keyword edcLabel x y z confine events scale contained
syn keyword edcLabel ignore_flags precise_is_inside contained syn keyword edcLabel ignore_flags precise_is_inside contained
syn keyword edcLabel use_alternate_font_metrics entry_mode contained syn keyword edcLabel use_alternate_font_metrics entry_mode contained
syn keyword edcLabel source source2 source3 source4 source5 source6 contained syn keyword edcLabel source source2 source3 source4 contained
syn keyword edcLabel source5 source6 multiline pointer_mode contained syn keyword edcLabel source5 source6 multiline pointer_mode contained
syn keyword edcLabel state visible step aspect fixed middle contained syn keyword edcLabel state visible step aspect fixed middle contained
syn keyword edcLabel aspect_preference elipsis image contained syn keyword edcLabel aspect_preference elipsis image contained
syn keyword edcLabel relative offset to to_x to_y select_mode contained syn keyword edcLabel relative offset to to_x to_y contained
syn keyword edcLabel border color color2 color3 font size contained syn keyword edcLabel border border_scale scale_hint color color2 color3 font size contained
syn keyword edcLabel signal action transition in contained syn keyword edcLabel signal action transition in filter contained
syn keyword edcLabel target after fit align contained syn keyword edcLabel target after fit align contained
syn keyword edcLabel text smooth inherit tag base style contained syn keyword edcLabel text smooth inherit tag base style contained
syn keyword edcLabel text_source color_class text_class repch contained syn keyword edcLabel text_source color_class text_class contained
syn keyword edcLabel spectrum angle spread normal tween contained syn keyword edcLabel spectrum angle spread normal tween contained
syn keyword edcLabel padding prefer weight aspect_mode contained syn keyword edcLabel padding prefer weight aspect_mode contained
syn keyword edcLabel options layout position span contained syn keyword edcLabel options layout position span contained
syn keyword edcLabel homogeneous contained syn keyword edcLabel homogeneous contained
syn keyword edcLabel on perspective light perspective_on contained
syn keyword edcLabel backface_cull alpha center focus zplane contained
syn keyword edcLabel int double string external script_only contained
syn keyword edcConstant COMP RAW LOSSY USER NONE ON_HOLD AUTOGRAB NOGRAB syn keyword edcConstant COMP RAW LOSSY NONE ON_HOLD AUTOGRAB NOGRAB
syn keyword edcConstant TEXT IMAGE RECT TEXTBLOCK SWALLOW GRADIENT GROUP syn keyword edcConstant TEXT IMAGE RECT TEXTBLOCK SWALLOW GRADIENT GROUP
syn keyword edcConstant NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW syn keyword edcConstant NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW
syn keyword edcConstant SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW syn keyword edcConstant SOFT_SHADOW OUTLINE_SHADOW OUTLINE_SOFT_SHADOW
@ -80,10 +83,8 @@ syn keyword edcConstant GLOW FAR_SHADOW FAR_SOFT_SHADOW
syn keyword edcConstant STATE_SET ACTION_STOP SIGNAL_EMIT FOCUS_SET syn keyword edcConstant STATE_SET ACTION_STOP SIGNAL_EMIT FOCUS_SET
syn keyword edcConstant DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE syn keyword edcConstant DRAG_VAL_SET DRAG_VAL_STEP DRAG_VAL_PAGE
syn keyword edcConstant LINEAR SINUSOIDAL ACCELERATE DECELERATE syn keyword edcConstant LINEAR SINUSOIDAL ACCELERATE DECELERATE
syn keyword edcConstant NEITHER VERTICAL HORIZONTAL BOTH BOX TABLE syn keyword edcConstant VERTICAL HORIZONTAL BOTH BOX TABLE
syn keyword edcConstant DEFAULT EXPLICIT SOLID DYNAMIC STATIC syn keyword edcConstant EDITABLE PASSWORD "default"
syn keyword edcConstant EDITABLE PASSWORD SCALE TILE TABLE ITEM
syn keyword edcConstant SCRIPT LUA_SCRIPT "default"
syn keyword edcTodo contained TODO FIXME XXX syn keyword edcTodo contained TODO FIXME XXX
@ -194,7 +195,7 @@ syn keyword edcScriptTag contained script
syn include @edcLua syntax/lua.vim syn include @edcLua syntax/lua.vim
unlet b:current_syntax unlet b:current_syntax
syn region edcLuaScript matchgroup=edcLuaScriptTag start="\<lua_script\_s*{" end="}" contains=@edcLua,edcLuaScriptTag syn region edcLuaScript matchgroup=edcLuaScriptTag start="\<lua_script\_s*{" end="}" contains=@edcLua,edcLuaScriptTag
syn keyword edcLuaScriptTag contained script syn keyword edcLuaScriptTag contained script
if exists("edc_minlines") if exists("edc_minlines")
let b:edc_minlines = edc_minlines let b:edc_minlines = edc_minlines
@ -354,7 +355,7 @@ au BufRead,BufNewFile *.edc set filetype=edc
au BufRead,BufNewFile *.sma set filetype=embryo au BufRead,BufNewFile *.sma set filetype=embryo
au BufRead,BufNewFile *.embryo set filetype=embryo au BufRead,BufNewFile *.embryo set filetype=embryo
autoload/edccomplete.vim [[[1 autoload/edccomplete.vim [[[1
827 892
" Vim completion script " Vim completion script
" Language: EDC " Language: EDC
" Maintainer: Viktor Kojouharov " Maintainer: Viktor Kojouharov
@ -429,17 +430,17 @@ function! edccomplete#Complete(findstart, base)
call edccomplete#AddLabel(res, line, a:base, s:partLabel) call edccomplete#AddLabel(res, line, a:base, s:partLabel)
call edccomplete#AddStatement(res, line, a:base, s:partStatement) call edccomplete#AddStatement(res, line, a:base, s:partStatement)
if line =~ 'type:\s*' if line =~ 'type:\s*'
call edccomplete#AddKeyword(res, a:base, s:partTypes) call edccomplete#AddKeyword(res, a:base, s:partTypes)
elseif line =~ 'effect:\s*' elseif line =~ 'effect:\s*'
call edccomplete#AddKeyword(res, a:base, s:partEffects) call edccomplete#AddKeyword(res, a:base, s:partEffects)
elseif line =~ 'select_mode:\s*'
call edccomplete#AddKeyword(res, a:base, s:partSelectMode)
elseif line =~ 'ignore_flags:\s*' elseif line =~ 'ignore_flags:\s*'
call edccomplete#AddKeyword(res, a:base, s:partIgnoreFlags) call edccomplete#AddKeyword(res, a:base, s:partIgnoreFlags)
elseif line =~ 'pointer_mode:\s*' elseif line =~ 'pointer_mode:\s*'
call edccomplete#AddKeyword(res, a:base, s:partPointerMode) call edccomplete#AddKeyword(res, a:base, s:partPointerMode)
elseif line =~ 'editable_mode:\s*' elseif line =~ 'editable_mode:\s*'
call edccomplete#AddKeyword(res, a:base, s:partEditableMode) call edccomplete#AddKeyword(res, a:base, s:partEditableMode)
elseif line =~ 'select_mode:\s*'
call edccomplete#AddKeyword(res, a:base, s:partSelectMode)
endif endif
if line =~ 'image:\s*".\{-}"' if line =~ 'image:\s*".\{-}"'
call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod) call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
@ -460,18 +461,30 @@ function! edccomplete#Complete(findstart, base)
elseif b:scontext == 'rel1' || b:scontext == 'rel2' elseif b:scontext == 'rel1' || b:scontext == 'rel2'
call edccomplete#AddLabel(res, line, a:base, s:relLabel) call edccomplete#AddLabel(res, line, a:base, s:relLabel)
if line =~ 'to\%(_[xy]\)\?:\s*"\?' if line =~ 'to\%(_[xy]\)\?:\s*"\?'
call edccomplete#FindNamesIn(res, a:base, 'parts') call edccomplete#FindNamesIn(res, a:base, 'parts')
endif endif
elseif b:scontext == 'map'
call edccomplete#AddLabel(res, line, a:base, s:mapLabel)
call edccomplete#AddStatement(res, line, a:base, s:mapStatement)
elseif b:scontext == 'rotation'
call edccomplete#AddLabel(res, line, a:base, s:rotationLabel)
elseif b:scontext == 'perspective'
call edccomplete#AddLabel(res, line, a:base, s:perspectiveLabel)
elseif b:scontext == 'params'
call edccomplete#AddLabel(res, line, a:base, s:paramsLabel)
elseif b:scontext == 'image' elseif b:scontext == 'image'
call edccomplete#AddLabel(res, line, a:base, s:imageLabel) call edccomplete#AddLabel(res, line, a:base, s:imageLabel)
call edccomplete#AddStatement(res, line, a:base, s:imageStatement)
if line =~ 'image:\s*".\{-}"' if line =~ 'image:\s*".\{-}"'
call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod) call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
elseif line =~ 'middle:\s*' elseif line =~ 'middle:\s*'
call edccomplete#AddKeyword(res, a:base, s:middleTypes) call edccomplete#AddKeyword(res, a:base, s:imageMiddleTypes)
elseif line =~ 'scale_hint:\s*' elseif line =~ 'scale_hint:\s*'
call edccomplete#AddKeyword(res, a:base, s:scaleHintTypes) call edccomplete#AddKeyword(res, a:base, s:imageScaleHint)
endif endif
elseif b:scontext == 'fill' elseif b:scontext == 'fill'
@ -565,6 +578,9 @@ function! edccomplete#Complete(findstart, base)
elseif b:scontext == 'gradient' elseif b:scontext == 'gradient'
call edccomplete#AddLabel(res, line, a:base, s:gradientLabel) call edccomplete#AddLabel(res, line, a:base, s:gradientLabel)
call edccomplete#AddStatement(res, line, a:base, s:gradientStatement) call edccomplete#AddStatement(res, line, a:base, s:gradientStatement)
if line =~ 'type:\s*'
call edccomplete#AddKeyword(res, a:base, s:gradientTypes)
endif
elseif b:scontext == 'styles' elseif b:scontext == 'styles'
call edccomplete#AddStatement(res, line, a:base, s:stylesStatement) call edccomplete#AddStatement(res, line, a:base, s:stylesStatement)
@ -591,6 +607,9 @@ function! edccomplete#Complete(findstart, base)
call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod) call edccomplete#AddKeyword(res, a:base, s:imageStorageMethod)
endif endif
elseif b:scontext == 'externals'
call edccomplete#AddLabel(res, line, a:base, s:externalsLabel)
elseif strlen(b:scontext) == 0 elseif strlen(b:scontext) == 0
call edccomplete#AddStatement(res, line, a:base, s:topStatement) call edccomplete#AddStatement(res, line, a:base, s:topStatement)
endif endif
@ -727,28 +746,28 @@ endfunction
" part " part
let s:partLabel = { let s:partLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'type': '"keyword"', \ 'type': 'keyword',
\ 'effect': '"keyword"', \ 'effect': 'keyword',
\ 'ignore_flags': '"keyword" ...', \ 'clip_to': '"part_name"',
\ 'pointer_mode': '"keyword"', \ 'scale': '0-1',
\ 'mouse_events': '"bool"', \ 'mouse_events': '0-1',
\ 'repeat_events': '"bool"', \ 'repeat_events': '0-1',
\ 'scale': '"bool"', \ 'ignore_flags': 'keyword ...',
\ 'precise_is_inside': '"bool"', \ 'pointer_mode': 'keyword',
\ 'use_alternate_font_metrics': '"bool"', \ 'select_mode': 'keyword',
\ 'clip_to': '"string"', \ 'precise_is_inside': '0-1',
\ 'source': '"string"', \ 'use_alternate_font_metrics': '0-1',
\ 'source2': '"string" (only for TEXTAREA)', \ 'image': '"filename" keyword',
\ 'source3': '"string" (only for TEXTAREA)', \ 'font': '"filename" "name"',
\ 'source4': '"string" (only for TEXTAREA)', \ 'entry_mode': 'keyword',
\ 'source5': '"string" (only for TEXTAREA)', \ 'multiline': '0-1 (TEXTBLOCK only)',
\ 'source6': '"string" (only for TEXTAREA)', \ 'source': '"group_name" (GROUP or TEXTBLOCK only)',
\ 'image': '"string" "keyword"', \ 'source2': '"group_name" (TEXTBLOCK only)',
\ 'font': '"string" "string"', \ 'source3': '"group_name" (TEXTBLOCK only)',
\ 'entry_mode': '"keyword"', \ 'source4': '"group_name" (TEXTBLOCK only)',
\ 'select_mode': '"keyword"', \ 'source5': '"group_name" (TEXTBLOCK only)',
\ 'multiline': '"bool"', \ 'source6': '"group_name" (TEXTBLOCK only)',
\ } \ }
let s:partStatement = [ let s:partStatement = [
\ 'dragable', \ 'dragable',
@ -764,29 +783,29 @@ let s:partStatement = [
" dragable " dragable
let s:dragableLabel = { let s:dragableLabel = {
\ 'x': '"bool" "int" "int"', \ 'x': '0-1 int int',
\ 'y': '"bool" "int" "int"', \ 'y': '0-1 int int',
\ 'confine': '"string"', \ 'confine': '"part_name"',
\ 'events': '"string"', \ 'events': '"draggable_part_name"',
\ } \ }
" description " description
let s:descriptionLabel = { let s:descriptionLabel = {
\ 'state': '"string" "float"', \ 'state': '"name" index (float)',
\ 'inherit': '"string" "float"', \ 'inherit': '"description" index (float)',
\ 'visible': '"bool"', \ 'visible': '0-1',
\ 'align': '"float" "float"', \ 'align': 'x y (float)',
\ 'fixed': '"float" "float"', \ 'fixed': 'width height (0-1)',
\ 'min': '"int" "int"', \ 'min': 'width height (int)',
\ 'max': '"int" "int"', \ 'max': 'width height (int)',
\ 'step': '"int" "int"', \ 'step': 'width height (int)',
\ 'aspect': '"float" "float"', \ 'aspect': 'min max (float)',
\ 'aspect_preference': '"keyword"', \ 'aspect_preference': 'keyword',
\ 'color_class': '"string"', \ 'color_class': '"name"',
\ 'color': '"int" "int" "int" "int"', \ 'color': '0-255 0-255 0-255 0-255',
\ 'color2': '"int" "int" "int" "int"', \ 'color2': '0-255 0-255 0-255 0-255',
\ 'color3': '"int" "int" "int" "int"', \ 'color3': '0-255 0-255 0-255 0-255',
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ } \ }
let s:descriptionStatement = [ let s:descriptionStatement = [
\ 'rel1', \ 'rel1',
@ -802,36 +821,69 @@ let s:descriptionStatement = [
\ 'program', \ 'program',
\ 'programs', \ 'programs',
\ 'box', \ 'box',
\ 'map',
\ ] \ ]
" rel " rel
let s:relLabel = { let s:relLabel = {
\ 'relative': '"float" "float"', \ 'relative': 'x y (float)',
\ 'offset': '"int" "int"', \ 'offset': 'x y (int)',
\ 'to': '"string"', \ 'to': '"part_name"',
\ 'to_x': '"string"', \ 'to_x': '"part_name"',
\ 'to_y': '"string"', \ 'to_y': '"part_name"',
\ }
" map
let s:mapLabel = {
\ 'on': '0-1',
\ 'perspective': '"part_name"',
\ 'light': '"part_name"',
\ 'smooth': '0-1',
\ 'pespective_on':'0-1',
\ 'backface_cull':'0-1',
\ 'alpha': '0-1',
\ }
let s:mapStatement = [
\ 'rotation',
\ ]
let s:rotationLabel = {
\ 'center': '"part_name"',
\ 'x': '"degrees (float)"',
\ 'y': '"degrees (float)"',
\ 'z': '"degrees (float)"',
\ } \ }
" params
let s:paramsLabel = {
\ 'int': '"name" int',
\ 'double': '"name" double',
\ 'string': '"name" "string"',
\ }
" perspective
let s:perspectiveLabel = {
\ 'zplane': 'int',
\ 'focal': 'int',
\ }
" image " image
let s:imageStatement = [
\ 'images',
\ ]
let s:imageLabel = { let s:imageLabel = {
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ 'normal': '"string"', \ 'normal': '"filename"',
\ 'tween': '"string"', \ 'tween': '"filename"',
\ 'border': '"int" "int" "int" "int"', \ 'border': 'left right top bottom (int)',
\ 'middle': '"bool"', \ 'middle': 'keyword',
\ 'scale_hint': '"keyword"', \ 'border_scale': '0-1',
\ 'scale_hint': 'keyword',
\ } \ }
" fill " fill
let s:fillLabel = { let s:fillLabel = {
\ 'smooth': '"bool"', \ 'smooth': '0-1',
\ 'angle': '"0-360"', \ 'angle': '0-360 (GRADIENT)',
\ 'spread': '"bool"', \ 'spread': '0-1',
\ 'type': '"keyword"', \ 'type': 'keyword',
\ } \ }
let s:fillStatement = [ let s:fillStatement = [
\ 'origin', \ 'origin',
@ -839,25 +891,30 @@ let s:fillStatement = [
\ ] \ ]
" fill origin/size " fill origin/size
let s:fillInnerStatement = { let s:fillInnerStatement = {
\ 'relative': '"float" "float"', \ 'relative': 'width height (float)',
\ 'offset': '"int" "int"', \ 'offset': 'x y (int)',
\ }
" fill types
let s:fillTypes = {
\ 'SCALE': '',
\ 'TILE': '',
\ } \ }
" text " text
let s:textLabel = { let s:textLabel = {
\ 'text': '"string"', \ 'text': '"string"',
\ 'text_class': '"string"', \ 'font': '"font_name"',
\ 'font': '"string"', \ 'size': 'size (int)',
\ 'style': '"string"', \ 'text_class': '"class_name"',
\ 'size': '"int"', \ 'fit': 'x y (0-1)',
\ 'fit': '"bool" "bool"', \ 'min': 'x y (0-1)',
\ 'min': '"bool" "bool"', \ 'max': 'x y (0-1)',
\ 'max': '"bool" "bool"', \ 'align': 'x y (float)',
\ 'align': '"float" "float"', \ 'source': '"part_name"',
\ 'elipsis': '"float"', \ 'text_source': '"text_part_name"',
\ 'source': '"string"', \ 'style': '"style_name"',
\ 'text_source': '"string"', \ 'elipsis': '0.0-1.0',
\ 'repch': '"char"', \ 'repch': '"string" (PASSWORD mode)',
\ } \ }
let s:textStatement = [ let s:textStatement = [
\ 'fonts', \ 'fonts',
@ -865,14 +922,15 @@ let s:textStatement = [
" program " program
let s:programLabel = { let s:programLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'signal': '"string"', \ 'signal': '"signal_name"',
\ 'source': '"string"', \ 'source': '"part_name"',
\ 'action': '"keyword" ...', \ 'action': 'keyword ...',
\ 'transition': '"keyword" "float"', \ 'transition': 'keyword time (float)',
\ 'target': '"string"', \ 'filter': '"part_name" "state_name"',
\ 'after': '"string"', \ 'in': 'from range (float)',
\ 'in': '"float" "float"', \ 'target': '"part_name"',
\ 'after': '"program_name"',
\ } \ }
let s:programStatement = [ let s:programStatement = [
\ 'script', \ 'script',
@ -882,8 +940,8 @@ let s:programStatement = [
" programs " programs
let s:programsLabel = { let s:programsLabel = {
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ } \ }
let s:programsStatement = [ let s:programsStatement = [
\ 'images', \ 'images',
@ -899,44 +957,43 @@ let s:boxItemsStatement = [
\ 'item', \ 'item',
\ ] \ ]
let s:boxItemLabel = { let s:boxItemLabel = {
\ 'type': '"keyword"', \ 'type': 'keyword',
\ 'name': '"string"', \ 'name': '"name"',
\ 'source': '"string" # Group name', \ 'source': '"group_name"',
\ 'min': '"int" "int"', \ 'min': 'width height (int)',
\ 'prefer': '"int" "int"', \ 'prefer': 'width height (int)',
\ 'max': '"int" "int"', \ 'max': 'width height (int)',
\ 'padding': '"int" "int" "int" "int"', \ 'padding': 'left right top bottom (int)',
\ 'align': '"float" "float"', \ 'align': 'x y (float)',
\ 'weight': '"float" "float"', \ 'weight': 'x y (float)',
\ 'aspect': '"float" "float"', \ 'aspect': 'w h (float)',
\ 'aspect_mode': '"keyword"', \ 'aspect_mode': 'keyword',
\ 'options': '"string"', \ 'options': '"extra options"',
\ } \ }
let s:boxDescLabel = { let s:boxDescLabel = {
\ 'layout': '"string" ["string"]', \ 'layout': '"string" ["string"]',
\ 'align': '"float" "float"', \ 'align': 'float float',
\ 'padding': '"int" "int"', \ 'padding': 'int int',
\ } \ }
let s:tableItemLabel = { let s:tableItemLabel = {
\ 'position': '"int" "int"', \ 'position': 'col row (int)',
\ 'span': '"int" "int"', \ 'span': 'col row (int)',
\ } \ }
let s:tableDescLabel = { let s:tableDescLabel = {
\ 'homogeneous': '"keyword"', \ 'homogeneous': 'keyword',
\ 'align': '"float" "float"', \ 'align': 'float float',
\ 'padding': '"int" "int"', \ 'padding': 'int int',
\ } \ }
" group " group
let s:groupLabel = { let s:groupLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'alias': '"string"', \ 'alias': '"alias"',
\ 'min': '"int" "int"', \ 'min': 'width height',
\ 'max': '"int" "int"', \ 'max': 'width height',
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ 'script_only': '"bool"', \ 'script_only': '0-1',
\ 'lua_script_only': '"bool"',
\ } \ }
let s:groupStatement = [ let s:groupStatement = [
\ 'data', \ 'data',
@ -949,6 +1006,7 @@ let s:groupStatement = [
\ 'color_classes', \ 'color_classes',
\ 'program', \ 'program',
\ 'programs', \ 'programs',
\ 'externals',
\ ] \ ]
" parts " parts
@ -962,23 +1020,24 @@ let s:partsStatement = [
\ 'programs', \ 'programs',
\ ] \ ]
let s:partsLabel = { let s:partsLabel = {
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ } \ }
" data " data
let s:dataLabel = { let s:dataLabel = {
\ 'item': '"string" "string" ...', \ 'item': '"key" "value"',
\ 'file': '"key" "filename"',
\ } \ }
" fonts " fonts
let s:fontsLabel = { let s:fontsLabel = {
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ } \ }
"images "images
let s:imagesLabel = { let s:imagesLabel = {
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ } \ }
"collections "collections
@ -988,10 +1047,16 @@ let s:collectionsStatement = [
\ 'fonts', \ 'fonts',
\ 'styles', \ 'styles',
\ 'color_classes', \ 'color_classes',
\ 'externals',
\ ] \ ]
let s:collectionsLabel = { let s:collectionsLabel = {
\ 'image': '"string" "keyword"', \ 'image': '"filename" keyword',
\ 'font': '"string" "string"', \ 'font': '"filename" "name"',
\ }
" externals
let s:externalsLabel = {
\ 'external': '"name"',
\ } \ }
" spectra " spectra
@ -1000,18 +1065,26 @@ let s:spectraStatement = [
\ ] \ ]
" spectrum " spectrum
let s:spectrumLabel = { let s:spectrumLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'color': '"int" "int" "int" "int" "int"', \ 'color': '0-255 0-255 0-255 0-255',
\ } \ }
" gradient " gradient
let s:gradientLabel = { let s:gradientLabel = {
\ 'type': '"string"', \ 'type': '"keyword"',
\ 'spectrum': '"string"', \ 'spectrum': '"spectrum_name"',
\ } \ }
let s:gradientStatement = [ let s:gradientStatement = [
\ 'rel1', \ 'rel1',
\ 'rel2', \ 'rel2',
\ ] \ ]
" gradient types
let s:gradientTypes = {
\ '"linear"': '',
\ '"radial"': '',
\ '"rectangular"': '',
\ '"angular"': '',
\ '"sinusoidal"': '',
\ }
" styles " styles
let s:stylesStatement = [ let s:stylesStatement = [
@ -1019,9 +1092,9 @@ let s:stylesStatement = [
\ ] \ ]
" style " style
let s:styleLabel = { let s:styleLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'base': '"string"', \ 'base': '".. default style properties .."',
\ 'tag': '"string"', \ 'tag': '"tagname" "style properties"',
\ } \ }
" color_classes " color_classes
@ -1030,10 +1103,10 @@ let s:color_classesStatement = [
\ ] \ ]
" color_class " color_class
let s:color_classLabel = { let s:color_classLabel = {
\ 'name': '"string"', \ 'name': '"name"',
\ 'color': '"int" "int" "int" "int"', \ 'color': '0-255 0-255 0-255 0-255',
\ 'color2': '"int" "int" "int" "int"', \ 'color2': '0-255 0-255 0-255 0-255',
\ 'color3': '"int" "int" "int" "int"', \ 'color3': '0-255 0-255 0-255 0-255',
\ } \ }
" toplevel " toplevel
@ -1045,14 +1118,30 @@ let s:topStatement = [
\ 'spectra', \ 'spectra',
\ 'styles', \ 'styles',
\ 'color_classes', \ 'color_classes',
\ 'externals',
\ ] \ ]
" images image storage method " images image storage method
let s:imageStorageMethod = { let s:imageStorageMethod = {
\ 'COMP': '', \ 'COMP': '',
\ 'RAW': '', \ 'RAW': '',
\ 'USER': '',
\ 'LOSSY': '0-100', \ 'LOSSY': '0-100',
\ 'USER': '', \ }
" image middle types
let s:imageMiddleTypes = {
\ '0': '',
\ '1': '',
\ 'NONE': '',
\ 'DEFAULT': '',
\ 'SOLID': '',
\ }
" image scale hint
let s:imageScaleHint = {
\ '0': '',
\ 'NONE': '',
\ 'DYNAMIC': '',
\ 'STATIC': '',
\ } \ }
" part types " part types
@ -1066,6 +1155,7 @@ let s:partTypes = {
\ 'GROUP': '', \ 'GROUP': '',
\ 'BOX': '', \ 'BOX': '',
\ 'TABLE': '', \ 'TABLE': '',
\ 'EXTERNAL': '',
\ } \ }
" part effects " part effects
let s:partEffects = { let s:partEffects = {
@ -1081,6 +1171,11 @@ let s:partEffects = {
\ 'FAR_SOFT_SHADOW': '', \ 'FAR_SOFT_SHADOW': '',
\ 'GLOW': '', \ 'GLOW': '',
\ } \ }
" part select_mode
let s:partSelectMode = {
\ 'DEFAULT': '',
\ 'EXPLICIT': '',
\ }
" part ignore flags " part ignore flags
let s:partIgnoreFlags = { let s:partIgnoreFlags = {
\ 'NONE': '', \ 'NONE': '',
@ -1098,43 +1193,14 @@ let s:partEditableMode = {
\ 'EDITABLE': '', \ 'EDITABLE': '',
\ 'PASSWORD': '', \ 'PASSWORD': '',
\ } \ }
" part effects
let s:partSelectMode = {
\ 'DEFAULT': '',
\ 'EXPLICIT': '',
\ }
" aspect_preference types " aspect_preference types
let s:aspectPrefTypes = { let s:aspectPrefTypes = {
\ 'NONE': '',
\ 'VERTICAL': '', \ 'VERTICAL': '',
\ 'HORIZONTAL': '', \ 'HORIZONTAL': '',
\ 'BOTH': '', \ 'BOTH': '',
\ } \ }
" image middle types
let s:middleTypes = {
\ 'NONE': '',
\ 'DEFAULT': '',
\ 'SOLID': '',
\ '0': '',
\ '1': '',
\ }
" image scale_hint types
let s:scaleHintTypes = {
\ 'NONE': '',
\ 'DYNAMIC': '',
\ 'STATIC': '',
\ '0': '',
\ }
" fill types
let s:fillTypes = {
\ 'SCALE': '',
\ 'TILE': '',
\ }
" program transition types " program transition types
let s:transitionTypes = { let s:transitionTypes = {
\ 'LINEAR': '0.0 - 1.0', \ 'LINEAR': '0.0 - 1.0',
@ -1147,9 +1213,9 @@ let s:actionTypes = {
\ 'STATE_SET': '"string" "0.0 - 1.0"', \ 'STATE_SET': '"string" "0.0 - 1.0"',
\ 'ACTION_STOP': '', \ 'ACTION_STOP': '',
\ 'SIGNAL_EMIT': '"string" "string"', \ 'SIGNAL_EMIT': '"string" "string"',
\ 'DRAG_VAL_SET': '"float" "float"', \ 'DRAG_VAL_SET': 'float float',
\ 'DRAG_VAL_STEP': '"float" "float"', \ 'DRAG_VAL_STEP': 'float float',
\ 'DRAG_VAL_PAGE': '"float" "float"', \ 'DRAG_VAL_PAGE': 'float float',
\ 'FOCUS_SET': '', \ 'FOCUS_SET': '',
\ } \ }
" box item types " box item types