summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-04-25 21:22:25 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-04-25 21:22:25 +0200
commit8ec73a3a8974a62a613680a6b6222a77a7b99546 (patch)
treeebc6f1170d2fab2a42c5ac86e80921382595de60
parentb2ee28374b942026474e77d9aa6fc538f105755b (diff)
downloadvim-polyglot-8ec73a3a8974a62a613680a6b6222a77a7b99546.tar.gz
vim-polyglot-8ec73a3a8974a62a613680a6b6222a77a7b99546.zip
Change fsharp provider, closes #477
-rw-r--r--README.md2
-rwxr-xr-xbuild2
-rw-r--r--ftdetect/polyglot.vim3
-rw-r--r--syntax/fsharp.vim33
4 files changed, 25 insertions, 15 deletions
diff --git a/README.md b/README.md
index 4337eb1a..852fdd1f 100644
--- a/README.md
+++ b/README.md
@@ -79,7 +79,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [ferm](https://github.com/vim-scripts/ferm.vim) (syntax)
- [fish](https://github.com/georgewitteman/vim-fish) (syntax, indent, compiler, autoload, ftplugin)
- [flatbuffers](https://github.com/dcharbon/vim-flatbuffers) (syntax)
-- [fsharp](https://github.com/fsharp/vim-fsharp) (syntax, indent)
+- [fsharp](https://github.com/ionide/Ionide-vim) (syntax, indent)
- [gdscript](https://github.com/calviken/vim-gdscript3) (syntax, indent, ftplugin)
- [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin)
- [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent)
diff --git a/build b/build
index 6139afe2..fd442c14 100755
--- a/build
+++ b/build
@@ -197,7 +197,7 @@ PACKS="
ferm:vim-scripts/ferm.vim
fish:georgewitteman/vim-fish
flatbuffers:dcharbon/vim-flatbuffers
- fsharp:fsharp/vim-fsharp:_BASIC
+ fsharp:ionide/Ionide-vim:_BASIC
gdscript:calviken/vim-gdscript3
git:tpope/vim-git
glsl:tikhomirov/vim-glsl:_NOAFTER
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index a41e3f42..17dc26db 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -455,9 +455,10 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fsharp') == -1
augroup filetypedetect
- " fsharp, from fsharp.vim in fsharp/vim-fsharp:_BASIC
+ " fsharp, from fsharp.vim in ionide/Ionide-vim:_BASIC
" F#, fsharp
autocmd BufNewFile,BufRead *.fs,*.fsi,*.fsx set filetype=fsharp
+autocmd BufNewFile,BufRead *.fsproj set filetype=fsharp_project
augroup end
endif
diff --git a/syntax/fsharp.vim b/syntax/fsharp.vim
index e1a6c9d6..ff92f6a6 100644
--- a/syntax/fsharp.vim
+++ b/syntax/fsharp.vim
@@ -30,6 +30,7 @@ syn keyword fsharpScript contained install_printer remove_printer requirethread
syn keyword fsharpScript contained trace untrace untrace_all print_depth
syn keyword fsharpScript contained print_length define undef if elif else endif
syn keyword fsharpScript contained line error warning light nowarn
+syn keyword fsharpScript contained I load r time
" comments
@@ -42,8 +43,9 @@ syn region fsharpDoubleBacktick start="``" end="``" keepend oneline
" symbol names
-syn match fsharpSymbol "\%(let\|use\|mutable\|rec\|and\|private\)\@<=!\=\s\+\zs\w\+\ze\s*[^=:]*[=:]"
-syn match fsharpSymbol "\%(member\)\@<=\s\+\w\+\.\zs\w\+"
+syn match fsharpSymbol "\%(let\|use\|mutable\|rec\|and\|inline\|public\|private\|internal\|static\|member\|override\)\@<=!\=\s\+\(\w\+\.\)\=\zs\w\+\ze"
+"syn match fsharpSymbol "\%(let\|use\|mutable\|rec\|and\|private\)\@<=!\=\s\+\zs\w\+\ze\s*[^=:]*[=:]"
+"syn match fsharpSymbol "\%(member\)\@<=\s\+\w\+\.\zs\w\+"
" types
@@ -84,11 +86,16 @@ syn keyword fsharpKeyword process pure return seq tailcall trait
" additional operator keywords (Microsoft.FSharp.Core.Operators)
syn keyword fsharpKeyword box hash sizeof typeof typedefof unbox ref fst snd
-syn keyword fsharpKeyword stdin stdout stderr
+syn keyword fsharpKeyword stdin stdout stderr id compare incr decr defaultArg
+syn keyword fsharpKeyword exit ignore lock using
+
+" extra operator keywords (Microsoft.FSharp.Core.ExtraTopLevelOperators)
+syn keyword fsharpKeyword array2D dict set
" math operators (Microsoft.FSharp.Core.Operators)
syn keyword fsharpKeyword abs acos asin atan atan2 ceil cos cosh exp floor log
-syn keyword fsharpKeyword log10 pown round sign sin sinh sqrt tan tanh
+syn keyword fsharpKeyword log10 pown round sign sin sinh sqrt tan tanh truncate
+syn keyword fsharpKeyword infinity infinityf nan nanf
syn keyword fsharpOCaml asr land lor lsl lsr lxor mod sig
@@ -100,8 +107,8 @@ endif
syn keyword fsharpOpen open
" exceptions
-syn keyword fsharpException try failwith failwithf finally invalid_arg raise
-syn keyword fsharpException rethrow
+syn keyword fsharpException try failwith failwithf finally invalidArg invalidOp Failure raise
+syn keyword fsharpException rethrow nullArg reraise
" modifiers
syn keyword fsharpModifier abstract const extern internal override private
@@ -111,17 +118,20 @@ syn keyword fsharpModifier volatile
" constants
syn keyword fsharpConstant null
syn keyword fsharpBoolean false true
+syn keyword fsharpSourceBuiltin __LINE__ __SOURCE_DIRECTORY__ __SOURCE_FILE__
" types
syn keyword fsharpType array bool byte char decimal double enum exn float
-syn keyword fsharpType float32 int int16 int32 int64 lazy_t list nativeint
+syn keyword fsharpType float32 int int16 int32 int64 list nativeint
syn keyword fsharpType obj option sbyte single string uint uint32 uint64
-syn keyword fsharpType uint16 unativeint unit
+syn keyword fsharpType uint16 unativeint unit int8 uint8 bigint
+
+syn keyword fsharpType inref outref byref nativeptr
" core classes
syn match fsharpCore "\u\a*\." transparent contains=fsharpCoreClass
-syn keyword fsharpCoreClass Array Async Directory File List Option Path Map Set contained
+syn keyword fsharpCoreClass Array Async Directory File List Option Path Map Set Lazy contained
syn keyword fsharpCoreClass String Seq Tuple contained
syn keyword fsharpCoreMethod printf printfn sprintf eprintf eprintfn fprintf
@@ -182,7 +192,7 @@ syn match fsharpFloat "\<-\=\d\(_\|\d\)*\.\(_\|\d\)*\([eE][-+]\=\d\(_
syn match fsharpFloat "\<\d\+\.\d*"
" modules
-syn match fsharpModule "\%#=1\%(\<open\s\+\)\@<=[a-zA-Z.]\+"
+syn match fsharpModule "\%#=1\%(\<open\s\+\)\@<=[a-zA-Z0-9.]\+"
" attributes
syn region fsharpAttrib matchgroup=fsharpAttribute start="\[<" end=">]"
@@ -212,7 +222,6 @@ if version >= 508 || !exists("did_fs_syntax_inits")
HiLink fsharpDoubleBacktick String
HiLink fsharpOpen Include
- HiLink fsharpModPath Include
HiLink fsharpScript Include
HiLink fsharpPreCondit Include
@@ -232,6 +241,7 @@ if version >= 508 || !exists("did_fs_syntax_inits")
HiLink fsharpBoolean Boolean
HiLink fsharpConstant Constant
+ HiLink fsharpSourceBuiltin Constant
HiLink fsharpCharacter Character
HiLink fsharpNumber Number
HiLink fsharpFloat Float
@@ -246,7 +256,6 @@ if version >= 508 || !exists("did_fs_syntax_inits")
HiLink fsharpLabel Identifier
HiLink fsharpOption Identifier
HiLink fsharpTypeName Identifier
- HiLink fsharpModule Identifier
HiLink fsharpType Type