From 30d907fd205daa02fd32a4c367602a457fe9b399 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 4 May 2017 22:07:51 +0200 Subject: Add 'whitespace-chain' plugin A new plugin to split method chains onto multiple lines. For example: scope.line.result(distinct: true).paginate becomes: scope .line .result(distinct: true) .paginate --- bundle/whitespace-chain/plugin/whitespace_chain.vim | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 bundle/whitespace-chain/plugin/whitespace_chain.vim (limited to 'bundle/whitespace-chain/plugin') diff --git a/bundle/whitespace-chain/plugin/whitespace_chain.vim b/bundle/whitespace-chain/plugin/whitespace_chain.vim new file mode 100644 index 0000000..5ba523d --- /dev/null +++ b/bundle/whitespace-chain/plugin/whitespace_chain.vim @@ -0,0 +1,12 @@ +function! SplitMethodChainToMultipleLines() + normal! m` + + let line = getline('.') + let indent = matchstr(line, '\v^\s+') + + " Replace '.' with newlines and the correct amount of indentation + substitute/\V./\=' ' . indent . '.'/g + + " Indent new lines + '`+1,.> +endfunction -- cgit v1.2.3