Merge remote-tracking branch 'sidkshatriya/ocaml-switch-between-ml-and-mli'
This commit is contained in:
commit
0e2612f1ad
|
@ -18,7 +18,11 @@ hook global WinSetOption filetype=ocaml %{
|
||||||
|
|
||||||
hook -group ocaml-highlight global WinSetOption filetype=ocaml %{
|
hook -group ocaml-highlight global WinSetOption filetype=ocaml %{
|
||||||
add-highlighter window/ocaml ref ocaml
|
add-highlighter window/ocaml ref ocaml
|
||||||
hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/ocaml }
|
alias window alt ocaml-alternative-file
|
||||||
|
hook -once -always window WinSetOption filetype=.* %{
|
||||||
|
unalias window alt ocaml-alternative-file
|
||||||
|
remove-highlighter window/ocaml
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
provide-module ocaml %{
|
provide-module ocaml %{
|
||||||
|
@ -74,4 +78,22 @@ evaluate-commands %sh{
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Conveniences
|
||||||
|
# ‾‾‾‾‾‾‾‾‾‾‾‾
|
||||||
|
|
||||||
|
# C has header and source files and you need to often switch between them.
|
||||||
|
# Similarly OCaml has .ml (implementation) and .mli (interface files) and
|
||||||
|
# one often needs to switch between them.
|
||||||
|
#
|
||||||
|
# This command provides a simple functionality that allows you to accomplish this.
|
||||||
|
define-command ocaml-alternative-file -docstring 'Switch between .ml and .mli file or vice versa' %{
|
||||||
|
evaluate-commands %sh{
|
||||||
|
if [ "${kak_buffile##*.}" = 'ml' ]; then
|
||||||
|
printf "edit -- '%s'" "$(printf %s "${kak_buffile}i" | sed "s/'/''/g")"
|
||||||
|
elif [ "${kak_buffile##*.}" = 'mli' ]; then
|
||||||
|
printf "edit -- '%s'" "$(printf %s "${kak_buffile%i}" | sed "s/'/''/g")"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user