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 `` > 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:~ t Echoes the type of the expression currently pointed to by the cursor d Go to declaration in current window s Takes you back from where go to declaration was triggered. Experimental FSharp Interactive:~ OR 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 : http://github.com/kongo2002/fsharp-vim Adapted from Tim Robinson : http://github.com/timrobinson/fsharp-vim > =============================================================================== endif