Skip to content
Newer
Older
100644 870 lines (648 sloc) 34.7 KB
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
1 # vimside
2
3 Vim Scala IDE (VimSIde) built upon ENSIME
4
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
5 ----
6
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
7 # Introduction
8
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
9 This is an alpha release of Vimside, a Vim Scala IDE.
10 Most of the ENSIME capabilities have been implemented and
11 but it has only been tested against the
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
12 very small Scala/Java test source project bundled with it.
13
537ec19 Version 0.4.0
richard emberson authored Aug 25, 2013
14 Three outstanding Ensime features to be implemented are more
15 regression tests, debugging and InSynth integeration.
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
16
17 I added variable at bottom of the plugin/vimside.vim file
18 which allows one to turn on logging during Vimside Option
19 loading. For the Vimside logger, Options must first be loaded
20 in order to configure it. Thus, no logging when loading Options.
21 So, I added a non-configurable logger that only logs in the
22 vimside#options#manager.vim file. Hopefully, this will help
23 users figure out whats happening during option loading.
24
25 Also, the example project code has been moved under the directory
26 data/vimside/projects - since there are now two example projects
27 and will be a couple more in the future. Additionally, the tests
28 have been moved under data/vimside/tests. I will be adding more
29 unit/regression tests in the future.
30
537ec19 Version 0.4.0
richard emberson authored Aug 25, 2013
31 ## Latest checkin
32
33 Now Vimside supports either initialization with the Option files
34 'options_user.vim' and a project specific options file (and/) or
35 with Properties file 'vimside.properties' and a project specific
36 properties file. See the 'data/vimside/PROPERTIES' file for
37 available Properties (or, changing '.' to '-', Options).
38 Also, bumped (after a long time, the version number.
39
40 Just checking in of a snapshot of work in progess: the actwin.vim
41 (ActionWindow) code.
42
43 Updated "sbt" project build.sbt example file and now allow Option
44 enum values to be Vim patterns (e,g., vimside-scala-version == 2.10.*).
45
46 ShowErrorAndWarning (Compiling by directly invoking the Scala compiler
47 or via SBT) can use ActWin (the default) and is configurable with, again,
48 a myriad of Options. The PROPERTIES file contains the new Options
49 (see tailor-show-errors-and-warning-actwin-... Options).
50
51 UsesOfSymbolAtPoint use of ActWin is now configurable with a
52 myriad of Options (some 100 Options) covering definition of commands
53 (mapping, command and abbreviations) controlling Scala and ActWin
54 navigation; Options for how information is displayed in the Scala
55 and ActWin windows and Options for highlights and signs.
56 Now, by default, the "uses_of_symbol_at_point" uses the ActWin.
57 For all available Options, see the newly added PROPERTIES file.
58 Four new Option "kind"s have been defined supporting Option String
59 types specialized for "commands", "highlight" definitions,
60 highlight "group" names and "highlight" or "group" name.
61 As examples (see PROPERTIES file), the (current) default value
62 of 'tailor-actwin-display-actwin-cursor-line-highlight' is
63 "cterm=bold ctermfg=DarkYellow ctermbg=Cyan" and the (current)
64 default value of 'tailor-actwin-display-scala-color-line-kinds-marker-linehl'
65 is "Search" (a highlight group name).
66 In the future, rather than using the existing options_project.vim
67 and options_user.vim files, Options will be able to be set
68 using a (standard Java format) properties file. While some code
69 to do this has been checkin, it has not been extensively tested.
70
71 ActWin's behavior is defined by the client that creates an instance.
72
73 The UsesOfSymbolAtPoint can now use ActWin (as alternate to Quickfix
74 window).
75
76 Options:
77 'tailor-uses-of-symbol-at-point-window' : 'actwin' (default) or 'quickfix'
78
79 Per use of the ActWin, there are numerous Options. For now this is
80 an initial set that control how lines in Scala files and in the ActWin
81 itself are highlighted:
82
83 Use sign in Scala files (all lines highlighted at once):
84 'tailor-uses-of-symbol-at-point-use-actwin-display-scala-sign-enable' : 0 or 1
85
86 Use a (sign-based) color line in Scala files (current line only):
87 'tailor-uses-of-symbol-at-point-use-actwin-display-scala-color-line-enable' : 0 or 1
88
89 Use a color column in Scala files (current column only):
90 'tailor-uses-of-symbol-at-point-use-actwin-display-scala-color-column-enable' : 0 or 1
91
92 Use a cursor line in ActWin (current line only):
93 'tailor-uses-of-symbol-at-point-use-actwin-display-actwin-cursor-line-enable' : 0 or 1
94
95 Use a highlight line in ActWin (current line only):
96 'tailor-uses-of-symbol-at-point-use-actwin-display-actwin-highlight-line-enable' : 0 or 1
97
98 Use a (sign-based) color line in ActWin (current line only):
99 'tailor-uses-of-symbol-at-point-use-actwin-display-actwin-sign-enable' : 0 or 1
100
101 Ultimately all ActWin commands and highlight features (colors and text)
102 will be Option based.
103
104
105
106 Added delete entry commands to ActWin.
107 Merged the options default.vim file into the defined.vim file.
108 Added highlight parsing code.
109 Changed functions to return error message rather than throw exceptions.
110 Added cterm/gui color management code.
111 Clean up DoToggleCmds function so that on exit mappings, commands
112 and abbrs are removed.
113 Fixed property file reader so that values can be Dictionaries.
114 Toggling Actwin "scala" and "actwin" features can now be done
115 with Option based :map, :cabbr and :command.
116 Got color cursor toggling working.
117 Got color cursor working.
118 Invoking built-in command overrides no longer are placed in the
119 command line history.
120 Fixed both window/source display rendering.
121 Scala window per-line sign highlighting option now supported.
122 Fixed <F2>, <F3>, <F4> toggle keys.
123 Options can now be defined in property files.
124
125 Can print out current Options as properties.
126
127 Added logging warning messages.
128
129 Now property.vim file reading code mirrors Java's Properties code.
130
131 Added property.vim which can convert properties to Options.
132
133 Added "sign" base highlighting to actwin text.
134
135 Generalized the definition and create to both "source" and "actwin"
136 commands (keymap cmds, leader-based cmds and the redefinition of
137 existing cmds using abbreviations).
138
139 Added key_map, builtin_cmd and user_cmd "fasthelp" toggle displays
140 using \<F2>, \<F3> and \<F4>.
141
142 Added ActWin client-defined help and keymappings.
143
144 Added multi-line content support.
145
146 As an Option, the actwin will allow for an
147 alternate way to visualize and act upon compiler error from standard
148 quickfix; but, quickfix will, as an Option, still be available.
149 Use of actwin is not documented nor does any code actually use it
150 yet, but a flavor of how it might work can be seen by executing:
151
152 vimside#actwin#TestQuickFix()
153
154 Go to the project: data/vimside/projects/simple,
155 "vi src/main/scala/com/megaannum/Foo.scala" and then call the
156 above function.
157
158 See the functions:
159
160 MakeKeyMappings
161 MakeUserCommands
162 MakeOverrideCommands
163
164 for some mappings.
165
166 ## Previous checkin
167
168 Make sure when 'sign' definition is added via vimside#sign#AddCategory
169 that the data has an 'ids' entry.
170 Made sure that when a 'sign' Clear function is called that the associate
171 id is removed from the 'ids' Dictionary.
172 There is now an Option, 'sign-start-place-id' with default value 2656
173 which is the value of the first 'sign' id. Subsequent ids are one greater
174 than there predecessor.
175
176 The latest checkin included an initial (un-tested and thus not usable)
177 snapshot of the debug code along with a "sign" module that supports
178 quickfix window, location window and debug breakpoint visualization.
179 Each "sign" has (currently) three (manditory) attributes that can be set by
180 the Vimside user: linehl, text and texthl (icon not support yet).
181 A "sign" has a "kind" and a "category". For the quickfix window,
182 compile errors, etc., the "category" is "QuickFix" and the "kinds"
183 are "error", "warn", "info" and "marker". So, that is 4 kinds of
184 signs where each sign has 3 attributes which means for "QuickFix" there
185 are 12 Options that control how things can be displayed.
186 The "LocationList" window category has two kinds: "info" and "marker" and,
187 thus, has 6 Options. The "Debug" category has kinds: "active",
188 "pasive" and "marker" for 9 Options - but, again, the debug code
189 is untested.
190
191 A "marker" kind is used to indicate the starting or current cursor position
192 and can be enabled/disabled via Option for the 'uses of symbol at point'
193 command.
194
195 In addition, for each part of Vimside that can use the new sign feature
196 there is an Option used to determine if signs should be generated.
197
198 The new sign capability can be used during the display of QuickFix
199 compile errors for both normal and SBT compiles. And, it can be used
200 as part of the action "use of symbol at point" command
201
202 List all references to the symbol under the cursor.
203 autocmd FileType scala nmap <silent> <Leader>vr :call vimside#command#UsesOfSymbolAtPoint()<CR>
204
205 New Options and default values:
206
207 quickfix
208
209 'sign-quickfix-error-linehl' 'Error'
210 'sign-quickfix-error-text' 'E>'
211 'sign-quickfix-error-texthl' 'Todo'
212
213 'sign-quickfix-warn-linehl' 'StatusLine'
214 'sign-quickfix-warn-text' 'W>'
215 'sign-quickfix-warn-texthl' 'Todo'
216
217 'sign-quickfix-info-linehl' 'DiffAdd'
218 'sign-quickfix-info-text' 'I>'
219 'sign-quickfix-info-texthl' 'TODO'
220
221 'sign-quickfix-marker-linehl' 'Search'
222 'sign-quickfix-marker-text' 'M>'
223 'sign-quickfix-marker-texthl' 'Ignore'
224
225 locationlist
226
227 'sign-locationlist-info-linehl' 'DiffAdd'
228 'sign-locationlist-info-text' 'I>'
229 'sign-locationlist-info-texthl' 'TODO'
230
231 'sign-locationlist-marker-linehl' 'Search'
232 'sign-locationlist-marker-text' 'M>'
233 'sign-locationlist-marker-texthl' 'Ignore'
234
235 debug
236
237 'sign-debug-active-linehl' 'DiffText'
238 'sign-debug-active-text' 'A>'
239 'sign-debug-active-texthl' 'SpellCap'
240
241 'sign-debug-pending-linehl' 'DiffAdd'
242 'sign-debug-pending-text' 'P>'
243 'sign-debug-pending-texthl' 'DiffDelete'
244
245 'sign-debug-marker-linehl' 'Search'
246 'sign-debug-marker-text' 'M>'
247 'sign-debug-marker-texthl' 'Ignore'
248
249
250 sbt
251 tailor-sbt-use-signs '1'
252
253 show-errors-and-warnings
254 tailor-show-errors-and-warnings-use-signs '1'
255
256 full-typecheck-finished
257 tailor-full-typecheck-finished-use-signs '1'
258
259 uses-of-symbol-at-point
260 tailor-uses-of-symbol-at-point-use-signs '1'
261 tailor-uses-of-symbol-at-point-use-sign-kind-marker '1'
262
263 tailor-uses-of-symbol-at-point-window
264 quickfix (default)
265 mixed
266
267
268 ## Previous checkin
269
270 With this checkin, there are features to expore running
271 multiple Vim processes connected to the same Ensime Server.
272
273 Vimside has been tested with multiple Vim processes. One Vim
274 can start the Ensime Server (normal start command) and a second
275 Vim editor (not window, but another Vim process) in the same
276 project is asked to start the Ensime server ('\<Leader> vs'), it will find the
277 Ensime port file and simply connect to the already running server.
278 This seems to work with the caveats:
279
280 - If the configuration is to stop the server when Vim is exited,
281 then when the Vim editor that started the server exits, then
282 the server is stopped even if other Vim editor are still connected
283 to it. Have to implement some kind of Vim connection counter if
284 this becomes an issue.
285
286 - If the Ensime configuration file is changed between starting the
287 first and second Vim, things might not work (since the Ensime
288 server will only know about the configuration that the first
289 Vim process passed to it).
290
291 If the configuration is that the Ensime server is not stopped when
292 the launching Vim process is exited, then any Vim process that
293 connects to the server can explicitly generate the stop server
294 command ('\<Leader> vS') to kill the server (or using 'ps' and 'kill -9').
295
296 Previously, when Vim stopped, the Ensime server was stopped
297 (with a call to shut it down). Now, this is optional.
298 There is a new Options 'ensime-shutdown-on-vim-exit' which if
299 set to true (1), then the old behavior is seen; the Ensime server
300 is shutdown when the Vim editor is exited. But, now if the
301 Option is false (0), then when Vim stops, the Ensime server
302 is not stopped. To stop the server one must explicitly issue the
303 command:
304 nmap <silent> \<Leader>vS :call vimside#command#StopEnsime()<CR>
305 This lets one save the running server between Vim sessions and, in
306 addition, allows one to use multiple Vim processes to edit the
307 same project's files. To enable this, Vimside was also changed so
308 that if it finds an Ensime port file, rather than start Ensime
309 it reads the file, gets the port, and tries to connect to Ensime.
310 If this fails, then it starts Ensime.
311 A note of caution, if you change your Ensime config file between
312 Vim invocations but do not re-start the Ensime server, the second
313 Vim invocation will be talking to an Ensime server which is out of sync.
314 Default value for this Options is true, the old behavior -
315 shutdown Ensime when Vim exits.
316
317 Add Option 'vimside-log-file-use-pid'. If true then current Vim
318 process id is a suffix to the log file name. Useful when you
319 have more than one Vim process or if you are running a series
320 of tests on Vimside code and wish to generate separate log file
321 for each test. Default is false, no pid suffix.
322
323 Add Option 'ensime-log-file-use-pid'. If true then the Ensime log
324 file as a suffix has the process id of the Vim process that started
325 it. Useful to coordinate Ensime log files with Vim process that
326 launched the server. Default is false, no pid suffix.
327
328 Removed the call to vimside#scheduler#ClearAuto during
329 shutdown; the function did not exist.
330
331 The Option 'tailor-sbt-error-read-size' is used as the size of
332 the socket buffer used to read results returned by a SBT compile
333 request. This should be large enough to read all of the errors.
334 If it is too small, then only a partial read occurs and the
335 code that converts the errors to Quickfix window entries may
336 fail. Default value is 10000 which, hopefully, is big enough for
337 most SBT compile error results.
338
339 The Option 'vimside-port-file-wait-time' is the time to wait
340 after starting the Ensime Server before attempting to read the
341 port file generated by the server (the port is the server socket
342 port). Default is 4 seconds, but anywhere from 0 to 5 seconds might
343 be OK.
344
345 ## Type Inspector checkin
346
347 An earlier checkin, there is the first cut of the Type and
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
348 Package Inspector. There will certainly be bugs.
349 For types, place cursor over type and enter \<Leader>ti.
350 For package, place cursor over package path and enter \<Leader>tp.
351 Do not know if the project package inspector works yet.
352
353 Inspector keymaps:
354
355 <Leader>ti inspect type (cursor over type)
356 <Leader>tp inspect package (cursor over package path at top of file)
357 <Leader>to inspect project package
358
359 Inspector control:
360
361 In inspector pressing <F1> gets help.
362 <Leader> q : quit
363 <Leader> <CR> : inspect type at point
364 <Leader> <TAB> : next type
365 <Leader> <C-n> : next type
366 <Leader> <S-TAB>: previous type (S-TAB may not work)
367 <Leader> <C-p> : previous type
368 <Leader> n : next history
369 <Leader> p : previous history
370
371 Entering and leaving Type Inspector multiple times has not been
372 tested very much.
373
374 There is now included support for SBT (simple build tool).
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
375 The test project is in the data/tests/sbt directory. The
376 plugin/vimside.vim file has key mappings for functions that
377 start, compile, clean, package and exit from the SBT.
378
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
379 I have checked the source into github primarily so that
380 the source is somewhere other than on my local machines.
381 I expect to continue to update the sources on github
382 frequently, flushing out the features.
383
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
384 ###Current Supported Ensime Commands:
385 |feature|description|implementations|
386 |-------|-----------|---|
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
387 |Start Ensime|makes sure that the current environment and Option settings are correct and then launches the Ensime backend server. The Ensime server writes a file where it puts the socket port that its client should use. Vimside reads that file, gets the port number, and provides Ensime with configuration information.|1|
388 |Stop Ensime|There is also an autocmd that will kill the Ensime server when the user exists Vim.|1|
389 |Map `<Tab>` to Omni-Code Completion in insert mode|This mapping maybe overridden by the mapping is some other plugin (like a snipmate binding), So, if it does not seem to work for you list the current mappings and see what is overriding it. Very Useful.|1|
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
390 |Symbol At Point|With cursor on variable, jump to the definition of its symbol. One can easily jump back and forth. The Emacs key binding uses the Meta key. In GVim I could get this to work and so in GVim the key mapping mirrors the Emacs Ensime key binding. But, with Vim in an XTerm, I could not get the Meta/Alt key to be recognized (and there is NO single place where there is a definitive, failsafe guide for getting Meta/Alt key mappings to work, so I have a different binding for Vim. Very useful.|1|
391 |Selection Expand/Contract|Select the surrounding syntactic context and easily shrink/grow the selection.|2|
392 |Global Public Search|Search for method or types through project code using space separated search terms. Useful.|1|
393 |Hover To Symbol|Place cursor (or mouse) over a variable and its Symbol will be displayed. Cute but requires frequent server polling.|3|
394 |Open Browser Info|With cursor over Scala/Java variable, type, etc. invoke the associated on-line web api documentation (if it exists). Useful.|1|
395 |Use of Symbol At Point|List all references to the symbol under the cursor. Very useful.|1|
396 |Simple Build Tool|Switch to the sbt command-line (works for sbt projects only)|2|
397 |Launch Repl|Switch to the Scala interpreter, with project classes in the classpath. TBD: cut/paste code fragments into Repl.|1|
398 |Typecheck Current File|Typecheck the current file and display errors and warnings. Very useful.|1|
399 |Typecheck All Files|Typecheck the all files and display errors and warnings. Very useful.|1|
400 |Re-Show Errors/Warnings|Show all errors and warnings in the project. Very useful.|1|
401 |Format Source|Format the current Scala source file. Useful.|1|
402 |Refactoring|Rename the symbol at point. Organize imports. Extract local. Extract method. Inline local. Add import for type at point. Import suggestions. Useful.|1|
403 |Building|Build the entire project. Rebuild the project incrementally. Useful.|1|
404 |Popup Menu|Bring up Popup menu with all Vimside commands (requires Forms library). Useful for folks who have not yet learned the key mappings.|1|
405 |Browse Source Roots|Directory browser of project sources (project code base).|2|
406 |Browse Reference Source Roots|Directory browser of project reference sources (Java and Scala libraries).|2|
407 |Option Viewer/Editor|Bring up the Option Viewer/Editor (requires Forms library). Lets one see all of the Vimside configurable Options and their current value. To be implemented will be an Editor allowing for the modification of some "dynamic" Options at runtime.|1|
408 |Completions|OmmiCompletions using `<c-x><c-o>`.Very Useful.|1|
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
409 |Package Inspector|Inspect imported package, current file's package and the package specified in the ensime configuration `:package`. Very Useful|1|
410 |Type Inspector|Click on type and see information, Click on information and see its information. Move about Inspector history. In Inspector help <F1>. Very Useful|1|
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
411
412 ###Ensime Capabilities to be Supported:
413 |feature|description|
414 |---|---|
415 |Scalex|Seems to be a dead project (see: http://scalex.org/)|
416 |Run Application||
417 |Debug Application|Start and run the debugger. Start and run the debugger. Set a breakpoint. Clear a breakpoint. Step. Step over. Step out. Continue from a breakpoint. Kill the debug session. Inspect the local variable at cursor. Show backtrace.|
418 |Others...||
419
420 ----
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
421 # Installation
422
423 ## Download
424
425 One can download a zip snapshot or use a Vim plugin manager (such
426 as VAM).
427
428 ## Dependency
429
430 Vimside depends upon Vimproc
431 [GitHup]( https://github.com/Shougo/vimproc)
432 for a C-language binding to sockets
433 (and, thus to the Ensime server) and Vimshell
434 [GitHup]( https://github.com/Shougo/vimshell)
435 for launching and managing communications with the Scala Repl.
436
437
438 ## Vimside Directory layout
439
440 After unpacking the Vimside directory layout should look like:
441
442 $HOME/.vim/
443 autoload/
444 vimside.vim
445 vimside/
446 " vimside code
447 data/
448 " data that persists between invocations of a plugin
449 vimside/
450 " examples, local test Scala/Java source tree
451 doc/
452 vimside.txt
453 plugin/
454 vimside.vim
455
456 ## Intalling from Vim.org
457
458 Anyway, to get the Vimside zip file from vim.org go to
459 http://www.vim.org/scripts/script.php?script_id=4298
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
460 and download the latest version. Unzip it in your `.vim` or `vimfiles`
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
461 directory.
462
463
464 Now, Vimside depends upon Vimshell and Vimproc. It is recommended that
465 you get the latest releases of these since they both were modified to add
466 some support for capabilities identified while creating Vimside. They are
467 located at:
468 [Vimproc](https://github.com/Shougo/vimproc)
469 [Vimshell](https://github.com/Shougo/vimshell)
470 Download them both and unzip them.
471
472 For Vimproc, there is an additional step because it includes a C-language
473 library. You must compile the library for your machine. Vimproc comes with
474 a number of make-files. Pick the right one and build the library. Since
475 Vimside is for Scala programmers, I expect that building a C-library with
476 a supplied makefile will not be too challenging :-)
477
478 In addition, Vimside can be configured so that it can use the Vim
479 Forms and Self libraries. The latest version of these can be gotten
480 from github or you can get released versions from vim.org:
481 [Self](http://www.vim.org/scripts/script.php?script_id=4150)
482 [Forms]( http://www.vim.org/scripts/script.php?script_id=3072)
483
484 For most of the Vimside commands there are associated Options that configure
485 how the command can be used. Many such Options allow the user to run one
486 of multiple possible implementations. In particular, there might be a
487 "native" Vim, non-Forms-based solution and also a Forms-based solution. The
488 Forms-based solution is built upon "native" Vim but requires the downloading
489 of the above two libraries: Self and Forms. Each such command with multiple
490 implementations can be configure individually to use or not use Forms.
491
492 What's more, the Forms library allows one to used a popup menu
493 (useful if you do not know all of the Vimside key-mappings yet).
494 And, it is expected that the package-inspector and the type-inspector
495 will only have Forms implementations - how to do a type-inspector
496 otherwise might be a challenge.
497
498 ## Intalling with vim-addon-manager (VAM)
499
500 For more information about vim-addon-manager, see
501 [vim-addon-manager](https://github.com/MarcWeber/vim-addon-manager) and
502 [Vim-addon-manager getting started](https://github.com/MarcWeber/vim-addon-manager/blob/master/doc/vim-addon-manager-getting-started.txt)
503
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
504 In your `.vimrc`, add self as shown below:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
505
506 fun SetupVAM()
507
508 ...
509
510 let g:vim_addon_manager = {}
511 let g:vim_addon_manager.plugin_sources = {}
512
513 ....
514
515 let g:vim_addon_manager.plugin_sources['self'] = {'type': 'git', 'url': 'git://github.com/megaannum/self'}
516 let g:vim_addon_manager.plugin_sources['forms'] = {'type': 'git', 'url': 'git://github.com/megaannum/forms'}
517 let g:vim_addon_manager.plugin_sources['vimproc'] = {'type': 'git', 'url': 'git://github.com/Shougo/vimproc'}
518 let g:vim_addon_manager.plugin_sources['vimshell'] = {'type': 'git', 'url': 'git://github.com/Shougo/vimshell'}
519 let g:vim_addon_manager.plugin_sources['ensime'] = {"type": "git", "url": "git://github.com/aemoncannon/ensime", "branch" : "scala-2.9"}
520 let g:vim_addon_manager.plugin_sources['vimside'] = {'type': 'git', 'url': 'git://github.com/megaannum/vimside'}
521
522
523 let plugins = [
524 \ 'self',
525 \ 'forms',
526 \ 'vimproc',
527 \ 'vimshell',
528 \ 'ensime',
529 \ 'vimside'
530 \ ]
531
532 call vam#ActivateAddons(plugins,{'auto_install' : 0})
533
534 ...
535
536 endf
537 call SetupVAM()
538
539
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
540 Note that to use Vimside, the `self` and `forms` libraries above are
541 optional. With the `forms` library, Vimside supports additional
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
542 features such as a popmenu of commands and the type and package inspectors
543 (not yet implemented).
544
545 Also, when one downloads Vimproc, you MUST go into the vimproc
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
546 directory and build the C-language file `proc.c` using one of the
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
547 supplied make files.
548
549 Now start Vim. You will be asked by vim-addon-manager
550 if you would like to download and install the plugins.
551
552 ## Installing with pathogen
553
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
554 With pathogen, you just have to clone all required plugins into your `~/.vim/bundle directory`. Running the following lines as a bash script will do exactly that.
e1bf5c1 Version 0.2.10
richard emberson authored Dec 3, 2012
555
556
557 #!/bin/bash
558
559 declare -a repos=(
560 "git://github.com/megaannum/self.git"
561 "git://github.com/megaannum/forms.git"
562 "git://github.com/Shougo/vimproc.git"
563 "git://github.com/Shougo/vimshell.git"
564 "-b scala-2.9 git://github.com/aemoncannon/ensime.git"
565 "git://github.com/megaannum/vimside.git"
566 )
567
568 cd ~/.vim/bundle
569
570 for repo in "${repos[@]}"; do
571 git clone $repo
572 done;
573
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
574 Note that you also with pathogen have to run `make` on the appropriate make file inside the vimproc plugin directory.
575
576 ## Installing with Vundle
577
578 Vundle does not provide specific branch checkout yet. Thus after adding:
579
580 Bundle "megaannum/self"
581 Bundle "megaannum/forms"
582 Bundle "Shougo/vimproc"
583 Bundle "Shougo/vimshell"
584 Bundle "aemoncannon/ensime"
585 Bundle "megaannum/vimside"
586
587 You need to check out appropriate ensime branch by hand by running ie.
588
589 > git checkout scala-2.10
590
591 in ensime plugin directory managed by vundle (probably `~/.vim/bundle/ensime`).
592 Also you'll need to run `make` in vimproc directory.
593
594 ----
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
595
596 ## Ensime Install
597
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
598 ###[Download](https://github.com/aemoncannon/ensime)
599 ###[Manual](http://aemoncannon.github.com/ensime/index.html/)
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
600
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
601 In addition, for ENSIME, there are pre-built releases available at:
602 https://www.dropbox.com/sh/ryd981hq08swyqr/V9o9rDvxkS/ENSIME%20Releases
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
603 I highly recommend getting these (Scala 2.9.2 and/or 2.10.0)
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
604 rather than trying to build the Ensime Scala code yourself.
605
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
606 Ensime is not a Vim plugin. It is a Scala program. It has to be installed and built or a pre-build version has to be used. Its source can be downloaded from: https://github.com/aemoncannon/ensime
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
607
608 One can the follow the instructions there and build it.
609
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
610 I have never done this. Rather, I have downloaded a pre-build bundle. One for Scala 2.9 and another for Scala 2.10.0. These can be found at:
611 https://www.dropbox.com/sh/ryd981hq08swyqr/V9o9rDvxkS/ENSIME%20Releases
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
612
613 The Ensime build directory has the following layout using
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
614 `ensime_2.9.2-0.9.8.9` as an example:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
615
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
616 ensime_2.9.2-0.9.8.9/
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
617 bin/
618 LICENSE
619 elisp/
620 lib/
621 README.md
622
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
623 or `ensime_2.10.0-0.9.8.9`:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
624
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
625 ensime_2.10.0-0.9.8.9/
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
626 bin/
627 elisp/
628 lib/
629 LICENSE
630 README.md
631
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
632 It is important that the value of the `vimside-scala-version`
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
633 Option agrees with the Ensime build version. For
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
634 `ensime_2.9.2-0.9.8.9` (the default value):
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
635 call owner.Set("vimside-scala-version", "2.9.2")
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
636 and for `ensime_2.10.0-0.9.8.9`:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
637 call owner.Set("vimside-scala-version", "2.10.0")
638
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
639 These values can be set in `data/vimside/options_user.vim`.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
640
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
641 In addition, the version of Java (`$JAVA_HOME/bin/java -version`)
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
642 in the window that runs Vim (or launched GVim) must agree with
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
643 the value of the Option `vimside-java-version`. This Option
644 has the default value of `1.6` and can be set, again, in
645 `data/vimside/options_user.vim`:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
646 call owner.Set("vimside-java-version", "1.6")
647
648 Having built Ensime or downloaded a pre-built package, you must
649 set an Option in Vimside so that Vimside can locate the script
650 used to start the Ensime server. To set a Vimside Option, you
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
651 must copy the `example_options_user.vim` located in
652 `data/vimside` to a file called `options_user.vim` and
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
653 edit it.
654
655 There is two different ways to do this.
656
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
657 The first is to set the Option `ensime-install-path` to the
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
658 location of downloaded Ensime source. If you use the VAM plugin manager,
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
659 then Ensime will be in the directory: `$HOME/.vim/vim-addons/ensime`
660 or `$HOME/vimfiles/vim-addons/ensime` so you would set the Option accordingly:
661
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
662 call owner.Set("ensime-install-path", $HOME . "/.vim/vim-addons/ensime")
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
663
664 or
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
665
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
666 call owner.Set("ensime-install-path", $HOME . "/vimfiles/vim-addons/ensime")`
e1bf5c1 Version 0.2.10
richard emberson authored Dec 3, 2012
667
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
668 If installed with pathogen, those paths are `$HOME/.vim/bundle/ensime` or `$HOME/vimfiles/bundle/ensime`
e1bf5c1 Version 0.2.10
richard emberson authored Dec 3, 2012
669
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
670 Then depending upon the name of the build directory, which is under the
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
671 `ensime-install-path` Option value directory location, you would
672 set the value of the Option `ensime-dist-dir` to that directory name.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
673 For example:
674
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
675 call owner.Set("ensime-dist-dir", "ensime_2.9.2-0.9.8.9")
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
676
677 or
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
678 call owner.Set("ensime-dist-dir", "ensime_2.10.0-0.9.8.9")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
679
680 Alternatively, you can specify the full path to the ensime distribution
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
681 using the Option `ensime-dist-path`. As an example, if you installed
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
682 an Ensime build package in some Scala directory, you might set
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
683 the Option as:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
684
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
685 call owner.Set("ensime-dist-path", $HOME . "/scala/ensime/ensime_2.9.2-0.9.8.9")`
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
686
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
687 If you set the `ensime-dist-path`, it is checked first and if it exists it
688 is used rather than the `ensime-install-path` and `ensime-dist-dir` combination.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
689
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
690 With SBT support, there is a SBT Plugin that supports integration with
691 the ENSIME IDE:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
692 https://github.com/aemoncannon/ensime-sbt-cmd
e58b889 Version 0.2.21: Type and Package Inspector
richard emberson authored Mar 14, 2013
693 Follow the directions there and add
694
695 addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "VERSION")
696
697 to your ~/.sbt/plugins/plugins.sbt file
698 Where "VERSION" it the version of Ensime supported which, as
699 the ensime-sbt-cmd README.md states, is 0.1.1. So, the above
700 should be:
701
702 addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "0.1.1")
703
704 Entering "ensime generate" while running sbt does indeed
705 generate a ".ensime" file. I have not tested whether or not
706 that generated file can actually be used by Vimside and
707 passed to the backend Ensime server.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
708
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
709 ----
710
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
711 # Usage
712
713 Look at the plugin/vimside.vim file for key mappings: how to
714 start the Ensime server and the currently supported commands.
715
716 RECOMMENDED for initial testing:
717 To run against test Scala/Java project, first in data/vimside directory
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
718 copy `example_options_user.vim` to `options_user.vim`.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
719
720 > cd $HOME/.vim/data/vimside
721 > /bin/cp example_options_user.vim options_user.vim
722
537ec19 Version 0.4.0
richard emberson authored Aug 25, 2013
723 Then, in `options_user.vim` uncomment the following line:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
724
725 call a:option.Set("ensime-config-file-name", "ensime_config.vim")
726
727 This tells Vimside to use the test project code and to use the
728 ensime_config.vim as the source for Ensime Configuration.
729
730 If one want to have one or more projects then one will most likely
731 want to have project specific Vimside configuration capabilities.
732 There is an Option for that.
733
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
734 There is a single file to configure Vimside Options under `.vim`,
735 `data/vimside/options_user.vim`. This is sufficient if you only have
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
736 a single project on your machine. But, if you have or plan to have more
737 than one projects on your machine you might want to have project
738 specific option configuration files. There are two Options that
739 control this.
740
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
741 The first Option is: `vimside-project-options-enabled` and if
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
742 true (default is false), then Vimside will look for a configuration
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
743 file with name given by the second Option: `vimside-project-options-file-name`.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
744
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
745 The default value of the `vimside-project-options-file-name` Option
746 is `options_project.vim`.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
747
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
748 While in the `options_user.vim` file, an Option value is set using
749 the `Set` function, e.g,:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
750
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
751 call owner.Set("vimside-scala-version", "2.9.2")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
752
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
753 In the `options_project.vim` file, the Option Update function must be used:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
754
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
755 call owner.Update("vimside-scala-version", "2.10.0")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
756
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
757 This is because `Set` can only be called once per-Option (while, `Update`
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
758 can be called any number of times).
759
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
760 So, in the `options_user.vim` one might have:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
761
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
762 call owner.Set("vimside-scala-version", "2.9.2")
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
763 call owner.Set("ensime-dist-dir", "ensime_2.9.2-0.9.8.9")
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
764 call owner.Set("ensime-config-file-name", "ensime_config.vim")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
765
766 in a project file there might be:
767
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
768 call owner.Update("vimside-scala-version", "2.10.0")
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
769 call owner.Update("ensime-dist-dir", "ensime_2.10.0-0.9.8.9")
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
770 call owner.Update("ensime-config-file-name", "_ensime")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
771
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
772 An alternative approach is to also treat the `data/vimside/` test code
773 as also a project, in that, it has its own `options_project.vim` file.
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
774 To do this one must do the following:
775
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
776 1) In the `options_user.vim` file enable project local options files:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
777
778 call owner.Set("vimside-project-options-enabled", 1)
779
780 While one can also uncomment/add addition option value setting,
781 if one wants all projects to share some behavior or to set some
782 default behavior (which can be over-ridden on a project-by-project
783 basis), but enabling the above Option is all that is need in this file.
784
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
785 2) In the `data/vimside` directory create a `options_project.vim` such as:
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
786
787 " full path to this file
788 let s:full_path=expand('<sfile>:p')
789
790 " full path to this file's directory
791 let s:full_dir=fnamemodify(s:full_path, ':h')
792
793 function! g:VimsideOptionsProjectLoad(owner)
794 let owner = a:owner
795
796 "--------------
797 " Enable logging
798 call owner.Set("ensime-log-enabled", 1)
799 call owner.Set("vimside-log-enabled", 1)
800 "--------------
801
802 "--------------
803 " Defined Java versions: '1.5', '1.6', '1.7'
804 " Defined Scala versions: '2.9.2', '2.10.0'
805 " Minor version numbers not needed
806 " Scala version MUST match 'ensime-dist-dir' used.
807 call owner.Set("vimside-java-version", "1.6")
808 call owner.Set("vimside-scala-version", "2.9.2")
809 "--------------
810
811 "--------------
812 " Which build version of Ensime to use.
f6c395f Version 0.2.23
richard emberson authored Mar 24, 2013
813 call owner.Set("ensime-dist-dir", "ensime_2.9.2-0.9.8.9")
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
814 "--------------
815
816 "--------------
817 " To run against ensime test project code
818 " Location of test directory
819 call owner.Set("test-ensime-file-dir", s:full_dir)
820 " The Ensime Config information is in a file called 'ensime_config.vim'
821 call owner.Set("ensime-config-file-name", "ensime_config.vim")
822 "--------------
823
824 "--------------
825 " Vimside uses Forms library
826 call owner.Set("forms-use", 1)
827 "--------------
828
829 "--------------
830 " Hover Options
831 call owner.Set("vimside-hover-balloon-enabled", 0)
832 call owner.Set("vimside-hover-term-balloon-enabled", 0)
833 "--------------
834 endfunction
835
836 This will instruct Vimside to use the "test" source code and configuration
837 files.
838
839 3) In all your other projects on this machine, create their own
840 project-specific 'options_project.vim' files.
841
842 This is a very flexible way of configuring Vimside.
843
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
844 ----
845
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
846 # Supported Platforms
847
848 Ought to work most everywhere
849
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
850 ----
851
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
852 ## Tutorial
853
854 None available yet.
855
bec24e4 Version 0.2.17: Added support for SBT (Simple Build Tool) projects.
richard emberson authored Feb 16, 2013
856 ----
857
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
858 ## Acknowledgements and thanks
859
2e2fee9 Version 0.2.13
richard emberson authored Dec 31, 2012
860 Aemon Cannon for writing Ensime!
7be20df Version 0.2.8: First pre-alpha code release.
richard emberson authored Nov 29, 2012
861 Daniel Spiewak has a JEdit binding to Ensime and a simply great video
862 explaining why a true editor with Ensime is better than an Eclipse
863 Ide (https://www.youtube.com/watch?v=cd2LV0xy9G8 MUST SEE)
864 and usage examples (http://vimeo.com/28597033).
865
866 Jeanluc Chasseriau who wrote the python-based Envim Vim binding
867 to Ensime: https://github.com/jlc/envim.
868
e1bf5c1 Version 0.2.10
richard emberson authored Dec 3, 2012
869 Sven Eigenbrodt provided the Pathogen installation information.
Something went wrong with that request. Please try again.