mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:20:03 +08:00
157 lines
5.2 KiB
VimL
Vendored
157 lines
5.2 KiB
VimL
Vendored
if exists("g:loaded_vaxe_plugin")
|
|
finish
|
|
endif
|
|
|
|
let g:loaded_vaxe_plugin = 1
|
|
|
|
if has("python3")
|
|
let g:vaxepy = ":python3 "
|
|
elseif has("python")
|
|
let g:vaxepy = ":python "
|
|
endif
|
|
|
|
command -nargs=? -complete=file DefaultHxml call vaxe#DefaultHxml(<q-args>)
|
|
command -nargs=? -complete=file ProjectHxml call vaxe#ProjectHxml(<q-args>)
|
|
command VaxeToggleLogging let g:vaxe_logging = !g:vaxe_logging
|
|
|
|
" Lime commands
|
|
command -nargs=? -complete=file ProjectLime
|
|
\ call vaxe#lime#ProjectLime(<q-args>)
|
|
|
|
command -nargs=? -complete=customlist,vaxe#lime#Targets LimeTarget
|
|
\ call vaxe#lime#Target(<q-args>)
|
|
|
|
command -nargs=? LimeClean
|
|
\ call vaxe#lime#Clean(<q-args>)
|
|
|
|
command -nargs=? LimeUpdate
|
|
\ call vaxe#lime#Update(<q-args>)
|
|
|
|
command -nargs=? LimeRebuildHxml
|
|
\ call vaxe#lime#RebuildHxml()
|
|
|
|
|
|
" Flow commands
|
|
command -nargs=? -complete=file ProjectFlow
|
|
\ call vaxe#flow#ProjectFlow(<q-args>)
|
|
|
|
command -nargs=? -complete=customlist,vaxe#flow#Targets FlowTarget
|
|
\ call vaxe#flow#Target(<q-args>)
|
|
|
|
command -nargs=? FlowClean
|
|
\ call vaxe#flow#Clean(<q-args>)
|
|
|
|
command -nargs=? FlowRebuildHxml
|
|
\ call vaxe#flow#RebuildHxml()
|
|
|
|
" Completion Server Commands
|
|
command VaxeStopCompletionServer call vaxe#KillCacheServer()
|
|
command VaxeStartCompletionServer call vaxe#StartCacheServer()
|
|
|
|
command VaxeCtags call vaxe#Ctags()
|
|
|
|
autocmd FileType haxe setlocal commentstring=//%s
|
|
|
|
let g:tagbar_type_haxe = {
|
|
\ 'ctagstype' : 'haxe',
|
|
\ 'kinds' : [
|
|
\ 'a:abstracts',
|
|
\ 'c:classes',
|
|
\ 'e:enums',
|
|
\ 'i:interfaces',
|
|
\ 't:typedefs',
|
|
\ 'v:variables',
|
|
\ 'f:functions',
|
|
\ ]
|
|
\ }
|
|
|
|
" a short alias, since I use this all over the place
|
|
let Default = function("vaxe#util#Config")
|
|
|
|
" misc options
|
|
let g:vaxe_haxe_version = Default('g:vaxe_haxe_version', 3)
|
|
let g:vaxe_logging = Default('g:vaxe_logging', 0)
|
|
let g:vaxe_trace_absolute_path = Default('g:vaxe_trace_absolute_path', 1)
|
|
|
|
" completion options
|
|
let g:vaxe_completion_require_autowrite
|
|
\=Default('g:vaxe_completion_require_autowrite', 1)
|
|
let g:vaxe_completion_disable_optimizations
|
|
\= Default('g:vaxe_completion_disable_optimizations', 1)
|
|
let g:vaxe_completion_alter_signature
|
|
\= Default('g:vaxe_completion_alter_signature', 1)
|
|
let g:vaxe_completion_collapse_overload
|
|
\= Default('g:vaxe_completion_collapse_overload', 0)
|
|
let g:vaxe_completion_write_compiler_output
|
|
\= Default('g:vaxe_completion_write_compiler_output', 0)
|
|
let g:vaxe_completion_prevent_bufwrite_events
|
|
\= Default('g:vaxe_completion_prevent_bufwrite_events',1)
|
|
let g:vaxe_completeopt_menuone
|
|
\= Default('g:vaxe_completeopt_menuone', 1)
|
|
|
|
" cache server options
|
|
let g:vaxe_cache_server = Default('g:vaxe_cache_server', 0)
|
|
let g:vaxe_cache_server_port = Default('g:vaxe_cache_server_port', 6878)
|
|
let g:vaxe_cache_server_autostart = Default('g:vaxe_cache_server_autostart', 1)
|
|
|
|
" lime options
|
|
let g:vaxe_lime_test_on_build = Default('g:vaxe_lime_test_on_build', 1)
|
|
let g:vaxe_lime_target = Default('g:vaxe_lime_target',"")
|
|
let g:vaxe_lime_completion_target = Default('g:vaxe_lime_completion_target', 'flash')
|
|
|
|
" flow options
|
|
let g:vaxe_flow_target = Default('g:vaxe_flow_target', "")
|
|
let g:vaxe_flow_completion_target = Default('g:vaxe_flow_completion_target', 'web')
|
|
|
|
" default build options
|
|
let g:vaxe_prefer_hxml = Default('g:vaxe_prefer_hxml', "build.hxml")
|
|
let g:vaxe_prefer_lime = Default('g:vaxe_prefer_lime', "*.lime")
|
|
let g:vaxe_prefer_flow = Default('g:vaxe_prefer_flow', "*.flow")
|
|
let g:vaxe_prefer_openfl = Default('g:vaxe_prefer_openfl', "project.xml")
|
|
let g:vaxe_prefer_first_in_directory = Default('g:vaxe_prefer_first_in_directory', 1)
|
|
let g:vaxe_default_parent_search_patterns
|
|
\= Default('g:vaxe_default_parent_search_patterns'
|
|
\, [g:vaxe_prefer_lime, g:vaxe_prefer_flow, g:vaxe_prefer_openfl, g:vaxe_prefer_hxml, "*.hxml"])
|
|
let g:vaxe_set_makeprg = Default('g:vaxe_set_makeprg', 1)
|
|
|
|
" Supported 3rd party plugin options
|
|
let g:vaxe_enable_airline_defaults = Default('g:vaxe_enable_airline_defaults', 1)
|
|
let g:vaxe_enable_ycm_defaults = Default('g:vaxe_enable_ycm_defaults', 1)
|
|
let g:vaxe_enable_acp_defaults = Default('g:vaxe_enable_acp_defaults', 1)
|
|
|
|
if !exists('g:vaxe_haxe_binary')
|
|
let g:vaxe_haxe_binary = 'haxe'
|
|
endif
|
|
|
|
" YCM
|
|
if (g:vaxe_enable_ycm_defaults)
|
|
if ( exists("g:ycm_semantic_triggers") )
|
|
let g:ycm_semantic_triggers['haxe'] = ['.', '(']
|
|
else
|
|
let g:ycm_semantic_triggers = { 'haxe' : ['.', '('] }
|
|
endif
|
|
endif
|
|
|
|
" ACP
|
|
if (g:vaxe_enable_acp_defaults)
|
|
if !exists('g:acp_behavior')
|
|
let g:acp_behavior = {}
|
|
endif
|
|
|
|
function! haxe#meetsForFile(context)
|
|
return a:context =~ '\(\.\|(\)$'
|
|
endfunction
|
|
if !has_key(g:acp_behavior, 'haxe')
|
|
let g:acp_behavior['haxe'] = []
|
|
endif
|
|
|
|
let vaxe_entry = {
|
|
\ "meets" : "haxe#meetsForFile",
|
|
\ "command": "\<C-X>\<C-O>",
|
|
\ "completefunc" : "vaxe#HaxeComplete"}
|
|
|
|
call add(g:acp_behavior['haxe'] , vaxe_entry)
|
|
endif
|
|
|
|
|