├── README.md ├── addon-info.json ├── autoload ├── vimside.vim └── vimside │ ├── actwin.vim │ ├── browser.vim │ ├── cmdline.vim │ ├── color │ ├── eterm.vim │ ├── konsole.vim │ ├── rxvt.vim │ ├── term.vim │ ├── urxvt.vim │ ├── util.vim │ ├── xterm16.vim │ ├── xterm256.vim │ ├── xterm8.vim │ └── xterm88.vim │ ├── command.vim │ ├── command │ ├── browse_reference_source_roots.vim │ ├── browse_source_roots.vim │ ├── builder.vim │ ├── completions.vim │ ├── debug.vim │ ├── ensime.vim │ ├── format_source.vim │ ├── hover.vim │ ├── hover │ │ ├── balloon.vim │ │ ├── cmdline.vim │ │ ├── term.vim │ │ └── util.vim │ ├── inspector.vim │ ├── option_editor.vim │ ├── popup_menu.vim │ ├── position.vim │ ├── refactor.vim │ ├── repl_config.vim │ ├── sbt.vim │ ├── search.vim │ ├── selection.vim │ ├── selection │ │ ├── highlight.vim │ │ └── visual.vim │ ├── show_doc_symbol_at_point.vim │ ├── show_errors_and_warning.vim │ ├── symbol_at_point.vim │ ├── typecheck_all.vim │ ├── typecheck_file.vim │ └── uses_of_symbol_at_point.vim │ ├── ensime │ ├── config.vim │ ├── io.vim │ ├── messages.vim │ └── swank.vim │ ├── error.vim │ ├── forms │ ├── menu.vim │ ├── optioneditor.vim │ └── sourcebrowser.vim │ ├── hooks.vim │ ├── locationlist.vim │ ├── log.vim │ ├── options │ ├── defined.vim │ ├── manager.vim │ └── option.vim │ ├── plugin │ └── sourcebrowser.vim │ ├── preview.vim │ ├── property.vim │ ├── quickfix.vim │ ├── scheduler.vim │ ├── sexp.vim │ ├── sign.vim │ ├── swank │ ├── event │ │ ├── clear_all_java_notes.vim │ │ ├── clear_all_scala_notes.vim │ │ ├── compiler_ready.vim │ │ ├── full_typecheck_finished.vim │ │ ├── indexer_ready.vim │ │ ├── java_notes.vim │ │ └── scala_notes.vim │ └── rpc │ │ ├── builder_add_files.vim │ │ ├── builder_init.vim │ │ ├── builder_remove_files.vim │ │ ├── builder_update_files.vim │ │ ├── call_completion.vim │ │ ├── cancel_refactor.vim │ │ ├── completions.vim │ │ ├── connection_info.vim │ │ ├── debug_active_vm.vim │ │ ├── debug_attach.vim │ │ ├── debug_backtrace.vim │ │ ├── debug_clear_all_breaks.vim │ │ ├── debug_clear_break.vim │ │ ├── debug_continue.vim │ │ ├── debug_list_breakpoints.vim │ │ ├── debug_locate_name.vim │ │ ├── debug_next.vim │ │ ├── debug_run.vim │ │ ├── debug_set_break.vim │ │ ├── debug_set_value.vim │ │ ├── debug_start.vim │ │ ├── debug_step.vim │ │ ├── debug_step_out.vim │ │ ├── debug_stop.vim │ │ ├── debug_to_string.vim │ │ ├── debug_value.vim │ │ ├── exec_refactor.vim │ │ ├── exec_undo.vim │ │ ├── expand_selection.vim │ │ ├── format_source.vim │ │ ├── import_suggestions.vim │ │ ├── init_project.vim │ │ ├── inspect_package_by_path.vim │ │ ├── inspect_type_at_point.vim │ │ ├── inspect_type_by_id.vim │ │ ├── method_bytecode.vim │ │ ├── package_member_completion.vim │ │ ├── patch_source.vim │ │ ├── peek_undo.vim │ │ ├── prepare_refactor.vim │ │ ├── public_symbol_search.vim │ │ ├── remove_file.vim │ │ ├── repl_config.vim │ │ ├── shutdown_server.vim │ │ ├── symbol_at_point.vim │ │ ├── symbol_designations.vim │ │ ├── type_at_point.vim │ │ ├── type_by_id.vim │ │ ├── type_by_name.vim │ │ ├── type_by_name_at_point.vim │ │ ├── typecheck_all.vim │ │ ├── typecheck_file.vim │ │ ├── typecheck_files.vim │ │ ├── uses_of_symbol_at_point.vim │ │ └── util.vim │ ├── util.vim │ ├── version.vim │ ├── vimplugins.vim │ └── vimproc.vim ├── data └── vimside │ ├── _ensime │ ├── example_options_project.vim │ ├── example_options_user.vim │ ├── example_plugin_user.vim │ ├── example_vimside.properties │ ├── projects │ ├── sbt │ │ ├── build.sbt │ │ ├── ensime_config.vim │ │ ├── options_project.vim │ │ └── src │ │ │ └── main │ │ │ └── scala │ │ │ └── com │ │ │ └── megaannum │ │ │ ├── HW.scala │ │ │ └── SW.scala │ └── simple │ │ ├── build │ │ ├── classes │ │ │ └── EMPTY │ │ └── test │ │ │ └── classes │ │ │ └── EMPTY │ │ ├── ensime_config.vim │ │ ├── options_project.vim │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── megaannum │ │ │ └── wicket │ │ │ └── EventCallback.java │ │ └── scala │ │ └── com │ │ └── megaannum │ │ ├── Bar.scala │ │ ├── Foo.scala │ │ ├── Main.scala │ │ ├── Refactor.scala │ │ └── wicket │ │ ├── Component.scala │ │ ├── DispatchToAnnotatedMethod.scala │ │ └── IEvent.scala │ └── tests │ ├── README │ ├── ensime_config_file │ ├── ensime_config_file.suite │ ├── make_clean │ ├── test001.msgout │ ├── test001.tap │ └── test001.vim │ ├── inspector │ ├── inspector.suite │ ├── make_clean │ ├── test001.msgout │ ├── test001.tap │ ├── test001.vim │ ├── test002.msgout │ ├── test002.tap │ └── test002.vim │ ├── sexp │ ├── ensime │ ├── ensime_config.vim │ ├── make_clean │ ├── sexp.suite │ ├── test001.vim │ ├── test002.vim │ ├── test003.vim │ ├── test004.vim │ ├── test005.vim │ ├── test006.vim │ ├── test007.vim │ ├── test008.vim │ ├── test009.vim │ ├── test010.vim │ ├── test011.vim │ └── type_at_point_string │ └── tests.suite ├── doc └── vimside.txt ├── ftplugin └── scala.vim ├── pathogen_install.sh └── plugin └── vimside.vim /addon-info.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "vimside", 3 | "version" : "0.2", 4 | "author" : "Richard Emberson ", 5 | "maintainer" : "Richard Emberson ", 6 | "repository" : {"type": "git", "url": 7 | "git://github.com/megaannum/vimside.git", "branch" : "master"}, 8 | "dependencies" : { 9 | "self": {}, 10 | "forms": {}, 11 | "vimproc": {}, 12 | "vimshell": {} 13 | }, 14 | "description" : "Vim Scala Ide" 15 | } 16 | -------------------------------------------------------------------------------- /autoload/vimside/cmdline.vim: -------------------------------------------------------------------------------- 1 | 2 | 3 | let s:is_init = 0 4 | let s:is_open = 0 5 | 6 | function! vimside#cmdline#Init() 7 | if ! s:is_init 8 | let s:is_init = 1 9 | endif 10 | endfunction 11 | 12 | function! s:Clear() 13 | echo '' 14 | endfunction 15 | 16 | function! s:Write(msg) 17 | echo a:msg 18 | endfunction 19 | 20 | " 21 | " arg: String message 22 | " 23 | function! vimside#cmdline#Display(msg) 24 | if ! s:is_init 25 | call vimside#cmdline#Init() 26 | endif 27 | 28 | 29 | " call s:Clear() 30 | call s:Write(a:msg) 31 | 32 | let s:is_open = 1 33 | endfunction 34 | 35 | function! vimside#cmdline#Close() 36 | if s:is_open 37 | call s:Clear() 38 | let s:is_open = 0 39 | endif 40 | let s:is_init = 0 41 | endfunction 42 | 43 | function! vimside#cmdline#DOIT() 44 | let msg = "This is a message" 45 | call vimside#cmdline#Display(msg) 46 | endfunction 47 | 48 | -------------------------------------------------------------------------------- /autoload/vimside/command/browse_reference_source_roots.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " browse_reference_source_roots.vim 3 | " 4 | " File: browse_reference_source_roots.vim 5 | " Summary: Vimside Browse Reference Source Roots 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#browse_reference_source_roots#Run() 18 | let [found, forms_use] = g:vimside.GetOption('forms-use') 19 | let sources = g:vimside.project.info['reference_source_roots'] 20 | if found 21 | if forms_use 22 | call vimside#forms#sourcebrowser#Run(sources) 23 | else 24 | call vimside#plugin#sourcebrowser#Run(sources) 25 | endif 26 | else 27 | call s:ERROR("Option not found: "'forms-use'") 28 | endif 29 | endfunction 30 | -------------------------------------------------------------------------------- /autoload/vimside/command/browse_source_roots.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " browse_source_roots.vim 3 | " 4 | " File: browse_source_roots.vim 5 | " Summary: Vimside Browse Source Roots 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#browse_source_roots#Run() 18 | let [found, forms_use] = g:vimside.GetOption('forms-use') 19 | let sources = g:vimside.project.info['source_roots'] 20 | if found 21 | if forms_use 22 | call vimside#forms#sourcebrowser#Run(sources) 23 | else 24 | call vimside#plugin#sourcebrowser#Run(sources) 25 | endif 26 | else 27 | call s:ERROR("Option not found: "'forms-use'") 28 | endif 29 | endfunction 30 | -------------------------------------------------------------------------------- /autoload/vimside/command/builder.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " builder.vim 3 | " 4 | " File: builder.vim 5 | " Summary: Vimside Builder 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | let s:current_files = {} 17 | 18 | function! vimside#command#builder#Build() 19 | " One event following build 20 | let dic = { 21 | \ 'events': 2 22 | \ } 23 | call vimside#swank#rpc#builder_init#Run(dic) 24 | 25 | call vimside#command#builder#ClearTrackFiles() 26 | endfunction 27 | 28 | function! vimside#command#builder#ReBuild() 29 | let keys = keys(s:current_files) 30 | if empty(keys) 31 | echo "Nothing to rebuild." 32 | else 33 | let dic = { 34 | \ 'args': { 35 | \ 'files': copy(keys) 36 | \ } 37 | \ } 38 | call vimside#swank#rpc#builder_update_files#Run(dic) 39 | 40 | call vimside#command#builder#ClearTrackFiles() 41 | endif 42 | endfunction 43 | 44 | 45 | 46 | function! vimside#command#builder#ClearTrackFiles() 47 | let s:current_files = {} 48 | endfunction 49 | 50 | function! vimside#command#builder#AddTrackFile() 51 | let [found, fn] = vimside#util#GetCurrentFilename() 52 | if found 53 | let s:current_files[fn] = 1 54 | endif 55 | endfunction 56 | 57 | -------------------------------------------------------------------------------- /autoload/vimside/command/ensime.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " ensime.vim 3 | " 4 | " File: ensime.vim 5 | " Summary: Vimside Ensime 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#ensime#Start() 18 | call vimside#StartEnsime() 19 | endfunction 20 | 21 | function! vimside#command#ensime#Stop() 22 | call vimside#StopEnsime() 23 | endfunction 24 | -------------------------------------------------------------------------------- /autoload/vimside/command/format_source.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " format_source.vim 3 | " 4 | " File: format_source.vim 5 | " Summary: Vimside Format Source 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#format_source#Run() 18 | call vimside#swank#rpc#format_source#Run() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/command/hover.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " hover.vim 3 | " 4 | " File: hover.vim 5 | " Summary: Vimside Hover to Symbol 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " Supports two types of Hover to Symbol name approaches. 12 | " For both GVim and Vim, one can have the Symbol name displayed on 13 | " the Command Line. Place cursor, over value, wait for the time 14 | " given by the option 'tailor-hover-updatetime', and the value's 15 | " Symbol name appears on the Command Line. 16 | " The second approach the mouse pointer is used to select the value 17 | " whose Symbol is to be displayed in, what Vim, calls 18 | " a balloon. For GVim, the built-in balloon mechanism is used; 19 | " wait for the time given by the option 'tailor-hover-updatetime', 20 | " and the Symbol name appears in a balloon. 21 | " For Vim (running on a Linux system which has both xdotool and dzen2 22 | " installed) placing the mouse pointer over the value and the 23 | " Symbol appears in a "balloon" (actually, a dzen2 window). 24 | " Running in Hover mode is optional; the same call that start Hover 25 | " mode also is called to stop Hover mode. 26 | " ============================================================================ 27 | 28 | let s:LOG = function("vimside#log#log") 29 | let s:ERROR = function("vimside#log#error") 30 | 31 | let g:vimside_hover_save_updatetime = 0 32 | let g:vimside_hover_updatetime = 0 33 | let g:vimside_hover_time_name = 'hover_time_job' 34 | 35 | let g:vimside_hover_save_max_mcounter = 0 36 | let g:vimside_hover_max_mcounter = 0 37 | let g:vimside_hover_motion_name = 'hover_motion_job' 38 | 39 | function! s:LoadUpdateTimes() 40 | let [found, value] = g:vimside.GetOption('tailor-hover-updatetime') 41 | if ! found 42 | throw "Option not found: "'tailor-hover-updatetime'" 43 | endif 44 | let g:vimside_hover_updatetime = value 45 | 46 | let [found, value] = g:vimside.GetOption('tailor-hover-max-char-mcounter') 47 | if ! found 48 | throw "Option not found: "'tailor-hover-max-char-mcounter'" 49 | endif 50 | let g:vimside_hover_max_mcounter = value 51 | 52 | endfunction 53 | 54 | call s:LoadUpdateTimes() 55 | 56 | let s:vimside_hover_started = 0 57 | 58 | function! vimside#command#hover#ToSymbol() 59 | if s:vimside_hover_started 60 | call s:LOG("vimside#command#hover#ToSymbol: STOP") 61 | try 62 | call s:Hover_Stop() 63 | finally 64 | let s:vimside_hover_started = 0 65 | endtry 66 | 67 | else 68 | try 69 | if vimside#command#hover#balloon#Enabled() && vimside#command#hover#balloon#IsSupported() 70 | call s:LOG("vimside#command#hover#ToSymbol: DO BALLOON") 71 | let s:Hover_Stop = vimside#command#hover#balloon#Start() 72 | elseif vimside#command#hover#term#Enabled() && vimside#command#hover#term#IsSupported() 73 | call s:LOG("vimside#command#hover#ToSymbol: DO TERM HOVER") 74 | let s:Hover_Stop = vimside#command#hover#term#Start() 75 | else 76 | call s:LOG("vimside#command#hover#ToSymbol: DO CMDLINE") 77 | let s:Hover_Stop = vimside#command#hover#cmdline#Start() 78 | endif 79 | finally 80 | let s:vimside_hover_started = 1 81 | endtry 82 | 83 | endif 84 | endfunction 85 | -------------------------------------------------------------------------------- /autoload/vimside/command/hover/balloon.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " balloon.vim 3 | " 4 | " File: balloon.vim 5 | " Summary: Vimside Hover output to Balloon 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " Uses built-in GVim balloon capability. 12 | " 13 | " From Vim debugger.txt conerning setting balloon colors: 14 | " The Balloon Evaluation has some settable parameters too. For Motif the font 15 | " list and colors can be set via X resources (XmNballoonEvalFontList, 16 | " XmNballoonEvalBackground, and XmNballoonEvalForeground). 17 | " ============================================================================ 18 | 19 | let s:LOG = function("vimside#log#log") 20 | let s:ERROR = function("vimside#log#error") 21 | 22 | 23 | 24 | 25 | let s:hover_balloon_value = '' 26 | 27 | function! vimside#command#hover#balloon#Enabled() 28 | let [found, enabled] = g:vimside.GetOption('vimside-hover-balloon-enabled') 29 | if ! found 30 | throw "Option not found: "'vimside-hover-balloon-enabled'" 31 | endif 32 | return enabled 33 | endfunction 34 | 35 | function! vimside#command#hover#balloon#IsSupported() 36 | return (has("gui_running") && has("balloon_eval")) 37 | endfunction 38 | 39 | function! s:GetCurrentBalloonOffset() 40 | return line2byte(v:beval_lnum)+v:beval_col-1 41 | endfunction 42 | 43 | function! vimside#command#hover#balloon#Stop() 44 | let &ballooneval = 0 45 | endfunction 46 | 47 | function! vimside#command#hover#balloon#Start() 48 | " call s:LOG("vimside#command#hover#balloon#Start") 49 | set bexpr=vimside#command#hover#balloon#BalloonExpr() 50 | let &ballooneval = 1 51 | return function("vimside#command#hover#balloon#Stop") 52 | endfunction 53 | 54 | 55 | function! vimside#command#hover#balloon#Handler_Ok(dic, ...) 56 | let dic = a:dic 57 | 58 | let text = vimside#command#hover#util#GetHoverText(dic) 59 | let s:hover_balloon_value = text 60 | 61 | return 1 62 | endfunction 63 | 64 | 65 | 66 | function! vimside#command#hover#balloon#BalloonExpr() 67 | " call s:LOG("vimside#command#hover#balloon#BalloonExpr") 68 | 69 | let dic = { 70 | \ 'handler': { 71 | \ 'ok': function("vimside#command#hover#balloon#Handler_Ok") 72 | \ }, 73 | \ 'args': { 74 | \ 'offset': s:GetCurrentBalloonOffset() 75 | \ } 76 | \ } 77 | call vimside#swank#rpc#symbol_at_point#Run(dic) 78 | 79 | return s:hover_balloon_value 80 | endfunction 81 | 82 | -------------------------------------------------------------------------------- /autoload/vimside/command/hover/util.vim: -------------------------------------------------------------------------------- 1 | 2 | function! vimside#command#hover#util#GetHoverText(dic) 3 | let dic = a:dic 4 | if vimside#util#IsDictionary(dic) 5 | if has_key(dic, ":type") 6 | let tdic = dic[':type'] 7 | if has_key(tdic, ":arrow-type") && tdic[':arrow-type'] 8 | let name = dic[':name'] 9 | let tname = tdic[':name'] 10 | return name . tname 11 | else 12 | if has_key(tdic, ":full-name") 13 | let tname = tdic[':name'] 14 | let tfullname = tdic[':full-name'] 15 | if tfullname !~ '.*' 16 | return tfullname 17 | else 18 | return tname 19 | endif 20 | endif 21 | endif 22 | endif 23 | return '' 24 | else 25 | return '' 26 | endif 27 | endfunction 28 | 29 | -------------------------------------------------------------------------------- /autoload/vimside/command/option_editor.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " option_editor.vim 3 | " 4 | " File: option_editor.vim 5 | " Summary: Vimside Option Editor 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#option_editor#Run() 18 | call vimside#forms#optioneditor#Run() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/command/popup_menu.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " popup_menu.vim 3 | " 4 | " File: popup_menu.vim 5 | " Summary: Vimside PopUp Menu 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#popup_menu#Run() 18 | call vimside#forms#menu#MakePopUp() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/command/position.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " position.vim 3 | " 4 | " File: position.vim 5 | " Summary: Vimside Position support 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#position#Clear() 18 | let g:vimside.project.positions = [] 19 | endfunction 20 | 21 | function! vimside#command#position#Set() 22 | let bufnum = bufnr("%") 23 | let pos = getpos(".") 24 | let g:vimside.project.positions = [bufnum, pos] 25 | endfunction 26 | 27 | function! vimside#command#position#Previous() 28 | let positions = g:vimside.project.positions 29 | " call s:LOG("vimside#command#position#Previous=". string(positions)) 30 | let len = len(positions) 31 | if len > 0 32 | let [bufnum, pos] = positions 33 | 34 | call vimside#command#position#Set() 35 | 36 | execute "buffer ". bufnum 37 | call setpos('.', pos) 38 | endif 39 | endfunction 40 | -------------------------------------------------------------------------------- /autoload/vimside/command/repl_config.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " repl_config.vim 3 | " 4 | " File: repl_config.vim 5 | " Summary: Vimside Search 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#repl_config#Run() 18 | call vimside#swank#rpc#repl_config#Run() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/command/selection/visual.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " visual.vim 3 | " 4 | " File: visual.vim 5 | " Summary: Vimside Visual Selection display 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " Use Vim's visual selection to display syntax region. 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | let s:line_start = -1 18 | let s:line_end = -1 19 | 20 | function! vimside#command#selection#visual#Clear() 21 | call s:LOG("vimside#command#selection#visual#Clear: TOP") 22 | let m = mode() 23 | if m == 'v' || m == 'V' || m == "\" 24 | execute "normal v" 25 | endif 26 | endfunction 27 | 28 | function! vimside#command#selection#visual#CursorMoved() 29 | let lnum = line(".") 30 | call s:LOG("vimside#command#selection#visual#CursorMoved: lnum=". lnum) 31 | return lnum < s:line_start || lnum > s:line_end 32 | endfunction 33 | 34 | function! vimside#command#selection#visual#Display(file, start, end) 35 | " call s:LOG("vimside#command#selection#visual#Display: start=". a:start .", end=". a:end) 36 | let current_file = expand('%:p') 37 | if a:file == current_file 38 | let [s:line_start,_] = vimside#util#GetLineColumnFromOffset(a:start-1) 39 | let [s:line_end,_] = vimside#util#GetLineColumnFromOffset(a:end) 40 | call s:LOG("vimside#command#selection#visual#Display: line_start=". s:line_start) 41 | call s:LOG("vimside#command#selection#visual#Display: line_end=". s:line_end) 42 | 43 | execute "goto ". (a:start+1) 44 | execute "normal v" 45 | execute "goto ". a:end 46 | endif 47 | endfunction 48 | -------------------------------------------------------------------------------- /autoload/vimside/command/symbol_at_point.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " symbol_at_point.vim 3 | " 4 | " File: symbol_at_point.vim 5 | " Summary: Vimside Symbol At Point 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#symbol_at_point#Run() 18 | call vimside#swank#rpc#symbol_at_point#Run() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/command/typecheck_all.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " typecheck_all.vim 3 | " 4 | " File: typecheck_all.vim 5 | " Summary: Vimside Typecheck All 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#typecheck_all#Run() 18 | call vimside#command#show_errors_and_warning#Close() 19 | call vimside#swank#rpc#typecheck_all#Run() 20 | endfunction 21 | -------------------------------------------------------------------------------- /autoload/vimside/command/typecheck_file.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " typecheck_file.vim 3 | " 4 | " File: typecheck_file.vim 5 | " Summary: Vimside Typecheck File 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | 17 | function! vimside#command#typecheck_file#Run() 18 | call vimside#swank#rpc#typecheck_file#Run() 19 | endfunction 20 | -------------------------------------------------------------------------------- /autoload/vimside/ensime/messages.vim: -------------------------------------------------------------------------------- 1 | 2 | if ! exists("g:ensime") 3 | let g:ensime = {} 4 | let g:ensime.protocol = {} 5 | let g:ensime.protocol.constants = {} 6 | 7 | let g:ensime.protocol.constants['101'] = ["Msg", "Compiler Unexpected Error"] 8 | let g:ensime.protocol.constants['102'] = ["Msg", "Initializing Analyzer"] 9 | let g:ensime.protocol.constants['103'] = ["Msg", "Building Entire Project"] 10 | let g:ensime.protocol.constants['104'] = ["Msg", "Build Complete"] 11 | let g:ensime.protocol.constants['105'] = ["Msg", "Misc"] 12 | 13 | let g:ensime.protocol.constants['200'] = ["Err", "Exception In Debugger"] 14 | let g:ensime.protocol.constants['201'] = ["Err", "Exception In RPC"] 15 | let g:ensime.protocol.constants['202'] = ["Err", "Malformed RPC"] 16 | let g:ensime.protocol.constants['203'] = ["Err", "Unrecognized Form"] 17 | let g:ensime.protocol.constants['204'] = ["Err", "Unrecognized RPC"] 18 | let g:ensime.protocol.constants['205'] = ["Err", "Exception In Builder"] 19 | 20 | let g:ensime.protocol.constants['206'] = ["Err", "Peek Undo Failed"] 21 | let g:ensime.protocol.constants['207'] = ["Err", "Exec Undo Failed"] 22 | 23 | let g:ensime.protocol.constants['208'] = ["Err", "Format Failed"] 24 | 25 | let g:ensime.protocol.constants['209'] = ["Err", "Analyzer Not Ready"] 26 | let g:ensime.protocol.constants['210'] = ["Err", "Exception In Analyzer"] 27 | 28 | let g:ensime.protocol.constants['211'] = ["Err", "File Does Not Exist"] 29 | 30 | let g:ensime.protocol.constants['211'] = ["Err", "Exception In Indexer"] 31 | endif 32 | 33 | " return [type, msg] 34 | function! vimside#ensime#messages#GetProtocolConstant(code) 35 | let d = g:ensime.protocol.constants 36 | if has_key(d, "".a:code) 37 | return d[a:code] 38 | else 39 | return ["Unknown", "Error code not found"] 40 | endif 41 | endfunction 42 | 43 | 44 | -------------------------------------------------------------------------------- /autoload/vimside/error.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " error.vim 3 | " 4 | " File: error.vim 5 | " Summary: Error maager for Vimside 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | let s:LOG = function("vimside#log#log") 14 | let s:ERROR = function("vimside#log#error") 15 | 16 | let s:errors = [] 17 | 18 | function! vimside#error#record(msg) 19 | echoerr a:msg 20 | let t = exists("*strftime") 21 | \ ? strftime("%Y%m%d-%H%M%S: ") 22 | \ : "" . localtime() . ": " 23 | all add(s:errors, t .': '. a:msg) 24 | endfunction 25 | 26 | function! vimside#error#get() 27 | return copy(s:errors) 28 | endfunction 29 | 30 | function! vimside#error#clear() 31 | let s:errors = [] 32 | endfunction 33 | -------------------------------------------------------------------------------- /autoload/vimside/log.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " log.vim 3 | " 4 | " File: log.vim 5 | " Summary: Logger for Vimside 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | 14 | if exists("g:vimside") 15 | 16 | let [s:found, s:log_file] = g:vimside.GetOption('vimside-log-file-path') 17 | if ! s:found 18 | echoerr "Option not found: " . 'vimside-log-file-path' 19 | endif 20 | let [s:found, s:log_file_use_pid] = g:vimside.GetOption('vimside-log-file-use-pid') 21 | if s:found 22 | if s:log_file_use_pid 23 | let s:log_file .= "_". getpid() 24 | endif 25 | else 26 | echoerr "Option not found: " . 'vimside-log-file-use-pid' 27 | endif 28 | 29 | let [s:found, s:log_enabled] = g:vimside.GetOption('vimside-log-enabled') 30 | if ! s:found 31 | echoerr "Option not found: " . 'vimside-log-enabled' 32 | endif 33 | 34 | function! vimside#log#log(msg) 35 | " TODO convert to load/optimize version of getting time 36 | if s:log_enabled 37 | let t = exists("*strftime") 38 | \ ? strftime("%Y%m%d-%H%M%S: ") 39 | \ : "" . localtime() . ": " 40 | 41 | execute "redir >> " . s:log_file 42 | silent echo "INFO: ". t . a:msg 43 | execute "redir END" 44 | endif 45 | endfunction 46 | 47 | function! vimside#log#warn(msg) 48 | " TODO convert to load/optimize version of getting time 49 | if s:log_enabled 50 | let t = exists("*strftime") 51 | \ ? strftime("%Y%m%d-%H%M%S: ") 52 | \ : "" . localtime() . ": " 53 | 54 | execute "redir >> " . s:log_file 55 | silent echo "WARN: ". t . a:msg 56 | execute "redir END" 57 | endif 58 | endfunction 59 | 60 | function! vimside#log#error(msg) 61 | " TODO convert to load/optimize version of getting time 62 | let t = exists("*strftime") 63 | \ ? strftime("%Y%m%d-%H%M%S: ") 64 | \ : "" . localtime() . ": " 65 | execute "redir >> " . s:log_file 66 | silent echo "ERROR: ". t . a:msg 67 | execute "redir END" 68 | endfunction 69 | 70 | else 71 | let s:CWD = getcwd() 72 | 73 | function! vimside#log#log(msg) 74 | execute "redir >> ". s:CWD ."/VS_LOG" 75 | silent echo "INFO: ". a:msg 76 | execute "redir END" 77 | endfunction 78 | 79 | function! vimside#log#warn(msg) 80 | execute "redir >> ". s:CWD ."/VS_LOG" 81 | silent echo "WARN: ". a:msg 82 | execute "redir END" 83 | endfunction 84 | 85 | function! vimside#log#error(msg) 86 | execute "redir >> ". s:CWD ."/VS_LOG" 87 | silent echo "ERROR: ". a:msg 88 | execute "redir END" 89 | endfunction 90 | endif 91 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/clear_all_java_notes.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " clear_all_java_notes.vim 3 | " 4 | " File: vimside#swank#event#clear_all_java_notes.vim 5 | " Summary: Vimside Event clear-all-java-notes 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | function! vimside#swank#event#clear_all_java_notes#Handle(...) 19 | if 0 " XXXX 20 | if a:0 != 0 21 | call s:ERROR("vimside#swank#event#clear_all_java_notes#Handle: has additional args=". string(a:000)) 22 | endif 23 | endif " XXXX 24 | 25 | call s:LOG("clear_all_java_notes#Handle") 26 | let g:vimside.project.java_notes = [] 27 | call vimside#quickfix#Close() 28 | endfunction 29 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/clear_all_scala_notes.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " clear_all_scala_notes.vim 3 | " 4 | " File: vimside#swank#event#clear_all_scala_notes.vim 5 | " Summary: Vimside Event clear-all-scala-notes 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | function! vimside#swank#event#clear_all_scala_notes#Handle(...) 19 | if 0 " XXXX 20 | if a:0 != 0 21 | call s:ERROR("vimside#swank#event#clear_all_scala_notes#Handle: has additional args=". string(a:000)) 22 | endif 23 | endif " XXXX 24 | 25 | call s:LOG("clear_all_scala_notes#Handle") 26 | let g:vimside.project.scala_notes = [] 27 | call vimside#quickfix#Close() 28 | endfunction 29 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/compiler_ready.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " compiler_ready.vim 3 | " 4 | " File: vimside#swank#event#compiler_ready.vim 5 | " Summary: Vimside Event compiler-ready 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | function! vimside#swank#event#compiler_ready#Handle(...) 19 | if a:0 != 0 20 | call s:ERROR("vimside#swank#event#compiler_ready#Handle: has additional args=". string(a:000)) 21 | endif 22 | call s:LOG("compiler_ready#Handle") 23 | 24 | let msg = "Compiler Ready..." 25 | call vimside#cmdline#Display(msg) 26 | endfunction 27 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/full_typecheck_finished.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " full_typecheck_finished.vim 3 | " 4 | " File: vimside#swank#event#full_typecheck_finished.vim 5 | " Summary: Vimside Event full-typecheck-finished 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | let [found, use_signs] = g:vimside.GetOption('tailor-full-typecheck-finished-use-signs') 18 | if found 19 | let s:full_typecheck_finished_use_signs = use_signs 20 | else 21 | let s:full_typecheck_finished_use_signs = 0 22 | endif 23 | 24 | function! vimside#swank#event#full_typecheck_finished#Handle(...) 25 | if a:0 != 0 26 | call s:ERROR("vimside#swank#event#full_typecheck_finished#Handle: has additional args=". string(a:000)) 27 | endif 28 | call s:LOG("full_typecheck_finished#Handle TOP") 29 | 30 | call vimside#command#show_errors_and_warning#Run("c") 31 | if 0 " REMOVE 32 | let entries = g:vimside.project.java_notes + g:vimside.project.scala_notes 33 | if len(entries) > 0 34 | call vimside#quickfix#Display(entries, s:full_typecheck_finished_use_signs) 35 | else 36 | let msg = "Full Typecheck Finished..." 37 | call vimside#cmdline#Display(msg) 38 | endif 39 | endif " REMOVE 40 | 41 | call s:LOG("full_typecheck_finished#Handle BOTTOM") 42 | endfunction 43 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/indexer_ready.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " indexer_ready.vim 3 | " 4 | " File: vimside#swank#event#indexer_ready.vim 5 | " Summary: Vimside Event indexer-ready 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | function! vimside#swank#event#indexer_ready#Handle(...) 19 | if a:0 != 0 20 | call s:ERROR("vimside#swank#event#indexer_ready#Handle: has additional args=". string(a:000)) 21 | endif 22 | call s:LOG("indexer_ready#Handle") 23 | 24 | let msg = "Indexer Ready..." 25 | call vimside#cmdline#Display(msg) 26 | " TODO record event info? 27 | endfunction 28 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/java_notes.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " java_notes.vim 3 | " 4 | " File: vimside#swank#event#java_notes.vim 5 | " Summary: Vimside Event java-notes 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | " 19 | " ( 20 | " is-full: Bool 21 | " notes: 22 | " ( 23 | " :severity //Symbol: One of 'error, 'warn, 'info. 24 | " :msg //String: Text of the compiler message. 25 | " :beg //Int: Zero-based offset of beginning of region 26 | " :end //Int: Zero-based offset of end of region 27 | " :line //Int: Line number of region 28 | " :col //Int: Column offset of region 29 | " :file //String: Filename of source file 30 | " ) 31 | " ) 32 | " 33 | " 34 | "(:scala-notes 35 | "(:is-full nil 36 | ":notes 37 | "( 38 | "(:severity error 39 | ":msg "com.megaanum.wicket.Component does not take type parameters" 40 | ":beg 283 41 | ":end 292 42 | " :line 13 43 | " :col 32 44 | " :file "/home/emberson/.vim/data/vimside/src/main/scala/com/megaanum/wicket/DispatchToAnnotatedMethod.scala") 45 | " ))) 46 | 47 | function! vimside#swank#event#java_notes#Handle(...) 48 | if a:0 != 1 49 | call s:ERROR("java_notes#Handle Bad =". string(a:000)) 50 | return 51 | endif 52 | call s:LOG("java_notes#Handle=". string(a:1)) 53 | let [ok, dic] = vimside#sexp#Convert_KeywordValueList2Dictionary(a:1) 54 | if !ok 55 | call s:ERROR("java_notes#Handle failure to list dict: ". dic) 56 | return 57 | endif 58 | 59 | let is_full = dic[':is-full'] 60 | let notelist = dic[':notes'] 61 | 62 | " Quickfix 63 | " { 64 | " 'filename': '' 65 | " 'lnum': 4 66 | " 'pattern' : not needed if lnum is present 67 | " 'col': 4 optional 68 | " 'text': line optional 69 | " 'kind': severity 70 | " 'vcol': 1 optional 71 | " 'type': 'a' optional 'a' add, 'r' replace 72 | " 'nr': 1 optional 73 | " } 74 | for note in notelist 75 | let severity = note[':severity'] 76 | let msg = note[':msg'] 77 | let file = note[':file'] 78 | let line = note[':line'] 79 | let col = note[':col'] 80 | let nr = len(g:vimside.project.java_notes)+1 81 | 82 | let jnote = { 83 | \ 'filename': file, 84 | \ 'lnum': line, 85 | \ 'col': col, 86 | \ 'text': severity .": ". msg, 87 | \ 'kind': severity, 88 | \ 'vcol': 1, 89 | \ 'type': 'a', 90 | \ 'nr': nr, 91 | \ } 92 | call add(g:vimside.project.java_notes, jnote) 93 | endfor 94 | 95 | let no_java_notes = empty(g:vimside.project.java_notes) 96 | let no_scala_notes = empty(g:vimside.project.scala_notes) 97 | if ! no_scala_notes || ! no_java_notes 98 | let msg = "Scala/Java errors and warnings" 99 | call vimside#cmdline#Display(msg) 100 | endif 101 | 102 | endfunction 103 | -------------------------------------------------------------------------------- /autoload/vimside/swank/event/scala_notes.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " scala_notes.vim 3 | " 4 | " File: vimside#swank#event#scala_notes.vim 5 | " Summary: Vimside Event scala-notes 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " ============================================================================ 13 | 14 | let s:LOG = function("vimside#log#log") 15 | let s:ERROR = function("vimside#log#error") 16 | 17 | 18 | function! vimside#swank#event#scala_notes#Handle(...) 19 | if a:0 != 1 20 | call s:ERROR("scala_notes#Handle Bad =". string(a:000)) 21 | return 22 | endif 23 | call s:LOG("scala_notes#Handle=". string(a:1)) 24 | let [ok, dic] = vimside#sexp#Convert_KeywordValueList2Dictionary(a:1) 25 | if !ok 26 | call s:ERROR("scala_notes#Handle failure to list dict: ". dic) 27 | return 28 | endif 29 | 30 | let is_full = dic[':is-full'] 31 | let notelist = dic[':notes'] 32 | 33 | " Quickfix 34 | " { 35 | " 'filename': '' 36 | " 'lnum': 4 37 | " 'pattern' : not needed if lnum is present 38 | " 'col': 4 optional 39 | " 'text': line optional 40 | " 'kind': severity 41 | " 'vcol': 1 optional 42 | " 'type': 'a' optional 'a' add, 'r' replace 43 | " 'nr': 1 optional 44 | " } 45 | for note in notelist 46 | let severity = note[':severity'] 47 | let msg = note[':msg'] 48 | let file = note[':file'] 49 | let line = note[':line'] 50 | let col = note[':col'] 51 | let nr = len(g:vimside.project.scala_notes)+1 52 | 53 | let snote = { 54 | \ 'filename': file, 55 | \ 'lnum': line, 56 | \ 'col': col, 57 | \ 'text': severity .": ". msg, 58 | \ 'kind': severity, 59 | \ 'vcol': 1, 60 | \ 'type': 'a', 61 | \ 'nr': nr, 62 | \ } 63 | call add(g:vimside.project.scala_notes, snote) 64 | endfor 65 | 66 | let no_java_notes = empty(g:vimside.project.java_notes) 67 | let no_scala_notes = empty(g:vimside.project.scala_notes) 68 | if ! no_scala_notes || ! no_java_notes 69 | let msg = "Scala/Java errors and warnings" 70 | call vimside#cmdline#Display(msg) 71 | endif 72 | 73 | endfunction 74 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/builder_add_files.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " builder_add_files.vim 3 | " 4 | " File: vimside#swank#rpc#builder_add_files.vim 5 | " Summary: Vimside RPC builder-add-files 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Signal to the incremental builder that the given files should be added to 13 | " the build. Triggers rebuild. 14 | " 15 | " Arguments: 16 | " List of Strings:Filenames, absolute or relative to the project root. 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:builder-add-files 21 | " ("/ensime/src/main/scala/org/ensime/server/Analyzer.scala")) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " (t) 26 | " 42)) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#builder_add_files#Run(...) 36 | call s:LOG("builder_add_files TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-add-files-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-add-files-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("builder_add_files BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:BuilderAddFilesCaller(args) 56 | let cmd = "swank:builder-add-files" 57 | 58 | return '('. cmd .')' 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Handlers 64 | "====================================================================== 65 | 66 | " List of 67 | " () 68 | 69 | function! g:BuilderAddFilesHandler() 70 | 71 | function! g:BuilderAddFilesHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:BuilderAddFilesHandler_Ok(dic, ...) 76 | let dic = a:dic 77 | call s:LOG("BuilderAddFilesHandler_Ok dic=". string(dic)) 78 | 79 | let l:pid = dic[':pid'] 80 | 81 | return 1 82 | endfunction 83 | 84 | return { 85 | \ 'abort': function("g:BuilderAddFilesHandler_Abort"), 86 | \ 'ok': function("g:BuilderAddFilesHandler_Ok") 87 | \ } 88 | endfunction 89 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/builder_init.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " builder_init.vim 3 | " 4 | " File: vimside#swank#rpc#builder_init.vim 5 | " Summary: Vimside RPC builder-init 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Initialize the incremental builder and kick off a full rebuild. 13 | " 14 | " Arguments: None 15 | " 16 | " Example: 17 | " 18 | " (:swank-rpc (swank:builder-init) 42) 19 | " 20 | " (:return 21 | " (:ok 22 | " (t) 23 | " 42)) 24 | " ============================================================================ 25 | 26 | let s:LOG = function("vimside#log#log") 27 | let s:ERROR = function("vimside#log#error") 28 | 29 | " 30 | 31 | " public API 32 | function! vimside#swank#rpc#builder_init#Run(...) 33 | call s:LOG("builder_init TOP") 34 | 35 | if ! exists("s:Handler") 36 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-init-handler') 37 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-init-caller') 38 | endif 39 | 40 | let l:args = { } 41 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 42 | call vimside#ensime#swank#dispatch(l:rr) 43 | 44 | call s:LOG("builder_init BOTTOM") 45 | endfunction 46 | 47 | 48 | "====================================================================== 49 | " Vimside Callers 50 | "====================================================================== 51 | 52 | function! g:BuilderInitCaller(args) 53 | let cmd = "swank:builder-init" 54 | 55 | return '('. cmd .')' 56 | endfunction 57 | 58 | 59 | "====================================================================== 60 | " Vimside Handlers 61 | "====================================================================== 62 | 63 | function! g:BuilderInitHandler() 64 | 65 | function! g:BuilderInitHandler_Abort(code, details, ...) 66 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 67 | endfunction 68 | 69 | function! g:BuilderInitHandler_Ok(dic, ...) 70 | let dic = a:dic 71 | call s:LOG("BuilderInitHandler_Ok dic=". string(dic)) 72 | return 1 73 | endfunction 74 | 75 | return { 76 | \ 'abort': function("g:BuilderInitHandler_Abort"), 77 | \ 'ok': function("g:BuilderInitHandler_Ok") 78 | \ } 79 | endfunction 80 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/builder_remove_files.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " builder_remove_files.vim 3 | " 4 | " File: vimside#swank#rpc#builder_remove_files.vim 5 | " Summary: Vimside RPC builder-remove-files 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Signal to the incremental builder that the given files should be removed 13 | " from the build. Triggers rebuild. 14 | " 15 | " Arguments: 16 | " List of Strings:Filenames, absolute or relative to the project root. 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:builder-remove-files 21 | " ("/ensime/src/main/scala/org/ensime/server/Analyzer.scala")) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " () 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#builder_remove_files#Run(...) 36 | call s:LOG("builder_remove_files TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-remove-files-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-remove-files-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("builder_remove_files BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:BuilderRemoveFilesCaller(args) 56 | let cmd = "swank:builder-remove-files" 57 | 58 | return '('. cmd .')' 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Handlers 64 | "====================================================================== 65 | 66 | function! g:BuilderRemoveFilesHandler() 67 | 68 | function! g:BuilderRemoveFilesHandler_Abort(code, details, ...) 69 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 70 | endfunction 71 | 72 | function! g:BuilderRemoveFilesHandler_Ok(dic, ...) 73 | let dic = a:dic 74 | call s:LOG("BuilderRemoveFilesHandler_Ok dic=". string(dic)) 75 | 76 | let l:pid = dic[':pid'] 77 | 78 | return 1 79 | endfunction 80 | 81 | return { 82 | \ 'abort': function("g:BuilderRemoveFilesHandler_Abort"), 83 | \ 'ok': function("g:BuilderRemoveFilesHandler_Ok") 84 | \ } 85 | endfunction 86 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/builder_update_files.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " builder_update_files.vim 3 | " 4 | " File: vimside#swank#rpc#builder_update_files.vim 5 | " Summary: Vimside RPC builder-update-files 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Signal to the incremental builder that the given files have changed and 13 | " must be rebuilt. Triggers rebuild. 14 | " 15 | " Arguments: 16 | " List of Strings:Filenames, absolute or relative to the project root. 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:builder-update-files 21 | " ("/ensime/src/main/scala/org/ensime/server/Analyzer.scala")) 22 | " 42) 23 | " 24 | " 25 | " (:return 26 | " (:ok 27 | " () 28 | " 42) 29 | " 30 | " ============================================================================ 31 | 32 | let s:LOG = function("vimside#log#log") 33 | let s:ERROR = function("vimside#log#error") 34 | 35 | 36 | " public API 37 | function! vimside#swank#rpc#builder_update_files#Run(...) 38 | call s:LOG("builder_update_files TOP") 39 | 40 | if ! exists("s:Handler") 41 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-update-files-handler') 42 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-builder-update-files-caller') 43 | endif 44 | 45 | let l:args = { } 46 | let l:args['files'] = [] 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("builder_update_files BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:BuilderUpdateFilesCaller(args) 59 | let cmd = "swank:builder-update-files" 60 | let files = a:args.files 61 | call s:LOG("g:BuilderUpdateFilesCaller: files=". string(files)) 62 | 63 | let flen = len(files) 64 | let cnt = 0 65 | let fs = '(' 66 | while cnt < flen 67 | let fs .= '"' 68 | let fs .= files[cnt] 69 | let fs .= '"' 70 | if cnt+1 != flen 71 | let fs .= ' ' 72 | endif 73 | 74 | let cnt += 1 75 | endwhile 76 | let fs .= ')' 77 | 78 | return '('. cmd .' '. fs .')' 79 | endfunction 80 | 81 | 82 | "====================================================================== 83 | " Vimside Handlers 84 | "====================================================================== 85 | 86 | function! g:BuilderUpdateFilesHandler() 87 | 88 | function! g:BuilderUpdateFilesHandler_Abort(code, details, ...) 89 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 90 | endfunction 91 | 92 | function! g:BuilderUpdateFilesHandler_Ok(dic, ...) 93 | let dic = a:dic 94 | call s:LOG("BuilderUpdateFilesHandler_Ok dic=". string(dic)) 95 | 96 | return 1 97 | endfunction 98 | 99 | return { 100 | \ 'abort': function("g:BuilderUpdateFilesHandler_Abort"), 101 | \ 'ok': function("g:BuilderUpdateFilesHandler_Ok") 102 | \ } 103 | endfunction 104 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/call_completion.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " call_completion.vim 3 | " 4 | " File: vimside#swank#rpc#call_completion.vim 5 | " Summary: Vimside RPC call-completion 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " 13 | " Lookup the type information of a specific method or function type. This is 14 | " used by ENSIME to retrieve detailed parameter and return type information 15 | " after the user has selected a method or function completion. 16 | " 17 | " Arguments: 18 | " Int:A type id, as returned by swank:scope-completion or swank:type-completion. 19 | " Return: 20 | " A CallCompletionInfo 21 | " 22 | " Example: 23 | " 24 | " (:return 25 | " (:ok 26 | " (:result-type (:name "Unit" :type-id 7 :full-name 27 | " "scala.Unit" :decl-as class) :param-sections ((:params (("id" 28 | " (:name "Int" :type-id 74 :full-name "scala.Int" :decl-as class)) 29 | " ("callId" (:name "Int" :type-id 74 :full-name "scala.Int" 30 | " :decl-as class)))))) 31 | " 42)) 32 | " 33 | " ============================================================================ 34 | 35 | let s:LOG = function("vimside#log#log") 36 | let s:ERROR = function("vimside#log#error") 37 | 38 | 39 | " public API 40 | function! vimside#swank#rpc#call_completion#Run(...) 41 | call s:LOG("call_completion TOP") 42 | 43 | if ! exists("s:Handler") 44 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-call-completion-handler') 45 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-call-completion-caller') 46 | endif 47 | 48 | let l:args = { } 49 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 50 | call vimside#ensime#swank#dispatch(l:rr) 51 | 52 | call s:LOG("call_completion BOTTOM") 53 | endfunction 54 | 55 | 56 | "====================================================================== 57 | " Vimside Callers 58 | "====================================================================== 59 | 60 | function! g:CallCompletionCaller(args) 61 | let cmd = "swank:call-completion" 62 | 63 | return '('. cmd .')' 64 | endfunction 65 | 66 | 67 | "====================================================================== 68 | " Vimside Handlers 69 | "====================================================================== 70 | 71 | function! g:CallCompletionHandler() 72 | 73 | function! g:CallCompletionHandler_Abort(code, details, ...) 74 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 75 | endfunction 76 | 77 | function! g:CallCompletionHandler_Ok(dic, ...) 78 | let dic = a:dic 79 | call s:LOG("CallCompletionHandler_Ok dic=". string(dic)) 80 | 81 | let l:pid = dic[':pid'] 82 | 83 | return 1 84 | endfunction 85 | 86 | return { 87 | \ 'abort': function("g:CallCompletionHandler_Abort"), 88 | \ 'ok': function("g:CallCompletionHandler_Ok") 89 | \ } 90 | endfunction 91 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/cancel_refactor.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " cancelc_refactor.vim 3 | " 4 | " File: vimside#swank#rpc#cancelc_refactor.vim 5 | " Summary: Vimside RPC cancelc-refactor 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Cancel a refactor that's been performed but not executed. 13 | " Arguments: 14 | " Int:Procedure Id of the refactoring. 15 | " Return: None 16 | " 17 | " Example: 18 | " 19 | " (:swank-rpc (swank:cancel-refactor 1) 42) 20 | " 21 | " (:return 22 | " (:ok r) 23 | " 42) 24 | " 25 | " ============================================================================ 26 | 27 | let s:LOG = function("vimside#log#log") 28 | let s:ERROR = function("vimside#log#error") 29 | 30 | 31 | " public API 32 | function! vimside#swank#rpc#cancelc_refactor#Run(...) 33 | call s:LOG("cancelc_refactor TOP") 34 | 35 | if ! exists("s:Handler") 36 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-cancelc-refactor-handler') 37 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-cancelc-refactor-caller') 38 | endif 39 | 40 | let l:args = { } 41 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 42 | call vimside#ensime#swank#dispatch(l:rr) 43 | 44 | call s:LOG("cancelc_refactor BOTTOM") 45 | endfunction 46 | 47 | 48 | "====================================================================== 49 | " Vimside Callers 50 | "====================================================================== 51 | 52 | function! g:CancelRefactorCaller(args) 53 | let cmd = "swank:cancelc-refactor" 54 | 55 | return '('. cmd .')' 56 | endfunction 57 | 58 | 59 | "====================================================================== 60 | " Vimside Handlers 61 | "====================================================================== 62 | 63 | function! g:CancelRefactorHandler() 64 | 65 | function! g:CancelRefactorHandler_Abort(code, details, ...) 66 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 67 | endfunction 68 | 69 | function! g:CancelRefactorHandler_Ok(dic, ...) 70 | let dic = a:dic 71 | call s:LOG("CancelRefactorHandler_Ok dic=". string(dic)) 72 | 73 | let l:pid = dic[':pid'] 74 | 75 | return 1 76 | endfunction 77 | 78 | return { 79 | \ 'abort': function("g:CancelRefactorHandler_Abort"), 80 | \ 'ok': function("g:CancelRefactorHandler_Ok") 81 | \ } 82 | endfunction 83 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/connection_info.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " conection_info.vim 3 | " 4 | " File: vimside#swank#rpc#conection_info.vim 5 | " Summary: Vimside RPC conection-info 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request connection information. 13 | " 14 | " Example: 15 | " 16 | " (:swank-rpc (swank:connection-info) 42) 17 | " 18 | " (:return 19 | " (:ok 20 | " (:pid nil :implementation (:name "ENSIME - Reference "Server") :version "0.7") 21 | " ) 22 | " 42) 23 | " 24 | " with this version of Ensime, :pid is always nil 25 | " ============================================================================ 26 | 27 | let s:LOG = function("vimside#log#log") 28 | let s:ERROR = function("vimside#log#error") 29 | 30 | 31 | " public API 32 | function! vimside#swank#rpc#connection_info#Run(...) 33 | call s:LOG("ConnectionInfo TOP") 34 | 35 | if ! exists("s:Handler") 36 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-connection-info-handler') 37 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-connection-info-caller') 38 | endif 39 | 40 | let l:args = { } 41 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 42 | call vimside#ensime#swank#dispatch(l:rr) 43 | 44 | call s:LOG("ConnectionInfo BOTTOM") 45 | endfunction 46 | 47 | 48 | "====================================================================== 49 | " Vimside Callers 50 | "====================================================================== 51 | 52 | function! g:ConnectionInfoCaller(args) 53 | let cmd = "swank:connection-info" 54 | 55 | return '('. cmd .')' 56 | endfunction 57 | 58 | 59 | "====================================================================== 60 | " Vimside Handlers 61 | "====================================================================== 62 | 63 | function! g:ConnectionInfoHandler() 64 | 65 | function! g:ConnectionInfoHandler_Abort(code, details, ...) 66 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 67 | endfunction 68 | 69 | function! g:ConnectionInfoHandler_Ok(dic, ...) 70 | let dic = a:dic 71 | call s:LOG("ConnectionInfoHandler_Ok dic=". string(dic)) 72 | 73 | let l:pid = dic[':pid'] 74 | let l:impl = dic[':implementation'] 75 | let l:name = l:impl[':name'] 76 | let l:version = dic[':version'] 77 | 78 | let g:vimside.ensime.info['pid'] = l:pid 79 | let g:vimside.ensime.info['name'] = l:name 80 | let g:vimside.ensime.info['version'] = l:version 81 | 82 | let msg = l:name . ' ' . l:version 83 | call vimside#cmdline#Display(msg) 84 | 85 | return 1 86 | 87 | endfunction 88 | 89 | return { 90 | \ 'abort': function("g:ConnectionInfoHandler_Abort"), 91 | \ 'ok': function("g:ConnectionInfoHandler_Ok") 92 | \ } 93 | endfunction 94 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_active_vm.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_active_vm.vim 3 | " 4 | " File: vimside#swank#rpc#debug_active_vm.vim 5 | " Summary: Vimside RPC debug-active-vm 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Is a there an active vm? if so return a description. 13 | " 14 | " Arguments: None 15 | " 16 | " Return: 17 | " Nil | A short description of the current vm. 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:debug-active-vm) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " nil or "a description") 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#debug_active_vm#Run(...) 36 | call s:LOG("debug_active_vm TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-active-vm-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-active-vm-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("debug_active_vm BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:DebugActiveVMCaller(args) 56 | let cmd = "swank:debug-active-vm" 57 | 58 | return '('. cmd .')' 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Handlers 64 | "====================================================================== 65 | 66 | function! g:DebugActiveVMHandler() 67 | 68 | function! g:DebugActiveVMHandler_Abort(code, details, ...) 69 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 70 | endfunction 71 | 72 | function! g:DebugActiveVMHandler_Ok(dic, ...) 73 | let dic = a:dic 74 | call s:LOG("DebugActiveVMHandler_Ok dic=". string(dic)) 75 | 76 | let l:pid = dic[':pid'] 77 | 78 | return 1 79 | endfunction 80 | 81 | return { 82 | \ 'abort': function("g:DebugActiveVMHandler_Abort"), 83 | \ 'ok': function("g:DebugActiveVMHandler_Ok") 84 | \ } 85 | endfunction 86 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_attach.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_attach.vim 3 | " 4 | " File: vimside#swank#rpc#debug_attach.vim 5 | " Summary: Vimside RPC debug-attach 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Start a new debug session on a target vm. 13 | " 14 | " Arguments: 15 | " String: The hostname of the vm 16 | " String: The debug port of the vm 17 | " Return: None 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:debug-attach "localhost" "9000") 42) 22 | " 23 | " (:return 24 | " (:ok t) 25 | " 42) 26 | " 27 | " ============================================================================ 28 | 29 | let s:LOG = function("vimside#log#log") 30 | let s:ERROR = function("vimside#log#error") 31 | 32 | 33 | " public API 34 | function! vimside#swank#rpc#debug_attach#Run(...) 35 | call s:LOG("debug_attach TOP") 36 | 37 | if ! exists("s:Handler") 38 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-attach-handler') 39 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-attach-caller') 40 | endif 41 | 42 | let l:args = { } 43 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 44 | call vimside#ensime#swank#dispatch(l:rr) 45 | 46 | call s:LOG("debug_attach BOTTOM") 47 | endfunction 48 | 49 | 50 | "====================================================================== 51 | " Vimside Callers 52 | "====================================================================== 53 | 54 | function! g:DebugAttachCaller(args) 55 | let cmd = "swank:debug-attach" 56 | let hostname = a:args.hostname 57 | let port = a:args.port 58 | 59 | return '('. cmd .' "'. hostname .'" "'. port .'")' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:DebugAttachHandler() 68 | 69 | function! g:DebugAttachHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:DebugAttachHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("DebugAttachHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:DebugAttachHandler_Abort"), 84 | \ 'ok': function("g:DebugAttachHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_backtrace.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_backtrace.vim 3 | " 4 | " File: vimside#swank#rpc#debug_backtrace.vim 5 | " Summary: Vimside RPC debug-backtrace 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Get a detailed backtrace for the given thread 13 | " 14 | " Arguments: 15 | " String: The unique id of the thread. 16 | " Int: The index of the first frame to list. The 0th frame is the 17 | " currently executing frame. 18 | " Int: The number of frames to return. -1 denotes _all_ frames. 19 | " 20 | " Return: 21 | " A DebugBacktrace 22 | " 23 | " 24 | " Example: 25 | " 26 | " (:swank-rpc (swank:debug-backtrace "23" 0 2) 42) 27 | " 28 | " (:return 29 | " (:ok 30 | " (:frames () :thread-id "23" :thread-name "main")) 31 | " 42) 32 | " 33 | " ============================================================================ 34 | 35 | let s:LOG = function("vimside#log#log") 36 | let s:ERROR = function("vimside#log#error") 37 | 38 | 39 | " public API 40 | function! vimside#swank#rpc#debug_backtrace#Run(....) 41 | call s:LOG("debug_backtrace TOP") 42 | 43 | if ! exists("s:Handler") 44 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-backtrace-handler') 45 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-backtrace-caller') 46 | endif 47 | 48 | let l:args = { } 49 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 50 | call vimside#ensime#swank#dispatch(l:rr) 51 | 52 | call s:LOG("debug_backtrace BOTTOM") 53 | endfunction 54 | 55 | 56 | "====================================================================== 57 | " Vimside Callers 58 | "====================================================================== 59 | 60 | function! g:DebugBacktraceCaller(args) 61 | let cmd = "swank:debug-backtrace" 62 | let active_thread_id = a:args.active_thread_id 63 | let index = a:args.index 64 | let number_to_return = a:args.number_to_return 65 | 66 | " (:swank-rpc (swank:debug-backtrace "23" 0 2) 42) 67 | return '('. cmd .' "'. active_thread_id .'" '.index.' '.number_to_return.')' 68 | endfunction 69 | 70 | 71 | "====================================================================== 72 | " Vimside Handlers 73 | "====================================================================== 74 | 75 | function! g:DebugBacktraceHandler() 76 | 77 | function! g:DebugBacktraceHandler_Abort(code, details, ...) 78 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 79 | endfunction 80 | 81 | function! g:DebugBacktraceHandler_Ok(dic, ...) 82 | let dic = a:dic 83 | call s:LOG("DebugBacktraceHandler_Ok dic=". string(dic)) 84 | 85 | let l:pid = dic[':pid'] 86 | 87 | return 1 88 | endfunction 89 | 90 | return { 91 | \ 'abort': function("g:DebugBacktraceHandler_Abort"), 92 | \ 'ok': function("g:DebugBacktraceHandler_Ok") 93 | \ } 94 | endfunction 95 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_clear_all_breaks.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_clear_all_breaks.vim 3 | " 4 | " File: vimside#swank#rpc#debug_clear_all_breaks.vim 5 | " Summary: Vimside RPC debug-clear-all-breaks 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Clear all breakpoints 13 | " 14 | " Arguments: None 15 | " 16 | " Return: None 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:debug-clear-all-breaks) 42) 21 | " 22 | " (:return 23 | " (:ok t) 24 | " 42) 25 | " 26 | " ============================================================================ 27 | 28 | let s:LOG = function("vimside#log#log") 29 | let s:ERROR = function("vimside#log#error") 30 | 31 | 32 | " public API 33 | function! vimside#swank#rpc#debug_clear_all_breaks#Run(...) 34 | call s:LOG("debug_clear_all_breaks TOP") 35 | 36 | if ! exists("s:Handler") 37 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-clear-all-breaks-handler') 38 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-clear-all-breaks-caller') 39 | endif 40 | 41 | let l:args = { } 42 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 43 | call vimside#ensime#swank#dispatch(l:rr) 44 | 45 | call s:LOG("debug_clear_all_breaks BOTTOM") 46 | endfunction 47 | 48 | 49 | "====================================================================== 50 | " Vimside Callers 51 | "====================================================================== 52 | 53 | function! g:DebugClearAllBreaksCaller(args) 54 | let cmd = "swank:debug-clear-all-breaks" 55 | 56 | return '('. cmd .')' 57 | endfunction 58 | 59 | 60 | "====================================================================== 61 | " Vimside Handlers 62 | "====================================================================== 63 | 64 | function! g:DebugClearAllBreaksHandler() 65 | 66 | function! g:DebugClearAllBreaksHandler_Abort(code, details, ...) 67 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 68 | endfunction 69 | 70 | function! g:DebugClearAllBreaksHandler_Ok(dic, ...) 71 | let dic = a:dic 72 | call s:LOG("DebugClearAllBreaksHandler_Ok dic=". string(dic)) 73 | 74 | let l:pid = dic[':pid'] 75 | 76 | return 1 77 | endfunction 78 | 79 | return { 80 | \ 'abort': function("g:DebugClearAllBreaksHandler_Abort"), 81 | \ 'ok': function("g:DebugClearAllBreaksHandler_Ok") 82 | \ } 83 | endfunction 84 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_clear_break.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_clear_break.vim 3 | " 4 | " File: vimside#swank#rpc#debug_clear_break.vim 5 | " Summary: Vimside RPC debug-clear-break 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Clear a breakpoint 13 | " 14 | " Arguments: 15 | " String:The file from which to clear the breakpoint. 16 | " Int:The breakpoint line. 17 | " 18 | " Return: None 19 | " 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:debug-clear "hello.scala" 12) 42) 24 | " 25 | " (:return 26 | " (:ok t) 27 | " 42) 28 | " 29 | " ============================================================================ 30 | 31 | let s:LOG = function("vimside#log#log") 32 | let s:ERROR = function("vimside#log#error") 33 | 34 | 35 | 36 | " public API 37 | function! vimside#swank#rpc#debug_clear_break#Run(...) 38 | call s:LOG("debug_clear_break TOP") 39 | 40 | if ! exists("s:Handler") 41 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-clear-break-handler') 42 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-clear-break-caller') 43 | endif 44 | 45 | let l:args = { } 46 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 47 | call vimside#ensime#swank#dispatch(l:rr) 48 | 49 | call s:LOG("debug_clear_break BOTTOM") 50 | endfunction 51 | 52 | 53 | "====================================================================== 54 | " Vimside Callers 55 | "====================================================================== 56 | 57 | function! g:DebugClearBreakCaller(args) 58 | let cmd = "swank:debug-clear-break" 59 | let filename = a:args.filename 60 | let line = a:args.line 61 | 62 | return '('. cmd .' "'. filename .'" '. line .')' 63 | endfunction 64 | 65 | 66 | "====================================================================== 67 | " Vimside Handlers 68 | "====================================================================== 69 | 70 | function! g:DebugClearBreakHandler() 71 | 72 | function! g:DebugClearBreakHandler_Abort(code, details, ...) 73 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 74 | endfunction 75 | 76 | function! g:DebugClearBreakHandler_Ok(dic, ...) 77 | let dic = a:dic 78 | call s:LOG("DebugClearBreakHandler_Ok dic=". string(dic)) 79 | 80 | let l:pid = dic[':pid'] 81 | 82 | return 1 83 | endfunction 84 | 85 | return { 86 | \ 'abort': function("g:DebugClearBreakHandler_Abort"), 87 | \ 'ok': function("g:DebugClearBreakHandler_Ok") 88 | \ } 89 | endfunction 90 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_continue.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_continue.vim 3 | " 4 | " File: vimside#swank#rpc#debug_continue.vim 5 | " Summary: Vimside RPC debug-continue 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Resume execution of the VM. 13 | " 14 | " Arguments: 15 | " String:The thread-id to continue. 16 | " 17 | " Return: None 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:debug-continue "1") 42) 22 | " 23 | " (:return 24 | " (:ok t) 25 | " 42) 26 | " 27 | " ============================================================================ 28 | 29 | let s:LOG = function("vimside#log#log") 30 | let s:ERROR = function("vimside#log#error") 31 | 32 | 33 | " public API 34 | function! vimside#swank#rpc#debug_continue#Run(...) 35 | call s:LOG("debug_continue TOP") 36 | 37 | if ! exists("s:Handler") 38 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-continue-handler') 39 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-continue-caller') 40 | endif 41 | 42 | let l:args = { } 43 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 44 | call vimside#ensime#swank#dispatch(l:rr) 45 | 46 | call s:LOG("debug_continue BOTTOM") 47 | endfunction 48 | 49 | 50 | "====================================================================== 51 | " Vimside Callers 52 | "====================================================================== 53 | 54 | function! g:DebugContinueCaller(args) 55 | let cmd = "swank:debug-continue" 56 | let active_thread_id = a:args.active_thread_id 57 | 58 | return '('. cmd .' "'. active_thread_id .'")' 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Handlers 64 | "====================================================================== 65 | 66 | function! g:DebugContinueHandler() 67 | 68 | function! g:DebugContinueHandler_Abort(code, details, ...) 69 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 70 | endfunction 71 | 72 | function! g:DebugContinueHandler_Ok(dic, ...) 73 | let dic = a:dic 74 | call s:LOG("DebugContinueHandler_Ok dic=". string(dic)) 75 | 76 | let l:pid = dic[':pid'] 77 | 78 | return 1 79 | endfunction 80 | 81 | return { 82 | \ 'abort': function("g:DebugContinueHandler_Abort"), 83 | \ 'ok': function("g:DebugContinueHandler_Ok") 84 | \ } 85 | endfunction 86 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_list_breakpoints.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_list_breakpoints.vim 3 | " 4 | " File: vimside#swank#rpc#debug_list_breakpoints.vim 5 | " Summary: Vimside RPC debug-list-breakpoints 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Get a list of all breakpoints set so far. 13 | " 14 | " Arguments: None 15 | " 16 | " Return: 17 | " List of Position:A list of positions 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:debug-list-breakpoints) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " (:file "hello.scala" :line 1) 26 | " (:file "hello.scala" :line 23)) 27 | " 42) 28 | " 29 | " ============================================================================ 30 | 31 | let s:LOG = function("vimside#log#log") 32 | let s:ERROR = function("vimside#log#error") 33 | 34 | 35 | " public API 36 | function! vimside#swank#rpc#debug_list_breakpoints#Run(...) 37 | call s:LOG("debug_list_breakpoints TOP") 38 | 39 | if ! exists("s:Handler") 40 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-list-breakpoints-handler') 41 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-list-breakpoints-caller') 42 | endif 43 | 44 | let l:args = { } 45 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 46 | call vimside#ensime#swank#dispatch(l:rr) 47 | 48 | call s:LOG("debug_list_breakpoints BOTTOM") 49 | endfunction 50 | 51 | 52 | "====================================================================== 53 | " Vimside Callers 54 | "====================================================================== 55 | 56 | function! g:DebugListBreakpointsCaller(args) 57 | let cmd = "swank:debug-list-breakpoints" 58 | 59 | return '('. cmd .')' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:DebugListBreakpointsHandler() 68 | 69 | function! g:DebugListBreakpointsHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:DebugListBreakpointsHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("DebugListBreakpointsHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:DebugListBreakpointsHandler_Abort"), 84 | \ 'ok': function("g:DebugListBreakpointsHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_locate_name.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_locate_name.vim 3 | " 4 | " File: vimside#swank#rpc#debug_locate_name.vim 5 | " Summary: Vimside RPC debug-locate-name 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Get the binding location for the given name at this point in the program's 13 | " execution. 14 | " 15 | " Arguments: 16 | " String: The thread-id in which to search. 17 | " String: The name to search for. 18 | " 19 | " Return: 20 | " A DebugLocation 21 | " 22 | " Example: 23 | " 24 | " (:swank-rpc (swank:debug-locate-name "thread-2" "apple") 42) 25 | " 26 | " (:return 27 | " (:ok 28 | " (:slot :thread-id "thread-2" :frame 2 :offset 0)) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#debug_locate_name#Run(...) 39 | call s:LOG("debug_locate_name TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-locate-name-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-locate-name-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("debug_locate_name BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:DebugLocateNameCaller(args) 59 | let cmd = "swank:debug-locate-name" 60 | let thread_id = a:args.thread_id 61 | let name = a:args.name 62 | 63 | return '('. cmd '"'. thread_id .'" "'.name.'")' 64 | endfunction 65 | 66 | 67 | "====================================================================== 68 | " Vimside Handlers 69 | "====================================================================== 70 | 71 | function! g:DebugLocateNameHandler() 72 | 73 | function! g:DebugLocateNameHandler_Abort(code, details, ...) 74 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 75 | endfunction 76 | 77 | function! g:DebugLocateNameHandler_Ok(dic, ...) 78 | let dic = a:dic 79 | call s:LOG("DebugLocateNameHandler_Ok dic=". string(dic)) 80 | 81 | let l:pid = dic[':pid'] 82 | 83 | return 1 84 | endfunction 85 | 86 | return { 87 | \ 'abort': function("g:DebugLocateNameHandler_Abort"), 88 | \ 'ok': function("g:DebugLocateNameHandler_Ok") 89 | \ } 90 | endfunction 91 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_next.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_next.vim 3 | " 4 | " File: vimside#swank#rpc#debug_next.vim 5 | " Summary: Vimside RPC debug-next 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Step the given thread to the next line. Do not step into function calls. 13 | " 14 | " Arguments: 15 | " String:The thread-id to step. 16 | " 17 | " Return: None 18 | " 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:debug-next "982398123") 42) 23 | " 24 | " (:return 25 | " (:ok t) 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#debug_next#Run(...) 36 | call s:LOG("debug_next TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-next-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-next-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("debug_next BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:DebugNextCaller(args) 56 | let cmd = "swank:debug-next" 57 | let active_thread_id = a:args.active_thread_id 58 | 59 | return '('. cmd .' "'. active_thread_id .'")' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:DebugNextHandler() 68 | 69 | function! g:DebugNextHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:DebugNextHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("DebugNextHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:DebugNextHandler_Abort"), 84 | \ 'ok': function("g:DebugNextHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_run.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_run.vim 3 | " 4 | " File: vimside#swank#rpc#debug_run.vim 5 | " Summary: Vimside RPC debug-run 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Resume execution of the VM. 13 | " 14 | " Arguments: None 15 | " 16 | " Return: None 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:debug-run) 42) 21 | " 22 | " (:return 23 | " (:ok t) 24 | " 42) 25 | " 26 | " ============================================================================ 27 | 28 | let s:LOG = function("vimside#log#log") 29 | let s:ERROR = function("vimside#log#error") 30 | 31 | 32 | " public API 33 | function! vimside#swank#rpc#debug_run#Run(...) 34 | call s:LOG("debug_run TOP") 35 | 36 | if ! exists("s:Handler") 37 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-run-handler') 38 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-run-caller') 39 | endif 40 | 41 | let l:args = { } 42 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 43 | call vimside#ensime#swank#dispatch(l:rr) 44 | 45 | call s:LOG("debug_run BOTTOM") 46 | endfunction 47 | 48 | 49 | "====================================================================== 50 | " Vimside Callers 51 | "====================================================================== 52 | 53 | function! g:DebugRunCaller(args) 54 | let cmd = "swank:debug-run" 55 | 56 | return '('. cmd .')' 57 | endfunction 58 | 59 | 60 | "====================================================================== 61 | " Vimside Handlers 62 | "====================================================================== 63 | 64 | function! g:DebugRunHandler() 65 | 66 | function! g:DebugRunHandler_Abort(code, details, ...) 67 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 68 | endfunction 69 | 70 | function! g:DebugRunHandler_Ok(dic, ...) 71 | let dic = a:dic 72 | call s:LOG("DebugRunHandler_Ok dic=". string(dic)) 73 | 74 | let l:pid = dic[':pid'] 75 | 76 | return 1 77 | endfunction 78 | 79 | return { 80 | \ 'abort': function("g:DebugRunHandler_Abort"), 81 | \ 'ok': function("g:DebugRunHandler_Ok") 82 | \ } 83 | endfunction 84 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_set_break.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_set_break.vim 3 | " 4 | " File: vimside#swank#rpc#debug_set_break.vim 5 | " Summary: Vimside RPC debug-set-break 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Add a breakpoint 13 | " 14 | " Arguments: 15 | " String:The file in which to set the breakpoint. 16 | " Int:The breakpoint line. 17 | " 18 | " Return: None 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:debug-set-break "hello.scala" 12) 42) 23 | " 24 | " (:return 25 | " (:ok t) 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#debug_set_break#Run(...) 36 | call s:LOG("debug_set_break TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-set-break-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-set-break-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("debug_set_break BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:DebugSetBreakCaller(args) 56 | let cmd = "swank:debug-set-break" 57 | let filename = a:args.filename 58 | let line = a:args.line 59 | 60 | return '('. cmd .' "'. filename .'" '. line .')' 61 | endfunction 62 | 63 | 64 | "====================================================================== 65 | " Vimside Handlers 66 | "====================================================================== 67 | 68 | function! g:DebugSetBreakHandler() 69 | 70 | function! g:DebugSetBreakHandler_Abort(code, details, ...) 71 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 72 | endfunction 73 | 74 | function! g:DebugSetBreakHandler_Ok(dic, ...) 75 | let dic = a:dic 76 | call s:LOG("DebugSetBreakHandler_Ok dic=". string(dic)) 77 | 78 | let l:pid = dic[':pid'] 79 | 80 | return 1 81 | endfunction 82 | 83 | return { 84 | \ 'abort': function("g:DebugSetBreakHandler_Abort"), 85 | \ 'ok': function("g:DebugSetBreakHandler_Ok") 86 | \ } 87 | endfunction 88 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_set_value.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_set_value.vim 3 | " 4 | " File: vimside#swank#rpc#debug_set_value.vim 5 | " Summary: Vimside RPC debug-set-value 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Set the value at the given location. 13 | " 14 | " Arguments: 15 | " DebugLocation: Location to set value. 16 | " String: A string encoded value. 17 | " 18 | " Return: 19 | " Boolean: t on success, nil otherwise 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:debug-set-stack-var (:type 'element 24 | " :object-id "23" :index 2) "1") 42) 25 | " 26 | " 27 | " (:return 28 | " (:ok t) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#debug_set_value#Run(...) 39 | call s:LOG("debug_set_value TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-set-value-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-set-value-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("debug_set_value BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:DebugSetValueCaller(args) 59 | let cmd = "swank:debug-set-value" 60 | 61 | return '('. cmd .')' 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Handlers 67 | "====================================================================== 68 | 69 | function! g:DebugSetValueHandler() 70 | 71 | function! g:DebugSetValueHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:DebugSetValueHandler_Ok(dic, ...) 76 | let dic = a:dic 77 | call s:LOG("DebugSetValueHandler_Ok dic=". string(dic)) 78 | 79 | let l:pid = dic[':pid'] 80 | 81 | return 1 82 | endfunction 83 | 84 | return { 85 | \ 'abort': function("g:DebugSetValueHandler_Abort"), 86 | \ 'ok': function("g:DebugSetValueHandler_Ok") 87 | \ } 88 | endfunction 89 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_start.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_start.vim 3 | " 4 | " File: vimside#swank#rpc#debug_start.vim 5 | " Summary: Vimside RPC debug-start 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Start a new debug session. 13 | " 14 | " Arguments: 15 | " String:The commandline to pass to the debugger. Of the form: 16 | " "package.ClassName arg1 arg2....." 17 | " 18 | " Return: None 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:debug-start "org.hello.HelloWorld arg") 42) 23 | " 24 | " (:return 25 | " (:ok t) 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#debug_start#Run(...) 36 | call s:LOG("debug_start TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-start-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-start-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("debug_start BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:DebugStartCaller(args) 56 | let cmd = "swank:debug-start" 57 | let cmd_line = a:args.cmd_line 58 | 59 | return '('. cmd .' "'. cmd_line .'")' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:DebugStartHandler() 68 | 69 | function! g:DebugStartHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:DebugStartHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("DebugStartHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:DebugStartHandler_Abort"), 84 | \ 'ok': function("g:DebugStartHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_step.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_step.vim 3 | " 4 | " File: vimside#swank#rpc#debug_step.vim 5 | " Summary: Vimside RPC debug-step 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Step the given thread to the next line. Step out of the current function to 13 | " the calling frame if necessary. 14 | " 15 | " Arguments: 16 | " String:The thread-id to step. 17 | " 18 | " Return: None 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:debug-step-out "982398123") 42) 23 | " 24 | " (:return 25 | " (:ok t) 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#debug_step#Run(...) 36 | call s:LOG("debug_step TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-step-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-step-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | call s:LOG("debug_step BOTTOM") 48 | endfunction 49 | 50 | 51 | "====================================================================== 52 | " Vimside Callers 53 | "====================================================================== 54 | 55 | function! g:DebugStepCaller(args) 56 | let cmd = "swank:debug-step" 57 | let active_thread_id = a:args.active_thread_id 58 | 59 | return '('. cmd .' "'. active_thread_id .'")' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:DebugStepHandler() 68 | 69 | function! g:DebugStepHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:DebugStepHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("DebugStepHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:DebugStepHandler_Abort"), 84 | \ 'ok': function("g:DebugStepHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_step_out.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_step_out.vim 3 | " 4 | " File: vimside#swank#rpc#debug_step_out.vim 5 | " Summary: Vimside RPC debug-step-out 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Step the given thread to the next line. Step into function calls. 13 | " 14 | " Arguments: 15 | " String:The thread-id to step. 16 | " 17 | " Return: None 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:debug-step-out "982398123") 42) 22 | " 23 | " (:return 24 | " (:ok t) 25 | " 42) 26 | " 27 | " ============================================================================ 28 | 29 | let s:LOG = function("vimside#log#log") 30 | let s:ERROR = function("vimside#log#error") 31 | 32 | 33 | " public API 34 | function! vimside#swank#rpc#debug_step_out#Run(...) 35 | call s:LOG("debug_step_out TOP") 36 | 37 | if ! exists("s:Handler") 38 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-step-out-handler') 39 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-step-out-caller') 40 | endif 41 | 42 | let l:args = { } 43 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 44 | call vimside#ensime#swank#dispatch(l:rr) 45 | 46 | call s:LOG("debug_step_out BOTTOM") 47 | endfunction 48 | 49 | 50 | "====================================================================== 51 | " Vimside Callers 52 | "====================================================================== 53 | 54 | function! g:DebugStepOutCaller(args) 55 | let cmd = "swank:debug-step-out" 56 | let active_thread_id = a:args.active_thread_id 57 | 58 | return '('. cmd .' "'. active_thread_id .'")' 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Handlers 64 | "====================================================================== 65 | 66 | function! g:DebugStepOutHandler() 67 | 68 | function! g:DebugStepOutHandler_Abort(code, details, ...) 69 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 70 | endfunction 71 | 72 | function! g:DebugStepOutHandler_Ok(dic, ...) 73 | let dic = a:dic 74 | call s:LOG("DebugStepOutHandler_Ok dic=". string(dic)) 75 | 76 | let l:pid = dic[':pid'] 77 | 78 | return 1 79 | endfunction 80 | 81 | return { 82 | \ 'abort': function("g:DebugStepOutHandler_Abort"), 83 | \ 'ok': function("g:DebugStepOutHandler_Ok") 84 | \ } 85 | endfunction 86 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_stop.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_stop.vim 3 | " 4 | " File: vimside#swank#rpc#debug_stop.vim 5 | " Summary: Vimside RPC debug-stop 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Stop the debug session 13 | " 14 | " Arguments: None 15 | " 16 | " Return: None 17 | " 18 | " Example: 19 | " 20 | " (:swank-rpc (swank:debug-stop) 42) 21 | " 22 | " (:return 23 | " (:ok t) 24 | " 42) 25 | " 26 | " ============================================================================ 27 | 28 | let s:LOG = function("vimside#log#log") 29 | let s:ERROR = function("vimside#log#error") 30 | 31 | 32 | " public API 33 | function! vimside#swank#rpc#debug_stop#Run(...) 34 | call s:LOG("debug_stop TOP") 35 | 36 | if ! exists("s:Handler") 37 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-stop-handler') 38 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-stop-caller') 39 | endif 40 | 41 | let l:args = { } 42 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 43 | call vimside#ensime#swank#dispatch(l:rr) 44 | 45 | call s:LOG("debug_stop BOTTOM") 46 | endfunction 47 | 48 | 49 | "====================================================================== 50 | " Vimside Callers 51 | "====================================================================== 52 | 53 | function! g:DebugStopCaller(args) 54 | let cmd = "swank:debug-stop" 55 | 56 | return '('. cmd .')' 57 | endfunction 58 | 59 | 60 | "====================================================================== 61 | " Vimside Handlers 62 | "====================================================================== 63 | 64 | function! g:DebugStopHandler() 65 | 66 | function! g:DebugStopHandler_Abort(code, details, ...) 67 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 68 | endfunction 69 | 70 | function! g:DebugStopHandler_Ok(dic, ...) 71 | let dic = a:dic 72 | call s:LOG("DebugStopHandler_Ok dic=". string(dic)) 73 | 74 | let l:pid = dic[':pid'] 75 | 76 | return 1 77 | endfunction 78 | 79 | return { 80 | \ 'abort': function("g:DebugStopHandler_Abort"), 81 | \ 'ok': function("g:DebugStopHandler_Ok") 82 | \ } 83 | endfunction 84 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/debug_to_string.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " debug_to_string.vim 3 | " 4 | " File: vimside#swank#rpc#debug_to_string.vim 5 | " Summary: Vimside RPC debug-to-string 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Returns the result of calling toString on the value at the given location 13 | " 14 | " Arguments: 15 | " DebugLocation: The location from which to load the value. 16 | " 17 | " Return: 18 | " A DebugValue 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:debug-to-string (:type 'element 23 | " :object-id "23" :index 2)) 42) 24 | " 25 | " 26 | " (:return 27 | " (:ok 28 | " "A little lamb") 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#debug_to_string#Run(...) 39 | call s:LOG("debug_to_string TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-to-string-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-debug-to-string-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | 51 | call s:LOG("debug_to_string BOTTOM") 52 | endfunction 53 | 54 | 55 | "====================================================================== 56 | " Vimside Callers 57 | "====================================================================== 58 | 59 | function! g:DebugToStringCaller(args) 60 | let cmd = "swank:debug-to-string" 61 | 62 | return '('. cmd .')' 63 | endfunction 64 | 65 | 66 | "====================================================================== 67 | " Vimside Handlers 68 | "====================================================================== 69 | 70 | function! g:DebugToStringHandler() 71 | 72 | function! g:DebugToStringHandler_Abort(code, details, ...) 73 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 74 | endfunction 75 | 76 | function! g:DebugToStringHandler_Ok(dic, ...) 77 | let dic = a:dic 78 | call s:LOG("DebugToStringHandler_Ok dic=". string(dic)) 79 | 80 | let l:pid = dic[':pid'] 81 | 82 | return 1 83 | endfunction 84 | 85 | return { 86 | \ 'abort': function("g:DebugToStringHandler_Abort"), 87 | \ 'ok': function("g:DebugToStringHandler_Ok") 88 | \ } 89 | endfunction 90 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/exec_refactor.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " exec_refactor.vim 3 | " 4 | " File: vimside#swank#rpc#exec_refactor.vim 5 | " Summary: Vimside RPC exec-refactor 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " 13 | " Execute a refactoring, usually after user confirmation. 14 | " 15 | " Arguments: 16 | " Int:A procedure id for this refactoring, uniquely generated by client. 17 | " Symbol:The manner of refacoring we want to prepare. Currently, one of 18 | " rename, extractMethod, extractLocal, organizeImports, or addImport. 19 | " Return: 20 | " RefactorResult | RefactorFailure 21 | " 22 | " Example: 23 | " 24 | " (:swank-rpc (swank:exec-refactor 7 rename) 42) 25 | " 26 | " (:return 27 | " (:ok 28 | " (:procedure-id 7 :refactor-type rename 29 | " :touched-files ("SwankProtocol.scala"))) 30 | " 42) 31 | " 32 | " ============================================================================ 33 | 34 | let s:LOG = function("vimside#log#log") 35 | let s:ERROR = function("vimside#log#error") 36 | 37 | " public API 38 | function! vimside#swank#rpc#exec_refactor#Run(...) 39 | call s:LOG("exec_refactor TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-exec-refactor-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-exec-refactor-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("exec_refactor BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:ExecRefactorCaller(args) 59 | let cmd = "swank:exec-refactor" 60 | 61 | return '('. cmd .')' 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Handlers 67 | "====================================================================== 68 | 69 | function! g:ExecRefactorHandler() 70 | 71 | function! g:ExecRefactorHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:ExecRefactorHandler_Ok(dic, ...) 76 | let dic = a:dic 77 | call s:LOG("ExecRefactorHandler_Ok dic=". string(dic)) 78 | 79 | let l:pid = dic[':pid'] 80 | 81 | return 1 82 | endfunction 83 | 84 | return { 85 | \ 'abort': function("g:ExecRefactorHandler_Abort"), 86 | \ 'ok': function("g:ExecRefactorHandler_Ok") 87 | \ } 88 | endfunction 89 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/exec_undo.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " exec_undo.vim 3 | " 4 | " File: vimside#swank#rpc#exec_undo.vim 5 | " Summary: Vimside RPC exec-undo 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Execute a specific, server-side undo operation. 13 | " 14 | " Arguments: 15 | " An integer undo id. See swank:peek-undo for how to learn this id. 16 | " 17 | " Return: 18 | " 19 | " ( 20 | " :id //Int:Id of this undo 21 | " :touched-files //List of Strings:Filenames of touched files, 22 | " ) 23 | " 24 | " Example: 25 | " 26 | "(:swank-rpc (swank:exec-undo 1) 42) 27 | " 28 | " (:return 29 | " (:ok 30 | " (:id 1 31 | " :touched-files ("/src/main/scala/org/ensime/server/RPCTarget.scala") 32 | " ) 33 | " 42) 34 | " 35 | " ============================================================================ 36 | 37 | let s:LOG = function("vimside#log#log") 38 | let s:ERROR = function("vimside#log#error") 39 | 40 | 41 | " public API 42 | function! vimside#swank#rpc#exec_undo() 43 | call s:LOG("exec_undo TOP") 44 | 45 | if ! exists("s:Handler") 46 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-exec-undo-handler') 47 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-exec-undo-caller') 48 | endif 49 | 50 | let l:args = { } 51 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 52 | call vimside#ensime#swank#dispatch(l:rr) 53 | 54 | call s:LOG("exec_undo BOTTOM") 55 | endfunction 56 | 57 | 58 | "====================================================================== 59 | " Vimside Callers 60 | "====================================================================== 61 | 62 | function! g:ExecUndoCaller(args) 63 | let cmd = "swank:exec-undo" 64 | 65 | return '('. cmd .')' 66 | endfunction 67 | 68 | 69 | "====================================================================== 70 | " Vimside Handlers 71 | "====================================================================== 72 | 73 | function! g:ExecUndoHandler() 74 | 75 | function! g:ExecUndoHandler_Abort(code, details, ...) 76 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 77 | endfunction 78 | 79 | function! g:ExecUndoHandler_Ok(dic, ...) 80 | let dic = a:dic 81 | call s:LOG("ExecUndoHandler_Ok dic=". string(dic)) 82 | 83 | let l:pid = dic[':pid'] 84 | 85 | return 1 86 | endfunction 87 | 88 | return { 89 | \ 'abort': function("g:ExecUndoHandler_Abort"), 90 | \ 'ok': function("g:ExecUndoHandler_Ok") 91 | \ } 92 | endfunction 93 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/format_source.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " format_source.vim 3 | " 4 | " File: vimside#swank#rpc#format_source.vim 5 | " Summary: Vimside RPC format-source 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Run the source formatter the given source files. Writes the formatted 13 | " sources to the disk. Note: the client is responsible for reloading the 14 | " files from disk to display to user. 15 | " 16 | " Arguments: 17 | " List of String:Filenames, absolute or relative to the project. 18 | " 19 | " Return: None 20 | " 21 | " Example: 22 | " 23 | " (swank:format-source "file") 24 | " (:return (:ok t) 4) 25 | " 26 | " ============================================================================ 27 | 28 | let s:LOG = function("vimside#log#log") 29 | let s:ERROR = function("vimside#log#error") 30 | 31 | " 32 | " (swank:format-source "file") 33 | " (:return (:ok t) 4) 34 | " 35 | 36 | " public API 37 | function! vimside#swank#rpc#format_source#Run(...) 38 | call s:LOG("FormatSource TOP") 39 | 40 | if ! exists("s:Handler") 41 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-format-source-handler') 42 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-format-source-caller') 43 | endif 44 | 45 | let [found, fn] = vimside#util#GetCurrentFilename() 46 | if ! found 47 | " TODO better error message display and logging 48 | echoerr fn 49 | return 50 | endif 51 | 52 | let l:args = { } 53 | let l:args['filename'] = fn 54 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 55 | call vimside#ensime#swank#dispatch(l:rr) 56 | 57 | call s:LOG("FormatSource BOTTOM") 58 | endfunction 59 | 60 | 61 | "====================================================================== 62 | " Vimside Callers 63 | "====================================================================== 64 | 65 | function! g:FormatSourceCaller(args) 66 | let cmd = "swank:format-source" 67 | let fn = a:args.filename 68 | 69 | return '(' . cmd . ' ("' . fn . '"))' 70 | endfunction 71 | 72 | 73 | "====================================================================== 74 | " Vimside Handlers 75 | "====================================================================== 76 | 77 | function! g:FormatSourceHandler() 78 | 79 | function! g:FormatSourceHandler_Abort(code, details, ...) 80 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 81 | endfunction 82 | 83 | function! g:FormatSourceHandler_Ok(dic, ...) 84 | let dic = a:dic 85 | call s:LOG("FormatSourceHandler_Ok diclist=". string(dic)) 86 | 87 | call feedkeys("\") 88 | call feedkeys(":e!\") 89 | 90 | return 1 91 | endfunction 92 | 93 | return { 94 | \ 'abort': function("g:FormatSourceHandler_Abort"), 95 | \ 'ok': function("g:FormatSourceHandler_Ok") 96 | \ } 97 | endfunction 98 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/inspect_package_by_path.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " inspect_package_by_path.vim 3 | " 4 | " File: vimside#swank#rpc#inspect_package_by_path.vim 5 | " Summary: Vimside RPC inspect-package-by-path 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Get a detailed description of the given package. 13 | " 14 | " Arguments: 15 | " String:A qualified package name. 16 | " Return: 17 | " A PackageInfo 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:inspect-package-by-path "org.ensime.util" 36483) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " (:name "util" :info-type package :full-name 26 | " "org.ensime.util" 27 | " :members ((:name "BooleanAtom" :type-id 278 :full-name 28 | " "org.ensime.util.BooleanAtom" :decl-as class :pos 29 | " (:file "SExp.scala" :offset 2848)).....)) 30 | " 42) 31 | " 32 | " ============================================================================ 33 | 34 | let s:LOG = function("vimside#log#log") 35 | let s:ERROR = function("vimside#log#error") 36 | 37 | 38 | " public API 39 | function! vimside#swank#rpc#inspect_package_by_path#Run(...) 40 | call s:LOG("inspect_package_by_path TOP") 41 | 42 | if ! exists("s:Handler") 43 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-package-by-path-handler') 44 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-package-by-path-caller') 45 | endif 46 | 47 | let l:args = { } 48 | let l:args.path = '' 49 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 50 | call vimside#ensime#swank#dispatch(l:rr) 51 | 52 | call s:LOG("inspect_package_by_path BOTTOM") 53 | endfunction 54 | 55 | 56 | "====================================================================== 57 | " Vimside Callers 58 | "====================================================================== 59 | 60 | function! g:InspectPackageByPathCaller(args) 61 | let cmd = "swank:inspect-package-by-path" 62 | let path = a:args.path 63 | 64 | return '('. cmd .' "'. path .'")' 65 | endfunction 66 | 67 | 68 | "====================================================================== 69 | " Vimside Handlers 70 | "====================================================================== 71 | 72 | function! g:InspectPackageByPathHandler() 73 | 74 | function! g:InspectPackageByPathHandler_Abort(code, details, ...) 75 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 76 | endfunction 77 | 78 | function! g:InspectPackageByPathHandler_Ok(dic, ...) 79 | let dic = a:dic 80 | call s:LOG("InspectPackageByPathHandler_Ok dic=". string(dic)) 81 | 82 | let l:pid = dic[':pid'] 83 | 84 | return 1 85 | endfunction 86 | 87 | return { 88 | \ 'abort': function("g:InspectPackageByPathHandler_Abort"), 89 | \ 'ok': function("g:InspectPackageByPathHandler_Ok") 90 | \ } 91 | endfunction 92 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/inspect_type_at_point.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " inspect_type_at_point.vim 3 | " 4 | " File: vimside#swank#rpc#inspect_type_at_point.vim 5 | " Summary: Vimside RPC inspect-type-at-point 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Lookup detailed type of thing at given position. 13 | " 14 | " Arguments: 15 | " String:A source filename. 16 | " Int:A character offset in the file. 17 | " 18 | " Return: 19 | " A TypeInspectInfo 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:inspect-type-at-point "SwankProtocol.scala" 32736) 42) 24 | " 25 | " (:return 26 | " (:ok 27 | " (:type (:name "SExpList$" :type-id 1469 :full-name 28 | " "org.ensime.util.SExpList$" :decl-as object :pos 29 | " (:file "SExp.scala" :offset 1877))......)) 30 | " 42) 31 | " 32 | " ============================================================================ 33 | 34 | let s:LOG = function("vimside#log#log") 35 | let s:ERROR = function("vimside#log#error") 36 | 37 | 38 | " public API 39 | function! vimside#swank#rpc#inspect_type_at_point#Run(...) 40 | call s:LOG("inspect_type_at_point TOP") 41 | 42 | if ! exists("s:Handler") 43 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-type-at-point-handler') 44 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-type-at-point-caller') 45 | endif 46 | 47 | let [found, fn] = vimside#util#GetCurrentFilename() 48 | if ! found 49 | " TODO better error message display and logging 50 | echoerr fn 51 | return 52 | endif 53 | 54 | let offset = vimside#util#GetCurrentOffset() 55 | 56 | let l:args = { } 57 | let l:args['filename'] = fn 58 | let l:args['offset'] = offset 59 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 60 | call vimside#ensime#swank#dispatch(l:rr) 61 | 62 | call s:LOG("inspect_type_at_point BOTTOM") 63 | endfunction 64 | 65 | 66 | "====================================================================== 67 | " Vimside Callers 68 | "====================================================================== 69 | 70 | function! g:InspectTypeAtPointCaller(args) 71 | let cmd = "swank:inspect-type-at-point" 72 | let fn = a:args.filename 73 | let offset = a:args.offset 74 | 75 | return '('. cmd .' "'. fn .'" '. offset .')' 76 | endfunction 77 | 78 | 79 | "====================================================================== 80 | " Vimside Handlers 81 | "====================================================================== 82 | 83 | function! g:InspectTypeAtPointHandler() 84 | 85 | function! g:InspectTypeAtPointHandler_Abort(code, details, ...) 86 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 87 | endfunction 88 | 89 | function! g:InspectTypeAtPointHandler_Ok(dic, ...) 90 | let dic = a:dic 91 | call s:LOG("InspectTypeAtPointHandler_Ok dic=". string(dic)) 92 | 93 | " let l:pid = dic[':pid'] 94 | 95 | return 1 96 | endfunction 97 | 98 | return { 99 | \ 'abort': function("g:InspectTypeAtPointHandler_Abort"), 100 | \ 'ok': function("g:InspectTypeAtPointHandler_Ok") 101 | \ } 102 | endfunction 103 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/inspect_type_by_id.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " inspect_type_by_id.vim 3 | " 4 | " File: vimside#swank#rpc#inspect_type_by_id.vim 5 | " Summary: Vimside RPC inspect-type-by-id 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Lookup detailed type description by id 13 | " 14 | " Arguments: 15 | " Int:A type id. 16 | " 17 | " Return: 18 | " A TypeInspectInfo 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:inspect-type-by-id 232) 42) 23 | " 24 | " (:return 25 | " (:ok 26 | " (:type (:name "SExpList$" :type-id 1469 :full-name 27 | " "org.ensime.util.SExpList$" :decl-as object :pos 28 | " (:file "SExp.scala" :offset 1877))......) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#inspect_type_by_id#Run(...) 39 | call s:LOG("inspect_type_by_id TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-type-by-id-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-inspect-type-by-id-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:args['type_id'] = 0 48 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 49 | call vimside#ensime#swank#dispatch(l:rr) 50 | 51 | call s:LOG("inspect_type_by_id BOTTOM") 52 | endfunction 53 | 54 | 55 | "====================================================================== 56 | " Vimside Callers 57 | "====================================================================== 58 | 59 | function! g:InspectTypeByIdCaller(args) 60 | let cmd = "swank:inspect-type-by-id" 61 | let type_id = a:args.type_id 62 | 63 | 64 | return '('. cmd .' '. type_id .')' 65 | endfunction 66 | 67 | 68 | "====================================================================== 69 | " Vimside Handlers 70 | "====================================================================== 71 | 72 | function! g:InspectTypeByIdHandler() 73 | 74 | function! g:InspectTypeByIdHandler_Abort(code, details, ...) 75 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 76 | endfunction 77 | 78 | function! g:InspectTypeByIdHandler_Ok(dic, ...) 79 | let dic = a:dic 80 | call s:LOG("InspectTypeByIdHandler_Ok dic=". string(dic)) 81 | 82 | let l:pid = dic[':pid'] 83 | 84 | return 1 85 | endfunction 86 | 87 | return { 88 | \ 'abort': function("g:InspectTypeByIdHandler_Abort"), 89 | \ 'ok': function("g:InspectTypeByIdHandler_Ok") 90 | \ } 91 | endfunction 92 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/method_bytecode.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " method_bytecode.vim 3 | " 4 | " File: vimside#swank#rpc#method_bytecode.vim 5 | " Summary: Vimside RPC method-bytecode 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Get bytecode for method at file and line. 13 | " 14 | " Arguments: 15 | " String:The file in which the method is defined. 16 | " Int:A line within the method's code. 17 | " 18 | " Return: 19 | " A MethodBytecode 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:method-bytecode "hello.scala" 12) 42) 24 | " 25 | " (:return 26 | " (:ok ( 27 | " :class-name "SomeClassName" 28 | " :name "SomeMethodName" 29 | " :signature ?? 30 | " :bytcode ("opName" "opDescription" ... 31 | " ) 32 | " 42) 33 | " 34 | " ============================================================================ 35 | 36 | let s:LOG = function("vimside#log#log") 37 | let s:ERROR = function("vimside#log#error") 38 | 39 | 40 | " public API 41 | function! vimside#swank#rpc#method_bytecode#Run(...) 42 | call s:LOG("method_bytecode TOP") 43 | 44 | if ! exists("s:Handler") 45 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-method-bytecode-handler') 46 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-method-bytecode-caller') 47 | endif 48 | 49 | let l:args = { } 50 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 51 | call vimside#ensime#swank#dispatch(l:rr) 52 | 53 | call s:LOG("method_bytecode BOTTOM") 54 | endfunction 55 | 56 | 57 | "====================================================================== 58 | " Vimside Callers 59 | "====================================================================== 60 | 61 | function! g:MethodBytecodeCaller(args) 62 | let cmd = "swank:method-bytecode" 63 | 64 | return '('. cmd .')' 65 | endfunction 66 | 67 | 68 | "====================================================================== 69 | " Vimside Handlers 70 | "====================================================================== 71 | 72 | function! g:MethodBytecodeHandler() 73 | 74 | function! g:MethodBytecodeHandler_Abort(code, details, ...) 75 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 76 | endfunction 77 | 78 | function! g:MethodBytecodeHandler_Ok(dic, ...) 79 | let dic = a:dic 80 | call s:LOG("MethodBytecodeHandler_Ok dic=". string(dic)) 81 | 82 | let l:pid = dic[':pid'] 83 | 84 | return 1 85 | endfunction 86 | 87 | return { 88 | \ 'abort': function("g:MethodBytecodeHandler_Abort"), 89 | \ 'ok': function("g:MethodBytecodeHandler_Ok") 90 | \ } 91 | endfunction 92 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/package_member_completion.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " package_member_completion.vim 3 | " 4 | " File: vimside#swank#rpc#package_member_completion.vim 5 | " Summary: Vimside RPC package-member-completion 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Find possible completions for a given package path. 13 | " 14 | " Arguments: 15 | " String:A package path: such as "org.ensime" or "com". 16 | " String:The prefix of the package member name we are looking for. 17 | " 18 | " Return: 19 | " List of PackageMemberInfoLight: List of possible completions. 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:package-member-completion org.ensime.server Server) 42) 24 | " 25 | " 26 | " (:return 27 | " (:ok 28 | " ((:name "Server$") (:name "Server")) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#package_member_completion#Run(...) 39 | call s:LOG("package_member_completion TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-package-member-completion-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-package-member-completion-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("package_member_completion BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:PackageMemberCompletionCaller(args) 59 | let cmd = "swank:package-member-completion" 60 | 61 | return '('. cmd .')' 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Handlers 67 | "====================================================================== 68 | 69 | function! g:PackageMemberCompletionHandler() 70 | 71 | function! g:PackageMemberCompletionHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:PackageMemberCompletionHandler_Ok(dic, ...) 76 | let dic = a:dic 77 | call s:LOG("PackageMemberCompletionHandler_Ok dic=". string(dic)) 78 | 79 | let l:pid = dic[':pid'] 80 | 81 | return 1 82 | endfunction 83 | 84 | return { 85 | \ 'abort': function("g:PackageMemberCompletionHandler_Abort"), 86 | \ 'ok': function("g:PackageMemberCompletionHandler_Ok") 87 | \ } 88 | endfunction 89 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/patch_source.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " patch_source.vim 3 | " 4 | " File: vimside#swank#rpc#patch_source.vim 5 | " Summary: Vimside RPC patch-source 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request immediate load and check the given source file. 13 | " 14 | " Arguments: 15 | " String:A filename 16 | " String:A FilePatch 17 | " 18 | " Return: None 19 | " 20 | " Example: 21 | " 22 | " (swank:patch-source "Analyzer.scala" (("+" 6461 "Inc") 23 | " ("-" 7127 7128))) 24 | " 25 | " (:return 26 | " (:ok t) 27 | " 42) 28 | " 29 | " ============================================================================ 30 | 31 | let s:LOG = function("vimside#log#log") 32 | let s:ERROR = function("vimside#log#error") 33 | 34 | 35 | " public API 36 | function! vimside#swank#rpc#patch_source#Run(...) 37 | call s:LOG("patch_source TOP") 38 | 39 | if ! exists("s:Handler") 40 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-patch-source-handler') 41 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-patch-source-caller') 42 | endif 43 | 44 | let l:args = { } 45 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 46 | call vimside#ensime#swank#dispatch(l:rr) 47 | 48 | 49 | call s:LOG("patch_source BOTTOM") 50 | endfunction 51 | 52 | 53 | "====================================================================== 54 | " Vimside Callers 55 | "====================================================================== 56 | 57 | function! g:PatchSourceCaller(args) 58 | let cmd = "swank:patch-source" 59 | 60 | return '('. cmd .')' 61 | endfunction 62 | 63 | 64 | "====================================================================== 65 | " Vimside Handlers 66 | "====================================================================== 67 | 68 | function! g:PatchSourceHandler() 69 | 70 | function! g:PatchSourceHandler_Abort(code, details, ...) 71 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 72 | endfunction 73 | 74 | function! g:PatchSourceHandler_Ok(dic, ...) 75 | let dic = a:dic 76 | call s:LOG("PatchSourceHandler_Ok dic=". string(dic)) 77 | 78 | let l:pid = dic[':pid'] 79 | 80 | return 1 81 | endfunction 82 | 83 | return { 84 | \ 'abort': function("g:PatchSourceHandler_Abort"), 85 | \ 'ok': function("g:PatchSourceHandler_Ok") 86 | \ } 87 | endfunction 88 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/peek_undo.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " peek_undo.vim 3 | " 4 | " File: vimside#swank#rpc#peek_undo.vim 5 | " Summary: Vimside RPC peek-undo 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " The intention of this call is to preview the effect of an undo before 13 | " executing it. 14 | " 15 | " Arguments: None 16 | " 17 | " Return: 18 | " ( 19 | " :id //Int:Id of this undo 20 | " :changes //List of Changes:Describes changes 21 | " this undo would effect. 22 | " :summary //String:Summary of action 23 | " this undo would revert. 24 | " ) 25 | " 26 | " Example: 27 | " 28 | " (:swank-rpc (swank:peek-undo) 42) 29 | " 30 | " (:return 31 | " (:ok 32 | " (:id 1 33 | " :changes ( 34 | " ( 35 | " :file "/ensime/src/main/scala/org/ensime/server/RPCTarget.scala" 36 | " :text "rpcInitProject" 37 | " :from 2280 :to 2284 38 | " ) ) 39 | " :summary "Refactoring of type: 'rename") 40 | " 42) 41 | " 42 | " ============================================================================ 43 | 44 | let s:LOG = function("vimside#log#log") 45 | let s:ERROR = function("vimside#log#error") 46 | 47 | 48 | " public API 49 | function! vimside#swank#rpc#peek_undo() 50 | call s:LOG("peek_undo TOP") 51 | 52 | if ! exists("s:Handler") 53 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-peek-undo-handler') 54 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-peek-undo-caller') 55 | endif 56 | 57 | let l:args = { } 58 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 59 | call vimside#ensime#swank#dispatch(l:rr) 60 | 61 | call s:LOG("peek_undo BOTTOM") 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Callers 67 | "====================================================================== 68 | 69 | function! g:PeekUndoCaller(args) 70 | let cmd = "swank:peek-undo" 71 | 72 | return '('. cmd .')' 73 | endfunction 74 | 75 | 76 | "====================================================================== 77 | " Vimside Handlers 78 | "====================================================================== 79 | 80 | function! g:PeekUndoHandler() 81 | 82 | function! g:PeekUndoHandler_Abort(code, details, ...) 83 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 84 | endfunction 85 | 86 | function! g:PeekUndoHandler_Ok(dic, ...) 87 | let dic = a:dic 88 | call s:LOG("PeekUndoHandler_Ok dic=". string(dic)) 89 | 90 | let l:pid = dic[':pid'] 91 | 92 | return 1 93 | endfunction 94 | 95 | return { 96 | \ 'abort': function("g:PeekUndoHandler_Abort"), 97 | \ 'ok': function("g:PeekUndoHandler_Ok") 98 | \ } 99 | endfunction 100 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/remove_file.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " remove_file.vim 3 | " 4 | " File: vimside#swank#rpc#remove_file.vim 5 | " Summary: Vimside RPC remove-file 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Remove a file from consideration by the ENSIME analyzer. 13 | " 14 | " Arguments: 15 | " String:A filename, absolute or relative to the project. 16 | " 17 | " Return: None 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:remove-file "Analyzer.scala") 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " t 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#remove_file#Run(...) 36 | call s:LOG("remove_file TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-remove-file-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-remove-file-caller') 41 | endif 42 | 43 | let l:args = { } 44 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 45 | call vimside#ensime#swank#dispatch(l:rr) 46 | 47 | 48 | call s:LOG("remove_file BOTTOM") 49 | endfunction 50 | 51 | 52 | "====================================================================== 53 | " Vimside Callers 54 | "====================================================================== 55 | 56 | function! g:RemoveFileCaller(args) 57 | let cmd = "swank:remove-file" 58 | 59 | return '('. cmd .')' 60 | endfunction 61 | 62 | 63 | "====================================================================== 64 | " Vimside Handlers 65 | "====================================================================== 66 | 67 | function! g:RemoveFileHandler() 68 | 69 | function! g:RemoveFileHandler_Abort(code, details, ...) 70 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 71 | endfunction 72 | 73 | function! g:RemoveFileHandler_Ok(dic, ...) 74 | let dic = a:dic 75 | call s:LOG("RemoveFileHandler_Ok dic=". string(dic)) 76 | 77 | let l:pid = dic[':pid'] 78 | 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:RemoveFileHandler_Abort"), 84 | \ 'ok': function("g:RemoveFileHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/shutdown_server.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " shutdown_server.vim 3 | " 4 | " File: vimside#swank#rpc#shutdown_server.vim 5 | " Summary: Vimside RPC shutdown-server 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Politely ask the server to shutdown. 13 | " 14 | " Arguments: None 15 | " 16 | " Return: None 17 | " 18 | " Example: 19 | " 20 | " (swank:shutdown-server) 21 | " (:return (:ok t) 4) 22 | " 23 | " ============================================================================ 24 | 25 | let s:LOG = function("vimside#log#log") 26 | let s:ERROR = function("vimside#log#error") 27 | 28 | 29 | " public API 30 | function! vimside#swank#rpc#shutdown_server#Run(...) 31 | call s:LOG("ShutdownServer TOP") 32 | 33 | if ! exists("s:Handler") 34 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-shutdown-server-handler') 35 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-shutdown-server-caller') 36 | endif 37 | 38 | let l:args = { } 39 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 40 | call vimside#ensime#swank#dispatch(l:rr) 41 | 42 | call s:LOG("ShutdownServer BOTTOM") 43 | endfunction 44 | 45 | 46 | "====================================================================== 47 | " Vimside Callers 48 | "====================================================================== 49 | 50 | function! g:ShutdownServerCaller(args) 51 | let cmd = "swank:shutdown-server" 52 | 53 | return '(' . cmd . ')' 54 | endfunction 55 | 56 | 57 | "====================================================================== 58 | " Vimside Handlers 59 | "====================================================================== 60 | 61 | function! g:ShutdownServerHandler() 62 | 63 | function! g:ShutdownServerHandler_Abort(code, details, ...) 64 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 65 | endfunction 66 | 67 | function! g:ShutdownServerHandler_Ok(dic, ...) 68 | let dic = a:dic 69 | " call s:LOG("ShutdownServerHandler_Ok dic=". string(dic)) 70 | 71 | let msg = "Ensime Server Shutdown" 72 | call vimside#cmdline#Display(msg) 73 | return 1 74 | endfunction 75 | 76 | return { 77 | \ 'abort': function("g:ShutdownServerHandler_Abort"), 78 | \ 'ok': function("g:ShutdownServerHandler_Ok") 79 | \ } 80 | endfunction 81 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/symbol_designations.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " symbol_designations.vim 3 | " 4 | " File: vimside#swank#rpc#symbol_designations.vim 5 | " Summary: Vimside RPC symbol-designations 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request the semantic classes of symbols in the given range. These classes 13 | " are intended to be used for semantic highlighting. 14 | " 15 | " Arguments: 16 | " String:A source filename. 17 | " Int:The character offset of the start of the input range. 18 | " Int:The character offset of the end of the input range. 19 | " List of Symbol:The symbol classes in which we are interested. 20 | " Available classes are: var,val,varField,valField,functionCall, 21 | " operator,param,class,trait,object. 22 | " 23 | " Return: 24 | " SymbolDesignations 25 | " 26 | " Example: 27 | " 28 | " (:swank-rpc (swank:symbol-designations "SwankProtocol.scala" 0 46857 29 | " (var val varField valField)) 42) 30 | " 31 | " (:return 32 | " (:ok 33 | " (:file "SwankProtocol.scala" :syms 34 | " ((varField 33625 33634) (val 33657 33661) (val 33663 33668) 35 | " (varField 34369 34378) (val 34398 34400)))) 36 | " 42) 37 | " 38 | " ============================================================================ 39 | 40 | let s:LOG = function("vimside#log#log") 41 | let s:ERROR = function("vimside#log#error") 42 | 43 | 44 | " public API 45 | function! vimside#swank#rpc#symbol_designations#Run(...) 46 | call s:LOG("symbol_designations TOP") 47 | 48 | if ! exists("s:Handler") 49 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-symbol-designations-handler') 50 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-symbol-designations-caller') 51 | endif 52 | 53 | let l:args = { } 54 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 55 | call vimside#ensime#swank#dispatch(l:rr) 56 | 57 | call s:LOG("symbol_designations BOTTOM") 58 | endfunction 59 | 60 | 61 | "====================================================================== 62 | " Vimside Callers 63 | "====================================================================== 64 | 65 | function! g:SymbolDesignationsCaller(args) 66 | let cmd = "swank:symbol-designations" 67 | 68 | return '('. cmd .')' 69 | endfunction 70 | 71 | 72 | "====================================================================== 73 | " Vimside Handlers 74 | "====================================================================== 75 | 76 | function! g:SymbolDesignationsHandler() 77 | 78 | function! g:SymbolDesignationsHandler_Abort(code, details, ...) 79 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 80 | endfunction 81 | 82 | function! g:SymbolDesignationsHandler_Ok(dic, ...) 83 | let dic = a:dic 84 | call s:LOG("SymbolDesignationsHandler_Ok dic=". string(dic)) 85 | 86 | let l:pid = dic[':pid'] 87 | 88 | return 1 89 | endfunction 90 | 91 | return { 92 | \ 'abort': function("g:SymbolDesignationsHandler_Abort"), 93 | \ 'ok': function("g:SymbolDesignationsHandler_Ok") 94 | \ } 95 | endfunction 96 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/type_at_point.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " type_at_point.vim 3 | " 4 | " File: vimside#swank#rpc#type_at_point.vim 5 | " Summary: Vimside RPC type-at-point 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Lookup type of thing at given position. 13 | " 14 | " Arguments: 15 | " String:A source filename. 16 | " Int:A character offset in the file. 17 | " 18 | " Return: 19 | " A TypeInfo 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:type-at-point "SwankProtocol.scala" 32736) 42) 24 | " 25 | " (:return 26 | " (:ok 27 | " (:name "String" :type-id 1188 :full-name 28 | " "java.lang.String" :decl-as class) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | function! vimside#swank#rpc#type_at_point#Run(...) 39 | call s:LOG("type_at_point TOP") 40 | 41 | if ! exists("s:Handler") 42 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-at-point-handler') 43 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-at-point-caller') 44 | endif 45 | 46 | let l:args = { } 47 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 48 | call vimside#ensime#swank#dispatch(l:rr) 49 | 50 | call s:LOG("type_at_point BOTTOM") 51 | endfunction 52 | 53 | 54 | "====================================================================== 55 | " Vimside Callers 56 | "====================================================================== 57 | 58 | function! g:TypeAtPointCaller(args) 59 | let cmd = "swank:type-at-point" 60 | 61 | return '('. cmd .')' 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Handlers 67 | "====================================================================== 68 | 69 | function! g:TypeAtPointHandler() 70 | 71 | function! g:TypeAtPointHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:TypeAtPointHandler_Ok(dic, ...) 76 | let dic = a:dic 77 | call s:LOG("TypeAtPointHandler_Ok dic=". string(dic)) 78 | 79 | let l:pid = dic[':pid'] 80 | 81 | return 1 82 | endfunction 83 | 84 | return { 85 | \ 'abort': function("g:TypeAtPointHandler_Abort"), 86 | \ 'ok': function("g:TypeAtPointHandler_Ok") 87 | \ } 88 | endfunction 89 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/type_by_id.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " type_by_id.vim 3 | " 4 | " File: vimside#swank#rpc#type_by_id.vim 5 | " Summary: Vimside RPC type-by-id 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request description of the type with given type id. 13 | " 14 | " Arguments: 15 | " Int:A type id. 16 | " Return: 17 | " A TypeIfo 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:type-by-id 1381) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " (:name "Option" :type-id 1381 :full-name "scala.Option" 26 | " :decl-as class :type-args ((:name "Int" :type-id 1129 :full-name 27 | " "scala.Int" 28 | " :decl-as class))) 29 | " 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | 37 | " public API 38 | " callers MUST supply their own args['id'] value 39 | " callers MUST supply their own args['handler'] value 40 | function! vimside#swank#rpc#type_by_id#Run(...) 41 | call s:LOG("type_by_id TOP") 42 | 43 | if ! exists("s:Handler") 44 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-id-handler') 45 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-id-caller') 46 | endif 47 | 48 | let l:args = { } 49 | " callers MUST supply their own ids 50 | let l:args['id'] = 0 51 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 52 | call vimside#ensime#swank#dispatch(l:rr) 53 | 54 | call s:LOG("type_by_id BOTTOM") 55 | endfunction 56 | 57 | 58 | "====================================================================== 59 | " Vimside Callers 60 | "====================================================================== 61 | 62 | function! g:TypeByIdCaller(args) 63 | let cmd = "swank:type-by-id" 64 | let id = a:args.id 65 | 66 | return '('. cmd .' '. id .')' 67 | endfunction 68 | 69 | 70 | "====================================================================== 71 | " Vimside Handlers 72 | "====================================================================== 73 | 74 | function! g:TypeByIdHandler() 75 | 76 | function! g:TypeByIdHandler_Abort(code, details, ...) 77 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 78 | endfunction 79 | 80 | function! g:TypeByIdHandler_Ok(dic, ...) 81 | let dic = a:dic 82 | call s:LOG("TypeByIdHandler_Ok dic=". string(dic)) 83 | 84 | let l:pid = dic[':pid'] 85 | 86 | return 1 87 | endfunction 88 | 89 | return { 90 | \ 'abort': function("g:TypeByIdHandler_Abort"), 91 | \ 'ok': function("g:TypeByIdHandler_Ok") 92 | \ } 93 | endfunction 94 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/type_by_name.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " type_by_name.vim 3 | " 4 | " File: vimside#swank#rpc#type_by_name.vim 5 | " Summary: Vimside RPC type-by-name 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Lookup a type description by name. 13 | " 14 | " Arguments: 15 | " String:The fully qualified name of a type. 16 | " 17 | " Return: 18 | " A TypeIfo 19 | " 20 | " Example: 21 | " 22 | " (:swank-rpc (swank:type-by-name "java.lang.String") 42) 23 | " 24 | " (:return 25 | " (:ok 26 | " (:name "String" :type-id 1188 27 | " :full-name "java.lang.String" :decl-as class)) 28 | " 42) 29 | " 30 | " ============================================================================ 31 | 32 | let s:LOG = function("vimside#log#log") 33 | let s:ERROR = function("vimside#log#error") 34 | 35 | 36 | " public API 37 | function! vimside#swank#rpc#type_by_name#Run(...) 38 | call s:LOG("type_by_name TOP") 39 | 40 | if ! exists("s:Handler") 41 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-name-handler') 42 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-name-caller') 43 | endif 44 | 45 | let l:args = { } 46 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 47 | call vimside#ensime#swank#dispatch(l:rr) 48 | 49 | call s:LOG("type_by_name BOTTOM") 50 | endfunction 51 | 52 | 53 | "====================================================================== 54 | " Vimside Callers 55 | "====================================================================== 56 | 57 | function! g:TypeByNameCaller(args) 58 | let cmd = "swank:type-by-name" 59 | let name = a:args.name 60 | 61 | return '('. cmd .' "'. name .'")' 62 | endfunction 63 | 64 | 65 | "====================================================================== 66 | " Vimside Handlers 67 | "====================================================================== 68 | 69 | function! g:TypeByNameHandler() 70 | 71 | function! g:TypeByNameHandler_Abort(code, details, ...) 72 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 73 | endfunction 74 | 75 | function! g:TypeByNameHandler_Ok(dic, ...) 76 | call s:LOG("TypeByNameHandler_Ok dic=". string(dic)) 77 | 78 | let l:pid = dic[':pid'] 79 | 80 | return 1 81 | endfunction 82 | 83 | return { 84 | \ 'abort': function("g:TypeByNameHandler_Abort"), 85 | \ 'ok': function("g:TypeByNameHandler_Ok") 86 | \ } 87 | endfunction 88 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/type_by_name_at_point.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " type_by_name_at_point.vim 3 | " 4 | " File: vimside#swank#rpc#type_by_name_at_point.vim 5 | " Summary: Vimside RPC type-by-name-at-point 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Lookup a type by name, in a specific source context. 13 | " 14 | " Arguments: 15 | " String:The local or qualified name of the type. 16 | " String:A source filename. 17 | " Int:A character offset in the file. 18 | " 19 | " Return: 20 | " A TypeInfo 21 | " 22 | " Example: 23 | " 24 | " (:swank-rpc (swank:type-by-name-at-point "String" "SwankProtocol.scala" 31680) 42) 25 | " 26 | " (:return 27 | " (:ok 28 | " (:name "String" :type-id 1188 :full-name 29 | " "java.lang.String" :decl-as class) 30 | " 42) 31 | " 32 | " ============================================================================ 33 | 34 | let s:LOG = function("vimside#log#log") 35 | let s:ERROR = function("vimside#log#error") 36 | 37 | 38 | " public API 39 | function! vimside#swank#rpc#type_by_name_at_point#Run(...) 40 | call s:LOG("type_by_name_at_point TOP") 41 | 42 | if ! exists("s:Handler") 43 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-name_at_point-handler') 44 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-type-by-name_at_point-caller') 45 | endif 46 | 47 | let [found, fn] = vimside#util#GetCurrentFilename() 48 | if ! found 49 | " TODO better error message display and logging 50 | echoerr fn 51 | return 52 | endif 53 | 54 | let offset = vimside#util#GetCurrentOffset() 55 | 56 | let l:args = { } 57 | let l:args['filename'] = fn 58 | let l:args['offset'] = offset 59 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 60 | call vimside#ensime#swank#dispatch(l:rr) 61 | 62 | call s:LOG("type_by_name_at_point BOTTOM") 63 | endfunction 64 | 65 | 66 | "====================================================================== 67 | " Vimside Callers 68 | "====================================================================== 69 | 70 | function! g:TypeByNameAtPointCaller(args) 71 | let cmd = "swank:type-by-name-at-point" 72 | let type_name = a:args.type_name 73 | let fn = a:args.filename 74 | let offset = a:args.offset 75 | 76 | return '('. cmd .' "'. type_name .'" "'. fn .'" '. offset .')' 77 | endfunction 78 | 79 | 80 | "====================================================================== 81 | " Vimside Handlers 82 | "====================================================================== 83 | 84 | function! g:TypeByNameAtPointHandler() 85 | 86 | function! g:TypeByNameAtPointHandler_Abort(code, details, ...) 87 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 88 | endfunction 89 | 90 | function! g:TypeByNameAtPointHandler_Ok(dic, ...) 91 | let dic = a:dic 92 | call s:LOG("TypeByNameAtPointHandler_Ok dic=". string(dic)) 93 | 94 | let l:pid = dic[':pid'] 95 | 96 | return 1 97 | endfunction 98 | 99 | return { 100 | \ 'abort': function("g:TypeByNameAtPointHandler_Abort"), 101 | \ 'ok': function("g:TypeByNameAtPointHandler_Ok") 102 | \ } 103 | endfunction 104 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/typecheck_all.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " typecheck_all.vim 3 | " 4 | " File: vimside#swank#rpc#typecheck_all.vim 5 | " Summary: Vimside RPC typecheck-all 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request immediate load and typecheck of all known sources. 13 | " 14 | " Arguments: None 15 | " 16 | " Return: None 17 | " 18 | " Example: 19 | " 20 | " (swank:typecheck-all) 21 | " 22 | " 23 | " (:clear-all-scala-notes) 24 | " 25 | " Always returns this (bug: unless there are ony Java files) 26 | " (:return (:ok t) 3) 27 | " 28 | " (:scala-notes (:is-full nil :notes ((:severity error :msg "not found: type FOO" :beg 227 :end 227 :line 20 :col 20 :file "/home/emberson/.vim/data/vimside/src/main/scala/com/megaanum/Bar.scala")))) 29 | " and java-notes 30 | " 31 | " (:full-typecheck-finished) 32 | " 33 | " ============================================================================ 34 | 35 | let s:LOG = function("vimside#log#log") 36 | let s:ERROR = function("vimside#log#error") 37 | 38 | 39 | " public API 40 | function! vimside#swank#rpc#typecheck_all#Run(...) 41 | call s:LOG("TypecheckAll TOP") 42 | 43 | if ! exists("s:Handler") 44 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-typecheck-all-handler') 45 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-typecheck-all-caller') 46 | endif 47 | 48 | let l:args = { } 49 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 50 | let l:rr.events = 1 51 | call vimside#ensime#swank#dispatch(l:rr) 52 | 53 | call vimside#cmdline#Display("This may take a moment...") 54 | 55 | call s:LOG("TypecheckAll BOTTOM") 56 | endfunction 57 | 58 | 59 | "====================================================================== 60 | " Vimside Callers 61 | "====================================================================== 62 | 63 | function! g:TypecheckAllCaller(args) 64 | let cmd = "swank:typecheck-all" 65 | 66 | return '(' . cmd . ')' 67 | endfunction 68 | 69 | 70 | "====================================================================== 71 | " Vimside Handlers 72 | "====================================================================== 73 | 74 | function! g:TypecheckAllHandler() 75 | 76 | function! g:TypecheckAllHandler_Abort(code, details, ...) 77 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 78 | endfunction 79 | 80 | function! g:TypecheckAllHandler_Ok(dic, ...) 81 | let dic = a:dic 82 | call s:LOG("TypechecAllHandler_Ok diclist=". string(dic)) 83 | return 1 84 | endfunction 85 | 86 | return { 87 | \ 'abort': function("g:TypecheckAllHandler_Abort"), 88 | \ 'ok': function("g:TypecheckAllHandler_Ok") 89 | \ } 90 | endfunction 91 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/typecheck_files.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " typecheck_files.vim 3 | " 4 | " File: vimside#swank#rpc#typecheck_files.vim 5 | " Summary: Vimside RPC typecheck-files 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request immediate load and check the given source files. 13 | " 14 | " Arguments: 15 | " List of String:Filenames, absolute or relative to the project. 16 | " 17 | " Return: None 18 | " 19 | " Example: 20 | " 21 | " (:swank-rpc (swank:typecheck-files ("Analyzer.scala")) 42) 22 | " 23 | " (:return 24 | " (:ok 25 | " t 26 | " 42) 27 | " 28 | " ============================================================================ 29 | 30 | let s:LOG = function("vimside#log#log") 31 | let s:ERROR = function("vimside#log#error") 32 | 33 | 34 | " public API 35 | function! vimside#swank#rpc#typecheck_files#Run(...) 36 | call s:LOG("TypecheckFiles TOP") 37 | 38 | if ! exists("s:Handler") 39 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-typecheck-files-handler') 40 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-typecheck-files-caller') 41 | endif 42 | 43 | let [found, fn] = vimside#util#GetCurrentFilename() 44 | if ! found 45 | " TODO better error message display and logging 46 | echoerr fn 47 | return 48 | endif 49 | 50 | let l:args = { } 51 | let l:args['filename'] = fn 52 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 53 | let l:rr.events = 1 54 | call vimside#ensime#swank#dispatch(l:rr) 55 | 56 | call vimside#cmdline#Display("This may take a moment...") 57 | 58 | call s:LOG("TypecheckFiles BOTTOM") 59 | endfunction 60 | 61 | 62 | "====================================================================== 63 | " Vimside Callers 64 | "====================================================================== 65 | 66 | 67 | function! g:TypecheckFilesCaller(args) 68 | let cmd = "swank:typecheck-files" 69 | let fn = a:args.filename 70 | 71 | return '(' . cmd . ' "' . fn . '")' 72 | endfunction 73 | 74 | 75 | "====================================================================== 76 | " Vimside Handlers 77 | "====================================================================== 78 | 79 | function! g:TypecheckFilesHandler() 80 | 81 | function! g:TypecheckFilesHandler_Abort(code, details, ...) 82 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 83 | endfunction 84 | 85 | function! g:TypecheckFilesHandler_Ok(dic, ...) 86 | let dic = a:dic 87 | call s:LOG("TypechecFilesHandler_Ok diclist=". string(dic)) 88 | 89 | return 1 90 | endfunction 91 | 92 | return { 93 | \ 'abort': function("g:TypecheckFilesHandler_Abort"), 94 | \ 'ok': function("g:TypecheckFilesHandler_Ok") 95 | \ } 96 | endfunction 97 | -------------------------------------------------------------------------------- /autoload/vimside/swank/rpc/uses_of_symbol_at_point.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " uses_of_symbol_at_point.vim 3 | " 4 | " File: vimside#swank#rpc#uses_of_symbol_at_point.vim 5 | " Summary: Vimside RPC uses-of-symbol-at-point 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " 12 | " Request all source locations where indicated symbol is used in this project. 13 | " 14 | " Arguments: 15 | " String:A Scala source filename, absolute or relative to the project. 16 | " Int:Character offset of the desired symbol within that file. 17 | " 18 | " Return: 19 | " List of RangePosition:Locations where the symbol is reference. 20 | " 21 | " Example: 22 | " 23 | " (:swank-rpc (swank:uses-of-symbol-at-point "Test.scala" 11334) 42) 24 | " 25 | " (:return (:ok ((:file "RichPresentationCompiler.scala" 26 | " :offset 11442 27 | " :start 11428 :end 11849) (:file 28 | " "RichPresentationCompiler.scala" 29 | " :offset 11319 :start 11319 :end 11339))) 42) 30 | " 31 | " ============================================================================ 32 | 33 | let s:LOG = function("vimside#log#log") 34 | let s:ERROR = function("vimside#log#error") 35 | 36 | " public API 37 | function! vimside#swank#rpc#uses_of_symbol_at_point#Run(...) 38 | " call s:LOG("UsesOfSymbolAtPoint TOP") 39 | 40 | if ! exists("s:Handler") 41 | let s:Handler = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-uses-of-symbol-at-point-handler') 42 | let s:Caller = vimside#swank#rpc#util#LoadFuncrefFromOption('swank-rpc-uses-of-symbol-at-point-caller') 43 | endif 44 | 45 | let l:args = { } 46 | let l:args['filename'] = "" 47 | let l:args['offset'] = "" 48 | let l:rr = vimside#swank#rpc#util#MakeRPCEnds(s:Caller, l:args, s:Handler, a:000) 49 | call vimside#ensime#swank#dispatch(l:rr) 50 | 51 | " call s:LOG("UsesOfSymbolAtPoint BOTTOM") 52 | endfunction 53 | 54 | 55 | "====================================================================== 56 | " Vimside Callers 57 | "====================================================================== 58 | 59 | function! g:UsesOfSymbolAtPointCaller(args) 60 | let cmd = "swank:uses-of-symbol-at-point" 61 | let fn = a:args.filename 62 | let offset = a:args.offset 63 | 64 | return '(' . cmd . ' "' . fn . '" ' . offset . ')' 65 | endfunction 66 | 67 | 68 | "====================================================================== 69 | " Vimside Handlers 70 | "====================================================================== 71 | 72 | function! g:UsesOfSymbolAtPointHandler() 73 | 74 | function! g:UsesOfSymbolAtPointHandler_Abort(code, details, ...) 75 | call call('vimside#swank#rpc#util#Abort', [a:code, a:details] + a:000) 76 | endfunction 77 | 78 | function! g:UsesOfSymbolAtPointHandler_Ok(diclist, ...) 79 | return 1 80 | endfunction 81 | 82 | return { 83 | \ 'abort': function("g:UsesOfSymbolAtPointHandler_Abort"), 84 | \ 'ok': function("g:UsesOfSymbolAtPointHandler_Ok") 85 | \ } 86 | endfunction 87 | -------------------------------------------------------------------------------- /autoload/vimside/version.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " version.vim 3 | " 4 | " File: version.vim 5 | " Summary: Vimside Version 6 | " Author: Richard Emberson 7 | " 8 | " ============================================================================ 9 | " Intro: {{{1 10 | " Might attempt to do Semantic Versioning. See http://semver.org/ 11 | " ============================================================================ 12 | 13 | let s:version_major = 0 14 | let s:version_minor = 4 15 | let s:version_patch = 0 16 | let s:version_pre_release = '' 17 | " build version is not applicable 18 | 19 | let s:version_str = ''. s:version_major 20 | let s:version_str .= '.'. s:version_minor 21 | let s:version_str .= '.'. s:version_patch 22 | if s:version_pre_release != '' 23 | let s:version_str .= '-'. s:version_pre_release 24 | endif 25 | 26 | " return list of [major_nos, minor_nos, patch_nos, pre_release_str] 27 | function! vimside#version#Values() 28 | return [ s:version_major, s:version_minor, s:version_patch, s:version_pre_release ] 29 | endfunction 30 | 31 | function! vimside#version#Str() 32 | return s:version_str 33 | endfunction 34 | -------------------------------------------------------------------------------- /autoload/vimside/vimplugins.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " vimplugins.vim 3 | " 4 | " File: vimplugins.vim 5 | " Summary: Check is require Vim plugins exist and warn about optional ones 6 | " Author: Richard Emberson 7 | " Last Modified: 2012 8 | " 9 | " ============================================================================ 10 | " Intro: {{{1 11 | " ============================================================================ 12 | 13 | function! vimside#vimplugins#Check() 14 | let errors = g:vimside.errors 15 | let warns = g:vimside.warns 16 | 17 | " Required plugins 18 | silent! call vimproc#version() 19 | if ! exists("*vimproc#version") 20 | call add(errors, "Requires Vimproc plugin: https://github.com/Shougo/vimproc") 21 | endif 22 | 23 | 24 | silent! call vimshell#version() 25 | if ! exists("*vimshell#version") 26 | call add(errors, "Requires Vimshell plugin: https://github.com/Shougo/vimshell") 27 | endif 28 | 29 | " Optional plugins 30 | silent! call forms#version() 31 | if exists("*forms#version") 32 | let g:vimside.plugins.forms = 1 33 | else 34 | let g:vimside.plugins.forms = 0 35 | 36 | call add(warns, "Less functiona without Forms plugin: https://github.com/megaannum/forms") 37 | silent! call self#version() 38 | if ! exists("*self#version") 39 | call add(warns, "Forms plugin requires Self: https://github.com/megaannum/self") 40 | endif 41 | endif 42 | 43 | endfunction 44 | -------------------------------------------------------------------------------- /data/vimside/_ensime: -------------------------------------------------------------------------------- 1 | ;; Generated from Ant build.xml 2012-04-25T10:48 2 | ( 3 | 4 | :root-dir "/home/emberson/MEGAANNUM/scala/core" 5 | 6 | :name "core" 7 | 8 | ;; synonymKey for :name 9 | ;; :project-name "core" 10 | 11 | :package "com.megaannum.core" 12 | 13 | ;; synonymKey for :package 14 | ;; :project-package "com.megaannum.core" 15 | 16 | :version "$component.version" 17 | 18 | ;; :compile-deps (list strings) 19 | ;; :compile-deps 20 | 21 | :compile-jars ("/home/emberson/MEGAANNUM/scala/core/build/classes") 22 | 23 | ;; :runtime-deps (list strings) 24 | 25 | ;; :runtime-jars (list strings) 26 | 27 | ;; :test-deps (list strings) 28 | 29 | :sources ("/home/emberson/MEGAANNUM/scala/core/src/main/java" "/home/emberson/MEGAANNUM/scala/core/src/main/scala") 30 | ;; "/home/emberson/MEGAANNUM/scala/core/src/test/java" "/home/emberson/MEGAANNUM/scala/core/src/test/scala" 31 | 32 | ;; synonymKey for :source-roots 33 | ;; :source-roots (list strings) 34 | 35 | :target "/home/emberson/MEGAANNUM/scala/core/build/classes" 36 | :test-target "/home/emberson/MEGAANNUM/scala/core/build/test/classes" 37 | 38 | :disable-index-on-startup nil 39 | 40 | :only-include-in-index ("com\\.megaannum\\.\*") 41 | 42 | :exclude-from-index ("com\\.megaannum\\.core\\.xmlconfig\\.compiler\*") 43 | 44 | :compiler-args ("-Ywarn-dead-code") 45 | 46 | ;; :builder-args (list strings) 47 | 48 | ;; :formatting-prefs (symbol_map) 49 | ;; https://github.com/mdr/scalariform 50 | :formatting-prefs (:alignParameters t 51 | :alignSingleLineCaseStatements nil 52 | ;; :alignSingleLineCaseStatements_maxArrowIndent 20 53 | :compactStringConcatenation t 54 | :doubleIndentClassDeclaration t 55 | :indentLocalDefs nil 56 | :indentPackageBlocks nil 57 | :indentSpaces 2 58 | :indentWithTabs nil 59 | :multilineScaladocCommentsStartOnFirstLine nil 60 | :preserveDanglingCloseParenthesis t 61 | :preserveSpaceBeforeArguments nil 62 | :rewriteArrowSymbols nil 63 | :spaceBeforeColon nil 64 | :spaceInsideBrackets nil 65 | :spaceInsideParentheses nil 66 | :spacesWithinPatternBinders t) 67 | 68 | ) 69 | -------------------------------------------------------------------------------- /data/vimside/example_options_project.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " This file, example_options_project.vim will NOT be read by the Vimside 3 | " code. 4 | " 5 | " This is a mechanism for having project-specific Vimside Option values. 6 | " By default, the Option: 'vimside-project-options-enabled' is 1 (true). 7 | " This controls if Vimside attempts to locate and load a project- 8 | " specific Optiosn file. 9 | " 10 | " To adjust option values on a per-project basis: 11 | " copy this file to a project directory, 12 | " call the file the value of the Option: 13 | " 'vimside-project-options-file-name' 14 | " which, by default, has the value: 'options_project.vim' 15 | " and add Option setter calls, e.g.: 16 | " call owner.Set("vimside-scala-version", "2.10.0") 17 | " call owner.Set("ensime-dist-dir", "ensime_2.10.0-0.9.8.9") 18 | " call owner.Set("ensime-config-file-name", "_ensime") 19 | " These Option values will be used to configure Vimside and can be 20 | " project specific 21 | " ============================================================================ 22 | 23 | " full path to this file 24 | let s:full_path=expand(':p') 25 | 26 | " full path to this file's directory 27 | let s:full_dir=fnamemodify(s:full_path, ':h') 28 | 29 | function! g:VimsideOptionsProjectLoad(owner) 30 | let owner = a:owner 31 | 32 | " call owner.Set("ensime-log-enabled", 1) 33 | " call owner.Set("vimside-log-enabled", 1) 34 | 35 | " call owner.Update("vimside-scala-version", "2.10.0") 36 | " call owner.Update("ensime-dist-dir", "ensime_2.10.0-0.9.8.9") 37 | " call owner.Update("ensime-config-file-name", "_ensime") 38 | 39 | " call owner.Set("forms-use", 1) 40 | 41 | " To use command line hover, disable (0) both 42 | " To use GVim hover, enable (1) balloon 43 | " To use Vim term hover, enable (1) term-balloon 44 | " call owner.Set("vimside-hover-balloon-enabled", 0) 45 | " call owner.Set("vimside-hover-term-balloon-enabled", 0) 46 | 47 | endfunction 48 | 49 | -------------------------------------------------------------------------------- /data/vimside/example_plugin_user.vim: -------------------------------------------------------------------------------- 1 | " ============================================================================ 2 | " This file, example_plugin_user.vim will NOT be read by the Vimside 3 | " code. 4 | " To adjust key mapping values, copy this file to 'plugin_user.vim' and 5 | " then make changes. 6 | " ============================================================================ 7 | 8 | nmap vs :call vimside#StartEnsime() 9 | nmap vS :call vimside#StopEnsime() 10 | 11 | nmap vp :call vimside#swank#rpc#symbol_at_point#Run() 12 | nmap vu :call vimside#swank#rpc#uses_of_symbol_at_point#Run() 13 | 14 | nmap vc :call vimside#swank#rpc#typecheck_file#Run() 15 | nmap vf :call vimside#swank#rpc#format_source#Run() 16 | nmap va :call vimside#swank#rpc#typecheck_all#Run() 17 | nmap vz :call vimside#swank#rpc#repl_config#Run() 18 | 19 | 20 | augroup VIMSIDE 21 | au! 22 | autocmd VimLeave * call vimside#StopEnsime() 23 | augroup END 24 | -------------------------------------------------------------------------------- /data/vimside/projects/sbt/build.sbt: -------------------------------------------------------------------------------- 1 | 2 | name := "hello" 3 | 4 | version := "1.0" 5 | 6 | scalaVersion := "2.10.2" 7 | -------------------------------------------------------------------------------- /data/vimside/projects/sbt/ensime_config.vim: -------------------------------------------------------------------------------- 1 | 2 | " full path to this file 3 | let s:full_path=expand(':p') 4 | " full path to this file's directory 5 | let s:full_dir=fnamemodify(s:full_path, ':h') 6 | " file name 7 | let s:file_name=fnamemodify(s:full_path, ':t') 8 | 9 | let s:scala_home = $SCALA_HOME 10 | if s:scala_home == '' 11 | throw "SCALA_HOME not set in file " . s:full_path 12 | endif 13 | let s:java_home = $JAVA_HOME 14 | if s:java_home == '' 15 | throw "JAVA_HOME not set in file " . s:full_path 16 | endif 17 | 18 | let compile_jars = g:SExp( 19 | \ g:Str(s:full_dir . "/build/classes") 20 | \ ) 21 | let source_roots = g:SExp( 22 | \ g:Str(s:full_dir . "/src/main/java"), 23 | \ g:Str(s:full_dir . "/src/main/scala") 24 | \ ) 25 | let reference_source_roots = g:SExp( 26 | \ g:Str(s:java_home . "/src"), 27 | \ g:Str(s:scala_home . "/src") 28 | \ ) 29 | let include_index = g:SExp( 30 | \ g:Str('com\\.megaannum\\.\*') 31 | \ ) 32 | let exclude_index = g:SExp( 33 | \ g:Str('com\\.megaannum\\.core\\.xmlconfig\\.compiler\\*') 34 | \ ) 35 | let compiler_args = g:SExp( 36 | \ g:Str("-Ywarn-dead-code") 37 | \ ) 38 | 39 | " :alignSingleLineCaseStatements_maxArrowIndent 20 40 | let formatting_prefs = g:SExp( 41 | \ Key(":alignParameters"), g:Bool(1), 42 | \ Key(":alignSingleLineCaseStatements"), g:Bool(0), 43 | \ Key(":compactStringConcatenation"), g:Bool(1), 44 | \ Key(":doubleIndentClassDeclaration"), g:Bool(1), 45 | \ Key(":indentLocalDefs"), g:Bool(0), 46 | \ Key(":indentPackageBlocks"), g:Bool(0), 47 | \ Key(":indentSpaces"), g:Int(2), 48 | \ Key(":indentWithTabs"), g:Bool(0), 49 | \ Key(":multilineScaladocCommentsStartOnFirstLine"), g:Bool(0) 50 | \ ) 51 | 52 | call vimside#sexp#AddTo_List(formatting_prefs, 53 | \ Key(":preserveDanglingCloseParenthesis"), g:Bool(1), 54 | \ Key(":preserveSpaceBeforeArguments"), g:Bool(0), 55 | \ Key(":rewriteArrowSymbols"), g:Bool(0), 56 | \ Key(":spaceBeforeColon"), g:Bool(0), 57 | \ Key(":spaceInsideBrackets"), g:Bool(0), 58 | \ Key(":spaceInsideParentheses"), g:Bool(0), 59 | \ Key(":spacesWithinPatternBinders"), g:Bool(1) 60 | \ ) 61 | 62 | " Key(":disable-index-on-startup"), g:Bool(0), 63 | 64 | let g:ensime_config = g:SExp([ 65 | \ Key(":root-dir"), g:Str(s:full_dir), 66 | \ Key(":name"), g:Str("test"), 67 | \ Key(":package"), g:Str("com.megaannum"), 68 | \ Key(":version"), g:Str("1.0"), 69 | \ Key(":compile-jars"), compile_jars, 70 | \ Key(":compiler-args"), compiler_args, 71 | \ Key(":source-roots"), source_roots, 72 | \ Key(":reference-source-roots"), reference_source_roots, 73 | \ Key(":target"), g:Str(s:full_dir . "/build/src/classes/"), 74 | \ Key(":test-target"), g:Str(s:full_dir . "/build/test/classes/"), 75 | \ Key(":only-include-in-index"), include_index, 76 | \ Key(":exclude-from-index"), exclude_index, 77 | \ Key(":formatting-prefs"), formatting_prefs 78 | \ ] ) 79 | 80 | -------------------------------------------------------------------------------- /data/vimside/projects/sbt/options_project.vim: -------------------------------------------------------------------------------- 1 | 2 | " full path to this file 3 | let s:full_path=expand(':p') 4 | 5 | " full path to this file's directory 6 | let s:full_dir=fnamemodify(s:full_path, ':h') 7 | 8 | function! g:VimsideOptionsProjectLoad(owner) 9 | let owner = a:owner 10 | 11 | "-------------- 12 | " Enable logging 13 | call owner.Set("ensime-log-enabled", 1) 14 | call owner.Set("vimside-log-enabled", 1) 15 | "-------------- 16 | 17 | "-------------- 18 | " Defined Java versions: '1.5', '1.6', '1.7' 19 | " Defined Scala versions: '2.9.2', '2.10.0' 20 | " Minor version numbers not needed 21 | " Scala version MUST match 'ensime-dist-dir' used. 22 | call owner.Set("vimside-java-version", "1.7") 23 | call owner.Set("vimside-scala-version", "2.10.2") 24 | "-------------- 25 | 26 | "-------------- 27 | " Which build version of Ensime to use. 28 | " call owner.Set("ensime-dist-dir", "ensime_2.9.2-0.9.8.9") 29 | call owner.Set("ensime-dist-dir", "ensime_2.10.0-0.9.8.9") 30 | "-------------- 31 | 32 | "-------------- 33 | " The Ensime Config information is in a file called 'ensime_config.vim' 34 | call owner.Set("ensime-config-file-name", "ensime_config.vim") 35 | "-------------- 36 | 37 | "-------------- 38 | " Vimside uses Forms library 39 | call owner.Set("forms-use", 1) 40 | "-------------- 41 | 42 | "-------------- 43 | " Hover Options 44 | call owner.Set("vimside-hover-balloon-enabled", 0) 45 | call owner.Set("vimside-hover-term-balloon-enabled", 0) 46 | "-------------- 47 | endfunction 48 | -------------------------------------------------------------------------------- /data/vimside/projects/sbt/src/main/scala/com/megaannum/HW.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | object HW { 4 | val FOO = "FOO" 5 | 6 | def main(args: Array[String]) = println("Hi!") 7 | dev foo() = println("foo") 8 | } 9 | 10 | class HW { 11 | val i: Int = "hello world" 12 | } 13 | -------------------------------------------------------------------------------- /data/vimside/projects/sbt/src/main/scala/com/megaannum/SW.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | object SW { 4 | def main(args: Array[String]): Unit = { 5 | val sw = new SW() 6 | sw.acc() 7 | } 8 | } 9 | 10 | import SW._ 11 | 12 | class SW { 13 | val f = HW.FOO 14 | 15 | def sw(): String = { 16 | 4 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/build/classes/EMPTY: -------------------------------------------------------------------------------- 1 | Place holder so directory will exist 2 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/build/test/classes/EMPTY: -------------------------------------------------------------------------------- 1 | Place holder so directory will exist 2 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/ensime_config.vim: -------------------------------------------------------------------------------- 1 | 2 | " full path to this file 3 | let s:full_path=expand(':p') 4 | " full path to this file's directory 5 | let s:full_dir=fnamemodify(s:full_path, ':h') 6 | " file name 7 | let s:file_name=fnamemodify(s:full_path, ':t') 8 | 9 | let s:scala_home = $SCALA_HOME 10 | if s:scala_home == '' 11 | throw "SCALA_HOME not set in file " . s:full_path 12 | endif 13 | let s:java_home = $JAVA_HOME 14 | if s:java_home == '' 15 | throw "JAVA_HOME not set in file " . s:full_path 16 | endif 17 | 18 | let compile_jars = g:SExp( 19 | \ g:Str(s:full_dir . "/build/classes") 20 | \ ) 21 | let source_roots = g:SExp( 22 | \ g:Str(s:full_dir . "/src/main/java"), 23 | \ g:Str(s:full_dir . "/src/main/scala") 24 | \ ) 25 | let reference_source_roots = g:SExp( 26 | \ g:Str(s:java_home . "/src"), 27 | \ g:Str(s:scala_home . "/src") 28 | \ ) 29 | let include_index = g:SExp( 30 | \ g:Str('com\\.megaannum\\.\*') 31 | \ ) 32 | let exclude_index = g:SExp( 33 | \ g:Str('com\\.megaannum\\.core\\.xmlconfig\\.compiler\\*') 34 | \ ) 35 | let compiler_args = g:SExp( 36 | \ g:Str("-Ywarn-dead-code") 37 | \ ) 38 | 39 | " :alignSingleLineCaseStatements_maxArrowIndent 20 40 | let formatting_prefs = g:SExp( 41 | \ Key(":alignParameters"), g:Bool(1), 42 | \ Key(":alignSingleLineCaseStatements"), g:Bool(0), 43 | \ Key(":compactStringConcatenation"), g:Bool(1), 44 | \ Key(":doubleIndentClassDeclaration"), g:Bool(1), 45 | \ Key(":indentLocalDefs"), g:Bool(0), 46 | \ Key(":indentPackageBlocks"), g:Bool(0), 47 | \ Key(":indentSpaces"), g:Int(2), 48 | \ Key(":indentWithTabs"), g:Bool(0), 49 | \ Key(":multilineScaladocCommentsStartOnFirstLine"), g:Bool(0) 50 | \ ) 51 | 52 | call vimside#sexp#AddTo_List(formatting_prefs, 53 | \ Key(":preserveDanglingCloseParenthesis"), g:Bool(1), 54 | \ Key(":preserveSpaceBeforeArguments"), g:Bool(0), 55 | \ Key(":rewriteArrowSymbols"), g:Bool(0), 56 | \ Key(":spaceBeforeColon"), g:Bool(0), 57 | \ Key(":spaceInsideBrackets"), g:Bool(0), 58 | \ Key(":spaceInsideParentheses"), g:Bool(0), 59 | \ Key(":spacesWithinPatternBinders"), g:Bool(1) 60 | \ ) 61 | 62 | " Key(":disable-index-on-startup"), g:Bool(0), 63 | 64 | let g:ensime_config = g:SExp([ 65 | \ Key(":root-dir"), g:Str(s:full_dir), 66 | \ Key(":name"), g:Str("test"), 67 | \ Key(":package"), g:Str("com.megaannum"), 68 | \ Key(":version"), g:Str("1.0"), 69 | \ Key(":compile-jars"), compile_jars, 70 | \ Key(":compiler-args"), compiler_args, 71 | \ Key(":source-roots"), source_roots, 72 | \ Key(":reference-source-roots"), reference_source_roots, 73 | \ Key(":target"), g:Str(s:full_dir . "/build/classes"), 74 | \ Key(":test-target"), g:Str(s:full_dir . "/build/test/classes"), 75 | \ Key(":only-include-in-index"), include_index, 76 | \ Key(":exclude-from-index"), exclude_index, 77 | \ Key(":formatting-prefs"), formatting_prefs 78 | \ ] ) 79 | 80 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/options_project.vim: -------------------------------------------------------------------------------- 1 | 2 | " full path to this file 3 | let s:full_path=expand(':p') 4 | 5 | " full path to this file's directory 6 | let s:full_dir=fnamemodify(s:full_path, ':h') 7 | 8 | function! g:VimsideOptionsProjectLoad(owner) 9 | let owner = a:owner 10 | 11 | "-------------- 12 | " Enable logging 13 | call owner.Set("ensime-log-enabled", 1) 14 | call owner.Set("vimside-log-enabled", 1) 15 | "-------------- 16 | 17 | "-------------- 18 | " Defined Java versions: '1.5', '1.6', '1.7' 19 | " Defined Scala versions: '2.9.2', '2.10.0' 20 | " Minor version numbers not needed 21 | " Scala version MUST match 'ensime-dist-dir' used. 22 | call owner.Set("vimside-java-version", "1.7") 23 | call owner.Set("vimside-scala-version", "2.10.0") 24 | "-------------- 25 | 26 | "-------------- 27 | " Which build version of Ensime to use. 28 | call owner.Set("ensime-dist-dir", "ensime_2.10.0-0.9.8.9") 29 | "-------------- 30 | 31 | "-------------- 32 | " The Ensime Config information is in a file called 'ensime_config.vim' 33 | call owner.Set("ensime-config-file-name", "ensime_config.vim") 34 | "-------------- 35 | 36 | "-------------- 37 | " Vimside uses Forms library 38 | call owner.Set("forms-use", 1) 39 | "-------------- 40 | 41 | "-------------- 42 | " Hover Options 43 | call owner.Set("vimside-hover-balloon-enabled", 0) 44 | call owner.Set("vimside-hover-term-balloon-enabled", 0) 45 | "-------------- 46 | endfunction 47 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/java/com/megaannum/wicket/EventCallback.java: -------------------------------------------------------------------------------- 1 | package com.megaannum.wicket; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | @interface EventCallback { } 11 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/Bar.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | object Bar { 4 | def main(args: Array[String]): Unit = { 5 | } 6 | 7 | private var id = 0 8 | 9 | def nextId: Int = { 10 | val nid = id 11 | id += 1 12 | nid 13 | } 14 | 15 | val NAME = "MY NAME" 16 | } 17 | 18 | import Bar._ 19 | 20 | class Bar(val foo: Foo) { 21 | val id = nextId 22 | } 23 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/Foo.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | import java.lang.Float 4 | import java.lang.Math 5 | import scala.math._ 6 | import scala.sys._ 7 | 8 | 9 | 10 | object Foo { 11 | def main(args: Array[String]): Unit = { 12 | val nameOfBar = Bar.NAME 13 | println(nameOfBar) 14 | val f = new Float(4.3) 15 | println(f.toString) 16 | val i = 5 17 | val j = 10 18 | val m1 = Math.max(i, j) 19 | println(Integer.toString(m1, 8)) 20 | val m2 = max(2,5) 21 | println(m2) 22 | 23 | val bi = BigInt("1000", 8) 24 | println(bi) 25 | val b = bi.toString(8) 26 | 27 | 28 | error("sys.error") 29 | } 30 | } 31 | 32 | import Foo._ 33 | 34 | class Foo { 35 | val bar_object1 = new Bar(this) 36 | val bar_object2 = new Bar(this) 37 | 38 | def getBar: Bar = { 39 | bar_object1 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/Main.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | object Main { 4 | def doWork(value: Int): Int = { 5 | var incr = 1 6 | value + incr 7 | } 8 | def main(args: Array[String]): Unit = { 9 | var cnt = 0 10 | var total = 0 11 | while (cnt < 100) { 12 | Thread.sleep(5); 13 | total += doWork(total); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/Refactor.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum 2 | 3 | // see http://scala-refactoring.org/organize-imports/ 4 | 5 | import java.lang.String 6 | import collection.mutable.ListBuffer 7 | import java.lang._ 8 | import collection.mutable.{HashMap => HMap} 9 | import java.lang.Object 10 | 11 | object A 12 | 13 | // we also need io: 14 | import java.io._ 15 | 16 | object B 17 | 18 | // 19 | // Examples from http://scala-refactoring.org/ 20 | // Not all refactoring features behave the same. 21 | // 22 | object Refactor { 23 | 24 | object OrganizeImports { 25 | val lb = new ListBuffer[Int] 26 | val map = new HMap[String, Int] 27 | val f = new File("XXX") 28 | } 29 | 30 | object Rename { 31 | 32 | // Place cursor on message and invoke 'Rename' 33 | // see http://scala-refactoring.org/rename/ 34 | def helloworld { 35 | var message = Nil: List[String] 36 | message ::= "Hello" 37 | message ::= "World" 38 | 39 | println(message.size) 40 | println(message.mkString(" ")) 41 | } 42 | } 43 | class Rename { 44 | 45 | // Place cursor on msg and invoke 'Rename' 46 | // see http://scala-refactoring.org/rename/ 47 | def helloworld { 48 | val msg = List("Hello", "World") 49 | println(msg.mkString(" ")) 50 | } 51 | } 52 | 53 | object ExtractLocal { 54 | // Either visually select Syte....ux" and invoke 'ExtractLocal' 55 | // or place cursor within expression, invoke 'ExpandSelection' 56 | // and then invoke 'ExtractLocal' 57 | // see http://scala-refactoring.org/extract-local/ 58 | def main(args: Array[String]): Unit = { 59 | println("Detecting OS...") 60 | 61 | if (System.getProperties.get("os.name") == "Linux") { 62 | println("We're on Linux") 63 | } else { 64 | println("We're not on Linux") 65 | } 66 | } 67 | } 68 | object InlineLocal { 69 | // http://scala-refactoring.org/inline-local/ 70 | def main(args: Array[String]): Unit = { 71 | args toList match { 72 | case x :: Nil => 73 | val x = "one argument" 74 | println(x) 75 | case _ => 76 | println("more than one arguament") 77 | } 78 | } 79 | } 80 | object ExtractMethod { 81 | // see http://scala-refactoring.org/extract-method/ 82 | val name = "Mirko" 83 | def printBanner() = {} 84 | def printOwing(amount: Double) { 85 | printBanner() 86 | 87 | // print details 88 | print("name: " + name) 89 | print("amount: " + amount) 90 | } 91 | } 92 | } 93 | 94 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/wicket/Component.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum.wicket 2 | 3 | object Component { 4 | def main(args: Array[String]): Unit = { 5 | } 6 | } 7 | 8 | import Component._ 9 | 10 | class Component[T] { 11 | } 12 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/wicket/DispatchToAnnotatedMethod.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum.wicket 2 | 3 | object DispatchToAnnotatedMethod { 4 | def main(args: Array[String]): Unit = { 5 | } 6 | } 7 | 8 | import DispatchToAnnotatedMethod._ 9 | 10 | class DispatchToAnnotatedMethod { 11 | def dispatchEvent(sink: Any, 12 | event: IEvent[_], 13 | component: Component[_]): Unit = { 14 | var sinkMethods = sink.getClass.getMethods 15 | for (sinkMethod <- sinkMethods) { 16 | if (sinkMethod.isAnnotationPresent(classOf[EventCallback])) { 17 | try { 18 | sinkMethod.invoke(sink) 19 | } catch { 20 | case e: Exception => 21 | throw new RuntimeException(e) 22 | } 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /data/vimside/projects/simple/src/main/scala/com/megaannum/wicket/IEvent.scala: -------------------------------------------------------------------------------- 1 | package com.megaannum.wicket 2 | 3 | object IEvent { 4 | def main(args: Array[String]): Unit = { 5 | } 6 | } 7 | 8 | import IEvent._ 9 | 10 | class IEvent[T] { 11 | } 12 | -------------------------------------------------------------------------------- /data/vimside/tests/README: -------------------------------------------------------------------------------- 1 | 2 | To run these test you have to have two Vim packages installed: 3 | runVimTests-1.22.zip 4 | http://www.vim.org/scripts/script.php?script_id=2565 5 | vimtap-0.4.0.zip. 6 | http://www.vim.org/scripts/script.php?script_id=2213 7 | 8 | 9 | To execute tests run: 10 | 11 | runVimTests.sh .vim 12 | 13 | where is the name of a test file. 14 | -------------------------------------------------------------------------------- /data/vimside/tests/ensime_config_file/ensime_config_file.suite: -------------------------------------------------------------------------------- 1 | test001.vim 2 | -------------------------------------------------------------------------------- /data/vimside/tests/ensime_config_file/make_clean: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /bin/rm -f *.tap *.msgout 4 | -------------------------------------------------------------------------------- /data/vimside/tests/ensime_config_file/test001.msgout: -------------------------------------------------------------------------------- 1 | 2 | ( 3 | :server-cmd "bin/server.sh" 4 | :dependendency-dirs ("hello" "world") 5 | ) 6 | ( 7 | adf sdafdfsdasfd 8 | ) 9 | Error detected while processing function vimside#EnsimeConfigLoad: 10 | line 10: 11 | Warning: bad config file: /tmp/vyUgU1o/1 content 12 | -------------------------------------------------------------------------------- /data/vimside/tests/ensime_config_file/test001.tap: -------------------------------------------------------------------------------- 1 | 1..5 2 | ok 1 - load ensime config file 3 | ok 2 - load ensime config file 4 | ok 3 - load ensime config file 5 | ok 4 - load ensime config file 6 | ok 5 - load ensime config file 7 | -------------------------------------------------------------------------------- /data/vimside/tests/ensime_config_file/test001.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test boolean 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test001.tap') 6 | call vimtap#Plan(5) 7 | 8 | function! Write_to_file(file, lines) 9 | execute "redir >> " . a:file 10 | silent echo "(" 11 | for line in a:lines 12 | silent echo line 13 | endfor 14 | silent echo ")" 15 | execute "redir END" 16 | endfunction 17 | 18 | 19 | let tempfile = tempname() 20 | let tempdir = fnamemodify(tempfile, ":p:h") 21 | 22 | let lines = [ 23 | \ ':server-cmd "bin/server.sh"', 24 | \ ':dependendency-dirs ("hello" "world")' 25 | \ ] 26 | 27 | call Write_to_file(tempfile, lines) 28 | let [ok, sexp, dic] = vimside#EnsimeConfigLoad(tempfile) 29 | " echo "ok=". ok 30 | " echo "dic=". string(dic) 31 | 32 | 33 | let got = ok 34 | let exp = "1" 35 | let qgot = "" 36 | let description = "load ensime config file" 37 | call vimtap#Is(got, exp, qgot, description) 38 | 39 | let got = dic[":server-cmd"] 40 | let exp = "bin/server.sh" 41 | let qgot = "" 42 | let description = "load ensime config file" 43 | call vimtap#Is(got, exp, qgot, description) 44 | 45 | let got = string(dic[":dependendency-dirs"]) 46 | let exp = "['hello', 'world']" 47 | let qgot = "" 48 | let description = "load ensime config file" 49 | call vimtap#Is(got, exp, qgot, description) 50 | 51 | let got = dic[":root-dir"] 52 | let exp = tempdir 53 | let qgot = "" 54 | let description = "load ensime config file" 55 | call vimtap#Is(got, exp, qgot, description) 56 | 57 | 58 | unlet dic 59 | unlet sexp 60 | 61 | 62 | let tempfile = tempname() 63 | let tempdir = fnamemodify(tempfile, ":p:h") 64 | 65 | let lines = [ 66 | \ 'adf sdafdfsdasfd' 67 | \ ] 68 | 69 | call Write_to_file(tempfile, lines) 70 | let [ok, sexp, dic] = vimside#EnsimeConfigLoad(tempfile) 71 | 72 | let got = ok 73 | let exp = "0" 74 | let qgot = "" 75 | let description = "load ensime config file" 76 | call vimtap#Is(got, exp, qgot, description) 77 | 78 | 79 | 80 | call vimtap#FlushOutput() 81 | quit! 82 | 83 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/inspector.suite: -------------------------------------------------------------------------------- 1 | test001.vim 2 | test002.vim 3 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/make_clean: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /bin/rm -f *.tap *.msgout 4 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test001.msgout: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test001.tap: -------------------------------------------------------------------------------- 1 | 1..7 2 | ok 1 - inspector#with_name_parts 3 | ok 2 - inspector#with_name_parts 4 | ok 3 - inspector#with_name_parts 5 | ok 4 - inspector#with_name_parts 6 | ok 5 - inspector#with_name_parts 7 | ok 6 - inspector#with_name_parts 8 | ok 7 - inspector#with_name_parts 9 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test001.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test boolean 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test001.tap') 6 | call vimtap#Plan(7) 7 | 8 | let str = "java.util.List" 9 | let got = string(vimside#command#inspector#with_name_parts(str)) 10 | let exp = "['java.util', '', 'List']" 11 | let qgot = "" 12 | let description = "inspector#with_name_parts" 13 | call vimtap#Is(got, exp, qgot, description) 14 | 15 | let str = "java.util.List" 16 | let got = string(vimside#command#inspector#with_name_parts(str)) 17 | let exp = "['java.util', '', 'List']" 18 | call vimtap#Is(got, exp, qgot, description) 19 | 20 | let str = "scala.tools.nsc.symtab.Types$Type" 21 | let got = string(vimside#command#inspector#with_name_parts(str)) 22 | let exp = "['scala.tools.nsc.symtab', 'Types', 'Type']" 23 | call vimtap#Is(got, exp, qgot, description) 24 | 25 | let str = "scala.tools.nsc.symtab.Types" 26 | let got = string(vimside#command#inspector#with_name_parts(str)) 27 | let exp = "['scala.tools.nsc.symtab', '', 'Types']" 28 | call vimtap#Is(got, exp, qgot, description) 29 | 30 | let str = "scala.tools.nsc.symtab.Types$Dude$AbsType" 31 | let got = string(vimside#command#inspector#with_name_parts(str)) 32 | let exp = "['scala.tools.nsc.symtab', 'Types$Dude', 'AbsType']" 33 | call vimtap#Is(got, exp, qgot, description) 34 | 35 | let str = "scala.tools.nsc.symtab.Types$$Type$" 36 | let got = string(vimside#command#inspector#with_name_parts(str)) 37 | let exp = "['scala.tools.nsc.symtab', 'Types$', 'Type$']" 38 | call vimtap#Is(got, exp, qgot, description) 39 | 40 | let str = "Types$$Type$" 41 | let got = string(vimside#command#inspector#with_name_parts(str)) 42 | let exp = "['', 'Types$', 'Type$']" 43 | call vimtap#Is(got, exp, qgot, description) 44 | 45 | call vimtap#FlushOutput() 46 | quit! 47 | 48 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test002.msgout: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test002.tap: -------------------------------------------------------------------------------- 1 | 1..8 2 | ok 1 - inspector#with_name_parts 3 | ok 2 - inspector#with_name_parts 4 | ok 3 - inspector#with_name_parts 5 | ok 4 - inspector#with_name_parts 6 | ok 5 - inspector#with_name_parts 7 | ok 6 - inspector#with_name_parts 8 | ok 7 - inspector#with_name_parts 9 | ok 8 - inspector#with_name_parts 10 | -------------------------------------------------------------------------------- /data/vimside/tests/inspector/test002.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test boolean 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test002.tap') 6 | call vimtap#Plan(8) 7 | 8 | let qgot = "" 9 | let description = "inspector#with_name_parts" 10 | 11 | 12 | 13 | let str = "java.util.List" 14 | let got = string(vimside#command#inspector#with_path_and_name(str)) 15 | let exp = "['java.util', 'List']" 16 | call vimtap#Is(got, exp, qgot, description) 17 | 18 | let str = "scala.tools.nsc.symtab.Types$Type" 19 | let got = string(vimside#command#inspector#with_path_and_name(str)) 20 | let exp = "['scala.tools.nsc.symtab', 'Types$Type']" 21 | call vimtap#Is(got, exp, qgot, description) 22 | 23 | let str = "scala.tools.nsc.symtab.Types" 24 | let got = string(vimside#command#inspector#with_path_and_name(str)) 25 | let exp = "['scala.tools.nsc.symtab', 'Types']" 26 | call vimtap#Is(got, exp, qgot, description) 27 | 28 | let str = "scala.tools.nsc.symtab.Types$Dude$AbsType" 29 | let got = string(vimside#command#inspector#with_path_and_name(str)) 30 | let exp = "['scala.tools.nsc.symtab', 'Types$Dude$AbsType']" 31 | call vimtap#Is(got, exp, qgot, description) 32 | 33 | 34 | let str = "scala.tools.nsc.symtab.Types$$Type$" 35 | let got = string(vimside#command#inspector#with_path_and_name(str)) 36 | let exp = "['scala.tools.nsc.symtab', 'Types$$Type$']" 37 | call vimtap#Is(got, exp, qgot, description) 38 | 39 | let str = "Types$$Type$" 40 | let got = string(vimside#command#inspector#with_path_and_name(str)) 41 | let exp = "['', 'Types$$Type$']" 42 | call vimtap#Is(got, exp, qgot, description) 43 | 44 | let str = "java.uti" 45 | let got = string(vimside#command#inspector#with_path_and_name(str)) 46 | let exp = "['java', 'uti']" 47 | call vimtap#Is(got, exp, qgot, description) 48 | 49 | let str = "uti" 50 | let got = string(vimside#command#inspector#with_path_and_name(str)) 51 | let exp = "['', 'uti']" 52 | call vimtap#Is(got, exp, qgot, description) 53 | 54 | call vimtap#FlushOutput() 55 | quit! 56 | 57 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/ensime: -------------------------------------------------------------------------------- 1 | ;; Generated from Ant build.xml 2012-04-25T10:48 2 | ( 3 | 4 | :root-dir "/home/emberson/MEGAANNUM/scala/core" 5 | 6 | :name "core" 7 | 8 | ;; synonymKey for :name 9 | ;; :project-name "core" 10 | 11 | :package "com.megaannum.core" 12 | 13 | ;; synonymKey for :package 14 | ;; :project-package "com.megaannum.core" 15 | 16 | :version "$component.version" 17 | 18 | ;; :compile-deps (list strings) 19 | ;; :compile-deps 20 | 21 | :compile-jars ("/home/emberson/scala/scala-2.10.0-M7/lib/scala-library.jar" "/home/emberson/scala/scala-2.10.0-M7/lib/scala-compiler.jar" "/home/emberson/MEGAANNUM/scala/core/build/classes") 22 | 23 | ;; :runtime-deps (list strings) 24 | 25 | ;; :runtime-jars (list strings) 26 | 27 | ;; :test-deps (list strings) 28 | 29 | :sources ("/home/emberson/MEGAANNUM/scala/core/src/main/java" "/home/emberson/MEGAANNUM/scala/core/src/main/scala") 30 | ;; "/home/emberson/MEGAANNUM/scala/core/src/test/java" "/home/emberson/MEGAANNUM/scala/core/src/test/scala" 31 | 32 | ;; synonymKey for :source-roots 33 | ;; :source-roots (list strings) 34 | 35 | :target "/home/emberson/MEGAANNUM/scala/core/build/classes" 36 | 37 | :disable-index-on-startup nil 38 | 39 | :only-include-in-index ("com\\.megaannum\\.\*") 40 | 41 | :exclude-from-index ("com\\.megaannum\\.core\\.xmlconfig\\.compiler\*") 42 | 43 | :compiler-args ("-Ywarn-dead-code") 44 | 45 | ;; :builder-args (list strings) 46 | 47 | ;; :formatting-prefs (symbol_map) 48 | ;; https://github.com/mdr/scalariform 49 | :formatting-prefs (:alignParameters t 50 | :alignSingleLineCaseStatements nil 51 | :alignSingleLineCaseStatements_maxArrowIndent 20 52 | :compactControlReadability t 53 | :compactStringConcatenation t 54 | :doubleIndentClassDeclaration t 55 | :indentLocalDefs nil 56 | :indentPackageBlocks nil 57 | :indentSpaces 2 58 | :indentWithTabs nil 59 | :multilineScaladocCommentsStartOnFirstLine nil 60 | :preserveDanglingCloseParenthesis t 61 | :placeScaladocAsterisksBeneathSecondAsterisk nil 62 | :preserveSpaceBeforeArguments nil 63 | :rewriteArrowSymbols nil 64 | :spaceBeforeColon nil 65 | :spaceInsideBrackets nil 66 | :spaceInsideParentheses nil 67 | :spacesWithinPatternBinders t) 68 | 69 | ) 70 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/ensime_config.vim: -------------------------------------------------------------------------------- 1 | 2 | " this file 3 | " full path 4 | " directory 5 | " name 6 | let s:full_path=expand(':p') 7 | let s:full_dir=fnamemodify(s:full_path, ':h') 8 | let s:file_name=fnamemodify(s:full_path, ':t') 9 | 10 | let s:scala_home = $SCALA_HOME 11 | if s:scala_home == '' 12 | throw "SCALA_HOME not set in file " . s:full_path 13 | endif 14 | 15 | let s:compile_jars = g:SExp( 16 | \ g:Str(s:scala_home . "lib/scala-library.jar"), 17 | \ g:Str(s:scala_home . "lib/scala-compiler.jar"), 18 | \ g:Str(s:full_dir . "/build/classes") 19 | \ ) 20 | let s:sources = g:SExp( 21 | \ g:Str(s:full_dir . "/src/main/java"), 22 | \ g:Str(s:full_dir . "/src/main/scala") 23 | \ ) 24 | let s:include_index = g:SExp( 25 | \ g:Str("com\\.megaannum\\.\*") 26 | \ ) 27 | 28 | let g:ensime_config = g:SExp([ 29 | \ Key(":root-dir"), g:Str(s:full_dir), 30 | \ Key(":name"), g:Str("test"), 31 | \ Key(":package"), g:Str("com.megaannum.vimside"), 32 | \ Key(":version"), g:Int(1), 33 | \ Key(":compile-jar"), s:compile_jars, 34 | \ Key(":sources"), s:sources, 35 | \ Key(":target"), g:Str(s:full_dir . "/build/classes"), 36 | \ Key(":only-include-in-index"), s:include_index 37 | \ ] ) 38 | 39 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/make_clean: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /bin/rm -f *.tap *.msgout 4 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/sexp.suite: -------------------------------------------------------------------------------- 1 | test001.vim 2 | test002.vim 3 | test003.vim 4 | test004.vim 5 | test005.vim 6 | test006.vim 7 | test007.vim 8 | test008.vim 9 | test009.vim 10 | test010.vim 11 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test001.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test boolean 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test001.tap') 6 | call vimtap#Plan(12) 7 | 8 | 9 | let exp = 0 10 | let v = vimside#sexp#Make_Boolean(exp) 11 | let s = vimside#sexp#ToString(v) 12 | call vimtap#Is(s,'nil','vimside#sexp#ToString(0)', 'boolean false ToString') 13 | let s = vimside#sexp#ToReadableString(v) 14 | call vimtap#Is(s,'nil','vimside#sexp#ToReadableString(0)', 'boolean false ToReadableString') 15 | let s = vimside#sexp#ToWireString(v) 16 | call vimtap#Is(s,'nil','vimside#sexp#ToWireString(0)', 'boolean false ToWireString') 17 | let got = vimside#sexp#ToVim(v) 18 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(0)', 'boolean false ToVim') 19 | unlet got 20 | 21 | let exp = 1 22 | let v = vimside#sexp#Make_Boolean(exp) 23 | let s = vimside#sexp#ToString(v) 24 | call vimtap#Is(s,'t','vimside#sexp#ToString(1)', 'boolean true ToString') 25 | let s = vimside#sexp#ToReadableString(v) 26 | call vimtap#Is(s,'t','vimside#sexp#ToReadableString(1)', 'boolean true ToReadableString') 27 | let s = vimside#sexp#ToWireString(v) 28 | call vimtap#Is(s,'t','vimside#sexp#ToWireString(1)', 'boolean true ToWireString') 29 | let got = vimside#sexp#ToVim(v) 30 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(1)', 'boolean true ToVim') 31 | unlet got 32 | 33 | let in = "(t)" 34 | let sexp = vimside#sexp#Parse(in) 35 | let s = vimside#sexp#ToWireString(sexp) 36 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'boolean true ToWireString') 37 | 38 | let in = "(nil)" 39 | let sexp = vimside#sexp#Parse(in) 40 | let s = vimside#sexp#ToWireString(sexp) 41 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'boolean true ToWireString') 42 | 43 | let in = "(t nil)" 44 | let sexp = vimside#sexp#Parse(in) 45 | let s = vimside#sexp#ToWireString(sexp) 46 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'boolean true ToWireString') 47 | 48 | let in = "(t nil t (nil t))" 49 | let sexp = vimside#sexp#Parse(in) 50 | let s = vimside#sexp#ToWireString(sexp) 51 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'boolean true ToWireString') 52 | 53 | call vimtap#FlushOutput() 54 | quit! 55 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test002.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test int 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test002.tap') 6 | call vimtap#Plan(19) 7 | 8 | 9 | let exp = 0 10 | let v = vimside#sexp#Make_Int(exp) 11 | let s = vimside#sexp#ToString(v) 12 | call vimtap#Is(s,'0','vimside#sexp#ToString(0)', 'int 0 ToString') 13 | let s = vimside#sexp#ToReadableString(v) 14 | call vimtap#Is(s,'0','vimside#sexp#ToReadableString(0)', 'int 0 ToReadableString') 15 | let s = vimside#sexp#ToWireString(v) 16 | call vimtap#Is(s,'0','vimside#sexp#ToWireString(0)', 'int 0 ToWireString') 17 | let got = vimside#sexp#ToVim(v) 18 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(0)', 'int 0 ToVim') 19 | unlet got 20 | 21 | let exp = 1 22 | let v = vimside#sexp#Make_Int(exp) 23 | let s = vimside#sexp#ToString(v) 24 | call vimtap#Is(s,'1','vimside#sexp#ToString(1)', 'int 1 ToString') 25 | let s = vimside#sexp#ToReadableString(v) 26 | call vimtap#Is(s,'1','vimside#sexp#ToReadableString(1)', 'int 1 ToReadableString') 27 | let s = vimside#sexp#ToWireString(v) 28 | call vimtap#Is(s,'1','vimside#sexp#ToWireString(1)', 'int 1 ToWireString') 29 | let got = vimside#sexp#ToVim(v) 30 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(1)', 'int 1 ToVim') 31 | unlet got 32 | 33 | let exp = 7 34 | let v = vimside#sexp#Make_Int(exp) 35 | let s = vimside#sexp#ToString(v) 36 | call vimtap#Is(s,'7','vimside#sexp#ToString(7)', 'int 7 ToString') 37 | let s = vimside#sexp#ToReadableString(v) 38 | call vimtap#Is(s,'7','vimside#sexp#ToReadableString(7)', 'int 7 ToReadableString') 39 | let s = vimside#sexp#ToWireString(v) 40 | call vimtap#Is(s,'7','vimside#sexp#ToWireString(7)', 'int 7 ToWireString') 41 | let got = vimside#sexp#ToVim(v) 42 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(7)', 'int 7 ToVim') 43 | unlet got 44 | 45 | let exp = -11 46 | let v = vimside#sexp#Make_Int(exp) 47 | let s = vimside#sexp#ToString(v) 48 | call vimtap#Is(s,'-11','vimside#sexp#ToString(-11)', 'int -11 ToString') 49 | let s = vimside#sexp#ToReadableString(v) 50 | call vimtap#Is(s,'-11','vimside#sexp#ToReadableString(-11)', 'int -11 ToReadableString') 51 | let s = vimside#sexp#ToWireString(v) 52 | call vimtap#Is(s,'-11','vimside#sexp#ToWireString(-11)', 'int -11 ToWireString') 53 | let got = vimside#sexp#ToVim(v) 54 | call vimtap#Is(got,exp,'vimside#sexp#ToVim(-11)', 'int -11 ToVim') 55 | unlet got 56 | 57 | let in = "(7)" 58 | let sexp = vimside#sexp#Parse(in) 59 | let s = vimside#sexp#ToWireString(sexp) 60 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'int 7 ToWireString') 61 | 62 | let in = "(-7 42)" 63 | let sexp = vimside#sexp#Parse(in) 64 | let s = vimside#sexp#ToWireString(sexp) 65 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'int 7 ToWireString') 66 | 67 | let in = "((6 6 6) -7 42)" 68 | let sexp = vimside#sexp#Parse(in) 69 | let s = vimside#sexp#ToWireString(sexp) 70 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'int 7 ToWireString') 71 | 72 | call vimtap#FlushOutput() 73 | quit! 74 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test003.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test string 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test003.tap') 6 | call vimtap#Plan(12) 7 | 8 | 9 | let exp = "Some String" 10 | let v = vimside#sexp#Make_String(exp) 11 | let s = vimside#sexp#ToString(v) 12 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'StringAtom ToString') 13 | let s = vimside#sexp#ToReadableString(v) 14 | call vimtap#Is(s,'"'.exp.'"','vimside#sexp#ToReadableString("'.exp.'")', 'StringAtom ToReadableString') 15 | let s = vimside#sexp#ToWireString(v) 16 | call vimtap#Is(s,'"'.exp.'"','vimside#sexp#ToWireString("'.exp.'")', 'StringAtom ToWireString') 17 | let got = vimside#sexp#ToVim(v) 18 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'StringAtom ToVim') 19 | unlet got 20 | 21 | let exp = 'A \x "second" String' 22 | let v = vimside#sexp#Make_String(exp) 23 | let s = vimside#sexp#ToString(v) 24 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'StringAtom ToString') 25 | let s = vimside#sexp#ToReadableString(v) 26 | call vimtap#Is(s,'"A \x "second" String"','vimside#sexp#ToReadableString("'.exp.'")', 'StringAtom ToReadableString') 27 | let s = vimside#sexp#ToWireString(v) 28 | call vimtap#Is(s,'"A \x "second" String"','vimside#sexp#ToWireString("'.exp.'")', 'StringAtom ToWireString') 29 | let got = vimside#sexp#ToVim(v) 30 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'StringAtom ToVim') 31 | unlet got 32 | 33 | 34 | let in = '("hi")' 35 | let sexp = vimside#sexp#Parse(in) 36 | let s = vimside#sexp#ToWireString(sexp) 37 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'string ("hi") ToWireString') 38 | 39 | let in = '("hi" "Bye")' 40 | let sexp = vimside#sexp#Parse(in) 41 | let s = vimside#sexp#ToWireString(sexp) 42 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'string ("hi") ToWireString') 43 | 44 | let in = '("hi \"Bye\" ok")' 45 | let sexp = vimside#sexp#Parse(in) 46 | let s = vimside#sexp#ToWireString(sexp) 47 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'string ("hi") ToWireString') 48 | 49 | let in = '("hi" ("Bye") "ok")' 50 | let sexp = vimside#sexp#Parse(in) 51 | let s = vimside#sexp#ToWireString(sexp) 52 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'string ("hi") ToWireString') 53 | 54 | call vimtap#FlushOutput() 55 | quit! 56 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test004.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test symbol 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test004.tap') 6 | call vimtap#Plan(11) 7 | 8 | 9 | let exp = "aSymbol" 10 | let v = vimside#sexp#Make_Symbol(exp) 11 | let s = vimside#sexp#ToString(v) 12 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'SymbolAtom ToString') 13 | let s = vimside#sexp#ToReadableString(v) 14 | call vimtap#Is(s,exp,'vimside#sexp#ToReadableString("'.exp.'")', 'SymbolAtom ToReadableString') 15 | let s = vimside#sexp#ToWireString(v) 16 | call vimtap#Is(s,exp,'vimside#sexp#ToWireString("'.exp.'")', 'SymbolAtom ToWireString') 17 | let got = vimside#sexp#ToVim(v) 18 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'SymbolAtom ToVim') 19 | unlet got 20 | 21 | let exp = 'symbol-33' 22 | let v = vimside#sexp#Make_Symbol(exp) 23 | let s = vimside#sexp#ToString(v) 24 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'SymbolAtom ToString') 25 | let s = vimside#sexp#ToReadableString(v) 26 | call vimtap#Is(s,exp,'vimside#sexp#ToReadableString("'.exp.'")', 'SymbolAtom ToReadableString') 27 | let s = vimside#sexp#ToWireString(v) 28 | call vimtap#Is(s,exp,'vimside#sexp#ToWireString("'.exp.'")', 'SymbolAtom ToWireString') 29 | let got = vimside#sexp#ToVim(v) 30 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'SymbolAtom ToVim') 31 | unlet got 32 | 33 | let in = '(aSymbol)' 34 | let sexp = vimside#sexp#Parse(in) 35 | let s = vimside#sexp#ToWireString(sexp) 36 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'SymbolAtom (aSymbol) ToWireString') 37 | 38 | let in = '(aSymbol s2 s-2:3)' 39 | let sexp = vimside#sexp#Parse(in) 40 | let s = vimside#sexp#ToWireString(sexp) 41 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'SymbolAtom (aSymbol) ToWireString') 42 | 43 | let in = '((aSymbol xx) s2 (s-2:3 yy))' 44 | let out = '((aSymbol xx) s2 (s-2:3 yy))' 45 | let sexp = vimside#sexp#Parse(in) 46 | let s = vimside#sexp#ToWireString(sexp) 47 | call vimtap#Is(s,out,'vimside#sexp#ToWireString(1)', 'SymbolAtom (aSymbol) ToWireString') 48 | 49 | call vimtap#FlushOutput() 50 | quit! 51 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test005.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test keyword 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test005.tap') 6 | call vimtap#Plan(10) 7 | 8 | 9 | let exp = ":proc" 10 | let v = vimside#sexp#Make_Keyword(exp) 11 | let s = vimside#sexp#ToString(v) 12 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'KeywordAtom ToString') 13 | let s = vimside#sexp#ToReadableString(v) 14 | call vimtap#Is(s,exp,'vimside#sexp#ToReadableString("'.exp.'")', 'KeywordAtom ToReadableString') 15 | let s = vimside#sexp#ToWireString(v) 16 | call vimtap#Is(s,exp,'vimside#sexp#ToWireString("'.exp.'")', 'KeywordAtom ToWireString') 17 | let got = vimside#sexp#ToVim(v) 18 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'KeywordAtom ToVim') 19 | unlet got 20 | 21 | let exp = ':val-r03' 22 | let v = vimside#sexp#Make_Keyword(exp) 23 | let s = vimside#sexp#ToString(v) 24 | call vimtap#Is(s,exp,'vimside#sexp#ToString("'.exp.'")', 'KeywordAtom ToString') 25 | let s = vimside#sexp#ToReadableString(v) 26 | call vimtap#Is(s,exp,'vimside#sexp#ToReadableString("'.exp.'")', 'KeywordAtom ToReadableString') 27 | let s = vimside#sexp#ToWireString(v) 28 | call vimtap#Is(s,exp,'vimside#sexp#ToWireString("'.exp.'")', 'KeywordAtom ToWireString') 29 | let got = vimside#sexp#ToVim(v) 30 | call vimtap#Is(got,exp,'vimside#sexp#ToVim("'.exp.'")', 'KeywordAtom ToVim') 31 | unlet got 32 | 33 | let in = "(:proc)" 34 | let sexp = vimside#sexp#Parse(in) 35 | let s = vimside#sexp#ToWireString(sexp) 36 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'KeywordAtom ToWireString') 37 | 38 | let in = "(:proc :ff (:aa) :One1-2:3)" 39 | let sexp = vimside#sexp#Parse(in) 40 | let s = vimside#sexp#ToWireString(sexp) 41 | call vimtap#Is(s,in,'vimside#sexp#ToWireString(1)', 'KeywordAtom ToWireString') 42 | 43 | call vimtap#FlushOutput() 44 | quit! 45 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test006.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test list 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test006.tap') 6 | call vimtap#Plan(8) 7 | 8 | 9 | let i = 5 10 | let ia = vimside#sexp#Make_Int(i) 11 | let v = vimside#sexp#Make_List([ia]) 12 | let s = vimside#sexp#ToString(v) 13 | call vimtap#Is(s,'(5)','vimside#sexp#ToString(0)', 'list [5] ToString') 14 | let s = vimside#sexp#ToReadableString(v) 15 | call vimtap#Is(s,'(5)','vimside#sexp#ToReadableString(0)', 'list [5] ToReadableString') 16 | let s = vimside#sexp#ToWireString(v) 17 | call vimtap#Is(s,'(5)','vimside#sexp#ToWireString(0)', 'list [5] ToWireString') 18 | let got = vimside#sexp#ToVim(v) 19 | call vimtap#Is(got,"(5)",'vimside#sexp#ToVim(0)', 'list [5] ToVim') 20 | unlet got 21 | 22 | let i = 5 23 | let ia = vimside#sexp#Make_Int(i) 24 | let s = "Hi there" 25 | let sa = vimside#sexp#Make_String(s) 26 | 27 | let v = vimside#sexp#Make_List([ia, sa]) 28 | let s = vimside#sexp#ToString(v) 29 | call vimtap#Is(s,'(5 Hi there)','vimside#sexp#ToString(1)', 'list [5, "Hi there"] ToString') 30 | let s = vimside#sexp#ToReadableString(v) 31 | call vimtap#Is(s,'(5 "Hi there")','vimside#sexp#ToReadableString(1)', 'list [5, "Hi there"] ToReadableString') 32 | let s = vimside#sexp#ToWireString(v) 33 | call vimtap#Is(s,'(5 "Hi there")','vimside#sexp#ToWireString(1)', 'list [5, "Hi there"] ToWireString') 34 | let got = vimside#sexp#ToVim(v) 35 | call vimtap#Is(got,'(5 Hi there)','vimside#sexp#ToVim(1)', 'list [5, "Hi there"] ToVim') 36 | unlet got 37 | 38 | call vimtap#FlushOutput() 39 | quit! 40 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test008.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test swank protocol 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test008.tap') 6 | call vimtap#Plan(1) 7 | 8 | let file = "ensime" 9 | let sexp = vimside#sexp#ParseFile(file) 10 | let s = vimside#sexp#ToWireString(sexp) 11 | 12 | let out = '(:root-dir "/home/emberson/MEGAANNUM/scala/core" :name "core" :package "com.megaannum.core" :version "$component.version" :compile-jars ("/home/emberson/scala/scala-2.10.0-M7/lib/scala-library.jar" "/home/emberson/scala/scala-2.10.0-M7/lib/scala-compiler.jar" "/home/emberson/MEGAANNUM/scala/core/build/classes") :sources ("/home/emberson/MEGAANNUM/scala/core/src/main/java" "/home/emberson/MEGAANNUM/scala/core/src/main/scala") :target "/home/emberson/MEGAANNUM/scala/core/build/classes" :disable-index-on-startup nil :only-include-in-index ("com\\.megaannum\\.\*") :exclude-from-index ("com\\.megaannum\\.core\\.xmlconfig\\.compiler\*") :compiler-args ("-Ywarn-dead-code") :formatting-prefs (:alignParameters t :alignSingleLineCaseStatements nil :alignSingleLineCaseStatements_maxArrowIndent 20 :compactControlReadability t :compactStringConcatenation t :doubleIndentClassDeclaration t :indentLocalDefs nil :indentPackageBlocks nil :indentSpaces 2 :indentWithTabs nil :multilineScaladocCommentsStartOnFirstLine nil :preserveDanglingCloseParenthesis t :placeScaladocAsterisksBeneathSecondAsterisk nil :preserveSpaceBeforeArguments nil :rewriteArrowSymbols nil :spaceBeforeColon nil :spaceInsideBrackets nil :spaceInsideParentheses nil :spacesWithinPatternBinders t))' 13 | 14 | call vimtap#Is(s,out,'vimside#sexp#ToWireString(1)', 'envime file ToWireString') 15 | 16 | call vimtap#FlushOutput() 17 | quit! 18 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test009.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test swank protocol 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test009.tap') 6 | call vimtap#Plan(1) 7 | 8 | let file = "ensime_config.vim" 9 | let sexp = vimside#sexp#LoadFile(file) 10 | let s = vimside#sexp#ToWireString(sexp) 11 | 12 | let s:full_path=expand(':p') 13 | let s:full_dir=fnamemodify(s:full_path, ':h') 14 | let s:scala_home = $SCALA_HOME 15 | let out = "(:root-dir \"". s:full_dir ."\" :name \"test\" :package \"com.megaannum.vimside\" :version 1 :compile-jar (\"". s:scala_home ."lib/scala-library.jar\" \"". s:scala_home ."lib/scala-compiler.jar\" \"". s:full_dir ."/build/classes\") :sources (\"". s:full_dir ."/src/main/java\" \"". s:full_dir ."/src/main/scala\") :target \"". s:full_dir ."/build/classes\" :only-include-in-index (\"com\\.megaannum\\.*\"))" 16 | 17 | call vimtap#Is(s,out,'vimside#sexp#ToWireString(1)', 'envime file ToWireString') 18 | 19 | call vimtap#FlushOutput() 20 | quit! 21 | -------------------------------------------------------------------------------- /data/vimside/tests/sexp/test010.vim: -------------------------------------------------------------------------------- 1 | "--------------------------- 2 | " test swank protocol 3 | "--------------------------- 4 | 5 | call vimtap#SetOutputFile('test010.tap') 6 | call vimtap#Plan(1) 7 | 8 | let in = '(:root-dir "/home/emberson/.vim/data/vimside" :name "test" :package "com.megaannum" :version 1 :compile-jars ("/home/emberson/scala/scala-2.10.0-M7/lib/scala-library.jar" "/home/emberson/scala/scala-2.10.0-M7/lib/scala-compiler.jar" "/home/emberson/.vim/data/vimside/build/classes") :compiler-args ("-Ywarn-dead-code") :disable-index-on-startup nil :source-roots ("/home/emberson/.vim/data/vimside/src/main/java" "/home/emberson/.vim/data/vimside/src/main/scala") :reference-source-roots ("/usr/local/java/src" "/home/emberson/scala/scala-2.10.0-M7/src/library" "/home/emberson/scala/scala-2.10.0-M7/src/compiler") :target "/home/emberson/.vim/data/vimside/build/classes" :only-include-in-index ("com\\.megaannum\\.\*") :exclude-from-index ("com\\.megaannum\\.core\\.xmlconfig\\.compiler\\*"))' 9 | 10 | let sexp = vimside#sexp#Parse(in) 11 | let [ok, v] = vimside#sexp#Convert_KeywordValueList2Dictionary(sexp) 12 | 13 | " echo "v=" . string(v) 14 | 15 | call vimtap#Is("","",'vimside#sexp#ToWireString(1)', 'envime file ToWireString') 16 | " call vimtap#Is(s,out,'vimside#sexp#ToWireString(1)', 'envime file ToWireString') 17 | 18 | call vimtap#FlushOutput() 19 | quit! 20 | -------------------------------------------------------------------------------- /data/vimside/tests/tests.suite: -------------------------------------------------------------------------------- 1 | 2 | inspector/inspector.suite 3 | sexp/sexp.suite 4 | ensime_config_file/ensime_config_file.suite 5 | -------------------------------------------------------------------------------- /ftplugin/scala.vim: -------------------------------------------------------------------------------- 1 | 2 | setlocal omnifunc=vimside#command#completions#Run 3 | " setlocal completeopt=menuone,preview 4 | setlocal completeopt=menu 5 | setlocal autoread 6 | 7 | 8 | -------------------------------------------------------------------------------- /pathogen_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | declare -a repos=( 4 | "git://github.com/megaannum/self.git" 5 | "git://github.com/megaannum/forms.git" 6 | "git://github.com/Shougo/vimproc.git" 7 | "git://github.com/Shougo/vimshell.git" 8 | "-b scala-2.9 git://github.com/aemoncannon/ensime.git" 9 | "git://github.com/megaannum/vimside.git" 10 | ) 11 | 12 | cd ~/.vim/bundle 13 | for repo in "${repos[@]}"; do 14 | git clone $repo 15 | done; 16 | 17 | cd vimproc 18 | make -f make_unix.mak 19 | --------------------------------------------------------------------------------