Skip to content

Commit bd4d3a3

Browse files
committed
Split the ocaml filetype into several filetypes
Now ocamlinterface ocamllex and menhir types must be taken into account as well. Menhir filetype is not included as there seem to be no plans to include it and even then it would take a big effort. The filetypes are introduced by ocaml/vim-ocaml#61
1 parent d982cfc commit bd4d3a3

5 files changed

Lines changed: 32 additions & 0 deletions

File tree

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ merlin NEXT_VERSION
55
- Add a "heap_mbytes" field to Merlin server responses to report heap usage (#1717)
66
- Add cache stats to telemetry (#1711)
77
- Add a query_num field to the `ocamlmerlin` responses to detect server crashes (#1716)
8+
+ editor modes
9+
- vim: load merlin under the ocamlinterface and ocamllex filetypes (#1340)
810

911
merlin 4.13
1012
===========

vim/merlin/dune

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
(ftdetect/merlin.vim as vim/ftdetect/merlin.vim)
1414
(ftplugin/merlin.vim as vim/ftplugin/merlin.vim)
1515
(ftplugin/ocaml.vim as vim/ftplugin/ocaml.vim)
16+
(ftplugin/ocamlinterface.vim as vim/ftplugin/ocamlinterface.vim)
17+
(ftplugin/ocamllex.vim as vim/ftplugin/ocamllex.vim)
1618
(ftplugin/omlet.vim as vim/ftplugin/omlet.vim)
1719
(ftplugin/reason.vim as vim/ftplugin/reason.vim)
1820
(plugin/merlin.vim as vim/plugin/merlin.vim)
1921
(syntax_checkers/ocaml/merlin.vim as vim/syntax_checkers/ocaml/merlin.vim)
22+
(syntax_checkers/ocamlinterface/merlin.vim as vim/syntax_checkers/ocamlinterface/merlin.vim)
2023
(syntax_checkers/omlet/merlin.vim as vim/syntax_checkers/omlet/merlin.vim)
2124
(syntax/merlin.vim as vim/syntax/merlin.vim)))
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
" Activate merlin on current buffer
2+
call merlin#Register()

vim/merlin/ftplugin/ocamllex.vim

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
" Activate merlin on current buffer
2+
call merlin#Register()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
" Enable Syntastic support
2+
" Make sure syntax_checkers directory is on runtime path, then set
3+
" :let g:syntastic_ocamlinterface_checkers=['merlin']
4+
5+
function! SyntaxCheckers_ocamlinterface_merlin_IsAvailable()
6+
if !exists("*merlin#SelectBinary")
7+
return 0
8+
endif
9+
try
10+
let l:path = merlin#SelectBinary()
11+
return executable(l:path)
12+
catch
13+
return 0
14+
endtry
15+
endfunction
16+
17+
function! SyntaxCheckers_ocamlinterface_merlin_GetLocList()
18+
return merlin#ErrorLocList()
19+
endfunction
20+
21+
call g:SyntasticRegistry.CreateAndRegisterChecker({
22+
\ 'filetype': 'ocamlinterface',
23+
\ 'name': 'merlin'})

0 commit comments

Comments
 (0)