diff options
Diffstat (limited to 'doc/scala.txt')
-rw-r--r-- | doc/scala.txt | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/doc/scala.txt b/doc/scala.txt new file mode 100644 index 00000000..b9fe2cf7 --- /dev/null +++ b/doc/scala.txt @@ -0,0 +1,137 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1 + +*scala.txt* Syntax highlighting and helper functions for the Scala language. + +This plugin is only available if 'compatible' is not set. +{Vi does not have any of this} + +============================================================================== +INTRODUCTION *scala* + +Syntax highlighting and helper functions for the scala language. Extras +include: + + - Sorting of import statements, configurable to your conventions. + - Tagbar support to navigate definitions within a file in the plugin's + sidebar window. + - ...and probably more that we've forgotten to update in this doc. + +============================================================================== +OPTIONS *scala-options* + +Use these options to control behavior of the plugin. Default values are +indicated in the examples. + + *'g:scala_use_builtin_tagbar_defs'* +If you are using the Tagbar Vim plugin, vim-scala includes a Tagbar type +definition and ctags definition for Scala, so you can use Tagbar immediately. +If you have your own ctags definition in `~/.ctags` and prefer to use it, set +this option to 0 (we would appreciate contributions if you've improved the +ctags definition!). + +Note that Tagbar's ctags definition for Scala is not used to generate a +|tags| file that Vim can use to navigate to definitions in other files, only +for the plugin sidebar. Feel free to copy `vim-scala/ctags/scala.ctags` into +your own `~/.ctags` if you wish to generate |tags| files. +> + let g:scala_use_builtin_tagbar_defs = 1 +< + *'g:scala_use_default_keymappings'* +Set this option to disable definition of all mappings provided by vim-scala. +See |scala-mappings|. +> + let g:scala_use_default_keymappings = 1 +< + + *'g:scala_scaladoc_indent'* +By default, the plugin indents documentation comments according to the +standard Javadoc format. + /** + * This is a doc comment using Javadoc-style indentation. + */ +Set this option to enable the indentation standard as recommended for Scaladoc +comments. + /** This is a Scaladoc comment using + * the recommended indentation. + */ +> + let g:scala_scaladoc_indent = 1 +< + +============================================================================== +COMMANDS *scala-commands* + + *:SortScalaImports* +:SortScalaImports There are two modes in which this command can operate. + By default it walks all import groups at the top of + the Scala file and orders their lines alphabetically. + A group is a series of lines starting with the + import keyword separated by one or more blank lines. + + The second, more advanced mode, can be activated by + setting + + let g:scala_sort_across_groups=1 + + This makes this command include all imports in the + sorting regardless of blank lines in between them and + puts them in three predefined groups instead. + The three groups in which the imports can fall are: + + 1. Scala and Java core + 2. Third party libraries + 3. First party code (ie. your own) + + Java and Scala core imports are identified by the + java(x) and scala namespaces. + Everything else that isn't a first party namespace + will be a third party import. + You can define a regex that matches first party + namespaces by setting + + g:scala_first_party_namespaces + + For example in a standard Play app this would be + set to + g:scala_first_party_namespaces= + \ '\(controllers\|views\|models\)' + +============================================================================== +MAPPINGS *scala-mappings* + +Currently the only mappings defined are for FuzzyFinder users--these will +only be enabled if FuzzyFinder is detected. + + *scala-leader-fs* +<Leader>fs "Find src". Primes |:FufFile| with `src/main/scala`, + and goes deeper still if only a single directory + exists below that. Helpful for package namespacing + like `src/main/scala/com/myorg`. + + *scala-leader-ft* +<Leader>ft "Find test". Like |scala-leader-fs|, but with + `src/test/scala`. + + *scala-leader-fr* +<Leader>fr "Find from root". For the rarer cases when you want to + start FuzzyFinder at project root (parent of `src/`). + +Disabling Mappings~ + +If you wish to disable the default key mappings, write the following line in +your ~/.vimrc: > + + let g:scala_use_default_keymappings = 0 + +============================================================================== +CREDITS *scala-credits* + +Developed by Derek Wyatt, building on initial work by Stefan Matthias Aust. +Distributed under the Apache 2 license. + +Project's home and Git repository: https://github.com/derekwyatt/vim-scala + +------------------------------------------------------------------------------ + vim:tw=78:ts=8:ft=help:norl: + +endif |