vim9script # Nose-compatible test name preparer # Maintainer: Sergey Matveev # License: GNU General Public License version 3 of the License or later # # When standing inside TestCase's test method, type t and full # Python (your.project.tests:TestCaseName.test_method_name) path will be # copied to clipboard ("*) register. export def Get() var pos = getpos(".") var postfix = matchstr(getline(search(".*\s*def .*[Tt]est", "b")), '\w\+(')[: -2] postfix = matchstr(getline(search("^\s*class", "bn")), '\w\+(')[: -2] .. "." .. postfix setpos(".", pos) var base = join([""] + split(getcwd(), "/")[: -1], "/") var prefix = substitute(expand("%:p:r")[len(base) + 1 :], "/", ".", "g") var name = prefix .. ":" .. postfix @* = name echomsg name enddef