Skip to content

Commit

Permalink
Add vimux-maven-test and key mappings for java files.
Browse files Browse the repository at this point in the history
  • Loading branch information
drewolson committed Feb 4, 2015
1 parent 2ef6cad commit b7dec05
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
3 changes: 3 additions & 0 deletions vim/bundle/java-mappings/ftplugin/java.vim
@@ -0,0 +1,3 @@
map <silent> <LocalLeader>ra :wa<CR> :RunAllMavenTests<CR>
map <silent> <LocalLeader>rb :wa<CR> :RunCurrentMavenTests<CR>
map <silent> <LocalLeader>rf :wa<CR> :RunFocusedMavenTests<CR>
15 changes: 15 additions & 0 deletions vim/bundle/vimux-maven-test/README.md
@@ -0,0 +1,15 @@
Vimux plugin for running maven tests.

## Requirements

- [vimux](https://github.com/benmills/vimux)

## Installation

Use pathogen.

## Commands

* RunAllMavenTests - Run all tests
* RunFocusedMavenTests - Run test closest to cursor
* RunCurrentMavenTests - Run all tests in current file
36 changes: 36 additions & 0 deletions vim/bundle/vimux-maven-test/plugin/java.vim
@@ -0,0 +1,36 @@
if exists("g:loaded_vimux_maven_test") || &cp
finish
endif
let g:loaded_vimux_maven_test = 1

command RunAllMavenTests :call s:RunAllMavenTests()
command RunFocusedMavenTests :call s:RunFocusedMavenTests()
command RunCurrentMavenTests :call s:RunCurrentMavenTests()

function s:ClassName()
let class_line_num = search("public class", "bn")
let class_line = getline(class_line_num)
let class_name = split(class_line, " ")[2]

return class_name
endfunction

function s:CurrentTestName()
let test_line_num = search("@Test", "bn") + 1
let test_line = getline(test_line_num)
let test_name = substitute(split(test_line, " ")[2], "\(.*$", "", "")

return test_name
endfunction

function s:RunAllMavenTests()
call VimuxRunCommand("clear && mvn test")
endfunction

function s:RunCurrentMavenTests()
call VimuxRunCommand("mvn -Dtest=" . s:ClassName() . " test")
endfunction

function s:RunFocusedMavenTests()
call VimuxRunCommand("mvn -Dtest=" . s:ClassName() . "#" . s:CurrentTestName() . " test")
endfunction

0 comments on commit b7dec05

Please sign in to comment.