Compare commits

...

10 Commits

Author SHA1 Message Date
changeme 21a5d0b3c1 Merge branch 'hotfix/typo' 2020-06-29 21:30:54 +02:00
changeme 045ccdfa9f Fixed a typo 2020-06-29 21:30:19 +02:00
changeme 83005361b6 Merge branch 'release/v1.1.0' 2020-06-29 21:28:12 +02:00
changeme 722e2da2f2 Added release documentation 2020-06-29 21:28:07 +02:00
Michael Mandl 97d53cf45c Added new Split() command to split an existing tab 2019-10-30 22:40:30 +01:00
Michael Mandl 4896a7c3cd Merge branch 'master' into develop 2019-10-30 22:22:15 +01:00
Michael Mandl a7097e7cb8 Merge branch 'release/v1' 2019-10-30 22:22:13 +01:00
Michael Mandl d12fde2ddc Updated release notes 2019-10-30 22:21:59 +01:00
mandlm 7c6d4779f6 Overwrite exported command and function, used endfunction instead of endfunc 2019-10-22 19:01:14 +02:00
mandlm 15aa4bf864 Merge tag 'configure-filetypes' into develop
v0.0.4
2019-10-20 15:54:43 +02:00
4 changed files with 44 additions and 11 deletions

View File

@ -12,6 +12,13 @@ with a .cpp or .h file as filename to open a new tab containing a vertical split
with the corresponding header file in the left window and the corresponding
source file in the right window.
Use
:Split
to open the corresponding header or source file to your currently open file in
a vertical split.
## Configuration
You can configure the following settings:
@ -41,6 +48,12 @@ SplitOpen is GPL-3.0 licensed. See LICENSE file for more info.
## Changelog
v1.1.0
* Added Split() command
v1.0.0
* Fixed error when reloading plugin
v0.0.4
* Add filetype configuraton

View File

@ -4,18 +4,18 @@ function s:invert_dict(source_dict)
let result[value] = key
endfor
return result
endfunc
endfunction
let s:extensions = g:splitopen_extensions
let s:extensions_rev = s:invert_dict(s:extensions)
function s:isLeftSideExtension(extension)
return has_key(s:extensions, a:extension)
endfunc
endfunction
function s:isRightSideExtension(extension)
return has_key(s:extensions_rev, a:extension)
endfunc
endfunction
function s:getFileExtension(filename)
return fnamemodify(a:filename, ":e")
@ -23,7 +23,7 @@ endfunction
function s:getFileRoot(filename)
return fnamemodify(a:filename, ":r")
endfunc
endfunction
function s:getSwitchExtension(filename)
let extension = s:getFileExtension(a:filename)
@ -32,25 +32,24 @@ function s:getSwitchExtension(filename)
elseif s:isRightSideExtension(extension)
return s:extensions_rev[extension]
endif
endfunc
endfunction
function s:getSwitchFile(filename)
return s:getFileRoot(a:filename) . "." . s:getSwitchExtension(a:filename)
endfunc
endfunction
function s:addLeftSplit(filename)
execute("vsplit " . s:getSwitchFile(a:filename))
execute("wincmd l")
endfunc
endfunction
function s:addRightSplit(filename)
execute("vsplit " . s:getSwitchFile(a:filename))
execute("wincmd L")
execute("wincmd h")
endfunc
endfunction
function splitopen#SplitOpenFile(filename)
execute("tabedit " . a:filename)
function s:splitOpenFile(filename)
let extension = s:getFileExtension(a:filename)
if s:isLeftSideExtension(extension)
call s:addRightSplit(a:filename)
@ -58,3 +57,12 @@ function splitopen#SplitOpenFile(filename)
call s:addLeftSplit(a:filename)
endif
endfunction
function! splitopen#SplitOpenFile(filename)
execute("tabedit " . a:filename)
call s:splitOpenFile(a:filename)
endfunction
function! splitopen#SplitFile()
call s:splitOpenFile(expand("%:p"))
endfunction

View File

@ -21,6 +21,13 @@ with a .cpp or .h file as filename to open a new tab containing a vertical split
with the corresponding header file in the left window and the corresponding
source file in the right window.
Use
:Split
to open the corresponding header or source file to your currently open file in
a vertical split.
================================================================================
2. Configuration *SplitOpenConfiguration*
@ -55,6 +62,10 @@ SplitOpen is GPL-3.0 licensed. See LICENSE file for more info.
================================================================================
4. Changelog *SplitOpenChangelog*
v1.1.0
* Added Split() command
v1.0.0
* Fixed error when reloading plugin
v0.0.4
* Add filetype configuraton
v0.0.3

View File

@ -1,4 +1,5 @@
command -nargs=1 SplitOpen :call splitopen#SplitOpenFile("<args>")
command! -nargs=1 SplitOpen :call splitopen#SplitOpenFile("<args>")
command! Split :call splitopen#SplitFile()
" map left-split / right-split file extensions
if !exists("g:splitopen_extensions")