From da6f343032cb01597dc7866e66f091adf3243a62 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Sat, 20 Nov 2021 03:10:50 +0000 Subject: Initial public snapshot With code from Bill. Thanks Bill! --- tools/todo.vim | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tools/todo.vim (limited to 'tools/todo.vim') diff --git a/tools/todo.vim b/tools/todo.vim new file mode 100644 index 0000000..04c704d --- /dev/null +++ b/tools/todo.vim @@ -0,0 +1,41 @@ +" This file is dedicated to the public domain. + +function! Todo(...) + if exists("a:1") && a:1 != "" + copen + " cex "" | cadde to avoid insta-jumping + if &shell == "cmd.exe" + cex "" | cadde system("git grep -nF TODO(".shellescape(a:1).")") + else + cex "" | cadde system("git grep -nF \"TODO(\"".shellescape(a:1)."\\)") + endif + else + " just displaying like this for now... + if &shell == "cmd.exe" + " FIXME: write a Windows batch equivalent!? in the meantime, you + " need a Unix shell to track issues :^) + cex "" | cclose | !sh tools/todo + else + cex "" | cclose | !tools/todo + endif + endif +endfunction + +function! TodoEdit(...) + if exists("a:1") && a:1 != "" + exec "tabe TODO/".a:1 + if line('$') == 1 && getline(1) == '' + normal o==== + 1 + else + 3 " XXX should really search for ====, but this is fine for now + endif + else + echoerr "Specify an issue ID" + endif +endfunction + +command! -nargs=? Todo call Todo("") +command! -nargs=? TodoEdit call TodoEdit("") + +" vi: sw=4 ts=4 noet tw=80 cc=80 -- cgit v1.2.3