diff --git a/.gitmodules b/.gitmodules index f80aae5b..5df3721b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -79,3 +79,6 @@ [submodule "nvim/.config/nvim/pack/bundle/opt/nvim-treesitter"] path = nvim/.config/nvim/pack/bundle/opt/nvim-treesitter url = https://github.com/nvim-treesitter/nvim-treesitter +[submodule "nvim/.config/nvim/pack/bundle/opt/vim-projectionist"] + path = nvim/.config/nvim/pack/bundle/opt/vim-projectionist + url = https://github.com/tpope/vim-projectionist diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 554a900f..c0affd7c 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -11,6 +11,7 @@ if has('packages') packadd! vim-fugitive packadd! vim-json packadd! vim-less + packadd! vim-projectionist packadd! vim-repeat packadd! vim-snippets packadd! vim-surround diff --git a/nvim/.config/nvim/pack/bundle/opt/vim-projectionist b/nvim/.config/nvim/pack/bundle/opt/vim-projectionist new file mode 160000 index 00000000..ddfa49f9 --- /dev/null +++ b/nvim/.config/nvim/pack/bundle/opt/vim-projectionist @@ -0,0 +1 @@ +Subproject commit ddfa49f9ece73aca44d2b45d693e7b58adbf8f8c diff --git a/nvim/.config/nvim/plugin/projectionist.vim b/nvim/.config/nvim/plugin/projectionist.vim new file mode 100644 index 00000000..f1020325 --- /dev/null +++ b/nvim/.config/nvim/plugin/projectionist.vim @@ -0,0 +1,25 @@ +let g:projectionist_heuristics = { + \'*': { + \ 'src/*.c': { + \ 'alternate': [ + \ 'src/{}.h', + \ 'tests/{}.test.c' + \ ], + \ 'type': 'source' + \ }, + \ 'src/*.h': { + \ 'alternate': [ + \ 'tests/{}.test.c', + \ 'src/{}.c' + \ ], + \ 'type': 'header' + \ }, + \ 'tests/*.test.c': { + \ 'alternate': [ + \ 'src/{}.c', + \ 'src/{}.h', + \ ], + \ 'type': 'test' + \ }, + \ } +\}