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
7c6d4779f6 Overwrite exported command and function, used endfunction instead of endfunc 2019-10-22 19:01:14 +02:00
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 with the corresponding header file in the left window and the corresponding
source file in the right window. 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 ## Configuration
You can configure the following settings: You can configure the following settings:
@ -41,6 +48,12 @@ SplitOpen is GPL-3.0 licensed. See LICENSE file for more info.
## Changelog ## Changelog
v1.1.0
* Added Split() command
v1.0.0
* Fixed error when reloading plugin
v0.0.4 v0.0.4
* Add filetype configuraton * Add filetype configuraton

View File

@ -4,18 +4,18 @@ function s:invert_dict(source_dict)
let result[value] = key let result[value] = key
endfor endfor
return result return result
endfunc endfunction
let s:extensions = g:splitopen_extensions let s:extensions = g:splitopen_extensions
let s:extensions_rev = s:invert_dict(s:extensions) let s:extensions_rev = s:invert_dict(s:extensions)
function s:isLeftSideExtension(extension) function s:isLeftSideExtension(extension)
return has_key(s:extensions, a:extension) return has_key(s:extensions, a:extension)
endfunc endfunction
function s:isRightSideExtension(extension) function s:isRightSideExtension(extension)
return has_key(s:extensions_rev, a:extension) return has_key(s:extensions_rev, a:extension)
endfunc endfunction
function s:getFileExtension(filename) function s:getFileExtension(filename)
return fnamemodify(a:filename, ":e") return fnamemodify(a:filename, ":e")
@ -23,7 +23,7 @@ endfunction
function s:getFileRoot(filename) function s:getFileRoot(filename)
return fnamemodify(a:filename, ":r") return fnamemodify(a:filename, ":r")
endfunc endfunction
function s:getSwitchExtension(filename) function s:getSwitchExtension(filename)
let extension = s:getFileExtension(a:filename) let extension = s:getFileExtension(a:filename)
@ -32,25 +32,24 @@ function s:getSwitchExtension(filename)
elseif s:isRightSideExtension(extension) elseif s:isRightSideExtension(extension)
return s:extensions_rev[extension] return s:extensions_rev[extension]
endif endif
endfunc endfunction
function s:getSwitchFile(filename) function s:getSwitchFile(filename)
return s:getFileRoot(a:filename) . "." . s:getSwitchExtension(a:filename) return s:getFileRoot(a:filename) . "." . s:getSwitchExtension(a:filename)
endfunc endfunction
function s:addLeftSplit(filename) function s:addLeftSplit(filename)
execute("vsplit " . s:getSwitchFile(a:filename)) execute("vsplit " . s:getSwitchFile(a:filename))
execute("wincmd l") execute("wincmd l")
endfunc endfunction
function s:addRightSplit(filename) function s:addRightSplit(filename)
execute("vsplit " . s:getSwitchFile(a:filename)) execute("vsplit " . s:getSwitchFile(a:filename))
execute("wincmd L") execute("wincmd L")
execute("wincmd h") execute("wincmd h")
endfunc endfunction
function splitopen#SplitOpenFile(filename) function s:splitOpenFile(filename)
execute("tabedit " . a:filename)
let extension = s:getFileExtension(a:filename) let extension = s:getFileExtension(a:filename)
if s:isLeftSideExtension(extension) if s:isLeftSideExtension(extension)
call s:addRightSplit(a:filename) call s:addRightSplit(a:filename)
@ -58,3 +57,12 @@ function splitopen#SplitOpenFile(filename)
call s:addLeftSplit(a:filename) call s:addLeftSplit(a:filename)
endif endif
endfunction 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 with the corresponding header file in the left window and the corresponding
source file in the right window. 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* 2. Configuration *SplitOpenConfiguration*
@ -55,6 +62,10 @@ SplitOpen is GPL-3.0 licensed. See LICENSE file for more info.
================================================================================ ================================================================================
4. Changelog *SplitOpenChangelog* 4. Changelog *SplitOpenChangelog*
v1.1.0
* Added Split() command
v1.0.0
* Fixed error when reloading plugin
v0.0.4 v0.0.4
* Add filetype configuraton * Add filetype configuraton
v0.0.3 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 " map left-split / right-split file extensions
if !exists("g:splitopen_extensions") if !exists("g:splitopen_extensions")