diff options
Diffstat (limited to 'doc/vim-fsharp.txt')
-rw-r--r-- | doc/vim-fsharp.txt | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/doc/vim-fsharp.txt b/doc/vim-fsharp.txt new file mode 100644 index 00000000..bc2a4657 --- /dev/null +++ b/doc/vim-fsharp.txt @@ -0,0 +1,210 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fsharp') == -1 + +*vim-fsharp.txt* F# support for Vim +*FSharp* *F#* *fsharp* *vim-fsharp* +=============================================================================== +# # +# ███████╗███████╗██╗ ██╗ █████╗ ██████╗ ██████╗ # +# ██╔════╝██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗ # +# █████╗ ███████╗███████║███████║██████╔╝██████╔╝ # +# ██╔══╝ ╚════██║██╔══██║██╔══██║██╔══██╗██╔═══╝ # +# ██║ ███████║██║ ██║██║ ██║██║ ██║██║ # +# ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ # +# # +=============================================================================== +CONTENTS *fsharp-contents* + + 1. Dependencies.................................|fsharp-dependencies| + 2. Usage........................................|fsharp-usage| + 3. Options......................................|fsharp-options| + 4. Commands.....................................|fsharp-commands| + 5. Mappings.....................................|fsharp-mappings| + 6. Credits......................................|fsharp-credits| + +=============================================================================== +DEPENDENCIES *fsharp-dependencies* + +Required:~ + - Vim 7.3 or higher with Python 2 or 3 support + - Mono OR .NET Framework + - F# + +Optional:~ + - Syntastic plugin (for syntax and type checking) + NOTE: Must be enabled (see |'g:syntastic_fsharp_checkers'|) + +=============================================================================== +USAGE *fsharp-usage* + +Syntax highlighting and linting will trigger upon opening a `*.fs`, `*.fsi`, +or `*.fsx` file. Using omni completion will begin the fsautocomplete process. + +Suggestion: Install a completer such as NeoComplete or SuperTab + +=============================================================================== +OPTIONS *fsharp-options* + + *'g:syntastic_fsharp_checkers'* +Use this option to enable syntastic integration > + let g:syntastic_fsharp_checkers=['syntax'] +< + *'g:fsharp_only_check_errors_on_write'* +Use this option to disable "on the fly" syntax checking > + let g:fsharp_only_check_errors_on_write = 1 +< + *'g:fsharpbinding_debug'* +Use this option to enable debug-mode and inspect fsautocomplete behavior: > + let g:fsharpbinding_debug = 1 +< +This will create two log files `log.txt` and `log2.txt` in your temporary folder +(i.e. `/tmp/`) + + *'g:fsharp_xbuild_path'* +Use this option set the msbuild/xbuild path > + let g:fsharp_xbuild_path = "/path/to/xbuild/or/msbuild" +< + + *'g:fsharp_test_runner'* +Use this option to point to a suitable test runner (such as nunit-console.exe) > + let g:fsharp_test_runner = "/path/to/test/runner" +< + + *'g:fsharp_completion_helptext'* +Use this option to disable helptext during auto completion. Turn off if +completion is too slow > + let g:fsharp_completion_helptext = 0 +< + + *'g:fsharp_map_keys'* +Use this option to disable default bindings > + let g:fsharp_map_keys = 0 +< + + *'g:fsharp_map_prefix'* +Use this option to override the default prefix of `<leader>` > + let g:fsharp_map_prefix = 'cp' +< +Set to `cp` in this example + + *'g:fsharp_map_fsisendline'* +Use this option to override the default mapping to send the current line to +fsharp interactive > + let g:fsharp_map_fsisendline = 'p' +< +Set to `p` in this example + + *'g:fsharp_map_fsisendsel'* +Use this option to override the default mapping to send the current selection +to fsharp interactive > + let g:fsharp_map_fsisendsel = 'p' +< +Set to `p` in this example + + *'g:fsharp_map_gotodecl'* +Use this option to override the default mapping to go to declaration in the +current window > + let g:fsharp_map_gotodecl = 'g' +< +Set to `g` in this example + + *'g:fsharp_map_gobackfromdecl'* +Use this option to override the default mapping to go back to where go to +declaration was triggered > + let g:fsharp_map_gobackfromdecl = 'b' +< +Set to `b` in this example + + *'g:fsharp_map_fsiinput'* +Override the default mapping to evaluate an fsharp expression in the fsi > + let g:fsharp_map_fsiinput = 'i' +< + +=============================================================================== +COMMANDS *fsharp-commands* + +General commands:~ + *:make* +:make + Calls xbuild on the fsproj for the current file (if any). + + *:FSharpParseProject* +:FSharpParseProject + Reparses all the project files and dependencies (this is done automatically + when opening a .fs or .fsi file). + + *:FSharpBuildProject* +:FSharpBuildProject + Calls xbuild on the fsproj for the current file (if any). Can also take a + path to the proj file to build. + + *:FSharpRunProject* +:FSharpRunProject + Runs the project for the current file (if any). + + *:FSharpRunTests* +:FSharpRunTests + If `g:fsharp_test_runner` is set it will build the current project and run + any tests. (Currently only tested with nunit-console.exe) + + *:FSharpToggleHelptext* +:FSharpToggleHelptext + toggles g:fsharp_completion_helptext. (See below for details) + +FSharp interaction commands:~ + + `:FsiEval` +:FsiEval + Evaluates an fsharp expression in the fsi + + `:FsiEvalBuffer` +:FsiEvalBuffer + Evaluates the entire buffer in the fsi + + `:FsiReset` +:FsiReset + Resets the current fsharp interactive + + `:FsiRead` +:FsiRead + Outputs any lines written by the fsi but not yet output as vim messages + + `:FsiClear` +:FsiClear + Deletes all text from the fsi output buffer but doesn't reset the fsi + session. + + `:FsiShow` +:FsiShow + Opens the _fsi-out_ buffer in a split window + +=============================================================================== +MAPPINGS *fsharp-mappings* + +General:~ + + <leader>t + Echoes the type of the expression currently pointed to by the cursor + <leader>d + Go to declaration in current window + <leader>s + Takes you back from where go to declaration was triggered. Experimental + +FSharp Interactive:~ + <A-CR> OR + <leader>i + Send either the current selection or the current line to the fsharp + interactive and echoes the output the first line of the output. All + output will be written to the fsi-out buffer. + +=============================================================================== +CREDITS *fsharp-credits* + +Syntax and indent files by kongo2002 <github.com/kongo2002>: + http://github.com/kongo2002/fsharp-vim + +Adapted from Tim Robinson <github.com/timrobinson>: + http://github.com/timrobinson/fsharp-vim +> +=============================================================================== + +endif |