Skip to content

Commit

Permalink
Split the ocaml filetype into several filetypes
Browse files Browse the repository at this point in the history
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
  • Loading branch information
undu committed Jan 29, 2024
1 parent d982cfc commit bd4d3a3
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 0 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ merlin NEXT_VERSION
- Add a "heap_mbytes" field to Merlin server responses to report heap usage (#1717)
- Add cache stats to telemetry (#1711)
- Add a query_num field to the `ocamlmerlin` responses to detect server crashes (#1716)
+ editor modes
- vim: load merlin under the ocamlinterface and ocamllex filetypes (#1340)

merlin 4.13
===========
Expand Down
3 changes: 3 additions & 0 deletions vim/merlin/dune
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@
(ftdetect/merlin.vim as vim/ftdetect/merlin.vim)
(ftplugin/merlin.vim as vim/ftplugin/merlin.vim)
(ftplugin/ocaml.vim as vim/ftplugin/ocaml.vim)
(ftplugin/ocamlinterface.vim as vim/ftplugin/ocamlinterface.vim)
(ftplugin/ocamllex.vim as vim/ftplugin/ocamllex.vim)
(ftplugin/omlet.vim as vim/ftplugin/omlet.vim)
(ftplugin/reason.vim as vim/ftplugin/reason.vim)
(plugin/merlin.vim as vim/plugin/merlin.vim)
(syntax_checkers/ocaml/merlin.vim as vim/syntax_checkers/ocaml/merlin.vim)
(syntax_checkers/ocamlinterface/merlin.vim as vim/syntax_checkers/ocamlinterface/merlin.vim)
(syntax_checkers/omlet/merlin.vim as vim/syntax_checkers/omlet/merlin.vim)
(syntax/merlin.vim as vim/syntax/merlin.vim)))
2 changes: 2 additions & 0 deletions vim/merlin/ftplugin/ocamlinterface.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
" Activate merlin on current buffer
call merlin#Register()
2 changes: 2 additions & 0 deletions vim/merlin/ftplugin/ocamllex.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
" Activate merlin on current buffer
call merlin#Register()
23 changes: 23 additions & 0 deletions vim/merlin/syntax_checkers/ocamlinterface/merlin.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
" Enable Syntastic support
" Make sure syntax_checkers directory is on runtime path, then set
" :let g:syntastic_ocamlinterface_checkers=['merlin']

function! SyntaxCheckers_ocamlinterface_merlin_IsAvailable()
if !exists("*merlin#SelectBinary")
return 0
endif
try
let l:path = merlin#SelectBinary()
return executable(l:path)
catch
return 0
endtry
endfunction

function! SyntaxCheckers_ocamlinterface_merlin_GetLocList()
return merlin#ErrorLocList()
endfunction

call g:SyntasticRegistry.CreateAndRegisterChecker({
\ 'filetype': 'ocamlinterface',
\ 'name': 'merlin'})

0 comments on commit bd4d3a3

Please sign in to comment.