summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorAndrey Popp <8mayday@gmail.com>2018-11-04 20:10:36 +0300
committerAndrey Popp <8mayday@gmail.com>2018-11-04 20:32:56 +0300
commitb9fb62a4cd302486914403e41676e78b4cfdf0e3 (patch)
treead4e2fb5c744c0ca983fd95f641344ff546d6b64 /autoload
parentacdc99b94daf0f14a8a71d1de5656e9f612a0139 (diff)
downloadale-b9fb62a4cd302486914403e41676e78b4cfdf0e3.zip
Make ocamlformat work without temporary files
Problem: ocamlformat is configured to format files in-place and thus go via creating a temporary file for that. Because temporary file resides in a different directory ocamlformat can't find `.ocamlformat` configuration files in an original location of source files. Solution: ocamlformat since version 0.8 can read sources on stdin and spur result on stdout. We reconfigure ocamlformat to use a simpler interface.
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/fixers/ocamlformat.vim6
1 files changed, 3 insertions, 3 deletions
diff --git a/autoload/ale/fixers/ocamlformat.vim b/autoload/ale/fixers/ocamlformat.vim
index fac142aa..9b7c3e12 100644
--- a/autoload/ale/fixers/ocamlformat.vim
+++ b/autoload/ale/fixers/ocamlformat.vim
@@ -5,14 +5,14 @@ call ale#Set('ocaml_ocamlformat_executable', 'ocamlformat')
call ale#Set('ocaml_ocamlformat_options', '')
function! ale#fixers#ocamlformat#Fix(buffer) abort
+ let l:filename = expand('#' . a:buffer . ':p')
let l:executable = ale#Var(a:buffer, 'ocaml_ocamlformat_executable')
let l:options = ale#Var(a:buffer, 'ocaml_ocamlformat_options')
return {
\ 'command': ale#Escape(l:executable)
\ . (empty(l:options) ? '' : ' ' . l:options)
- \ . ' --inplace'
- \ . ' %t',
- \ 'read_temporary_file': 1,
+ \ . ' --name=' . ale#Escape(l:filename)
+ \ . ' -'
\}
endfunction