mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
211 lines
8.9 KiB
Plaintext
211 lines
8.9 KiB
Plaintext
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
|