helpers.lua 699 B

1234567891011121314151617181920212223242526272829303132
  1. local M = {}
  2. function M.search_file(file, args)
  3. local Job = require "plenary.job"
  4. local stderr = {}
  5. local stdout, ret = Job:new({
  6. command = "grep",
  7. args = { args, file },
  8. cwd = vim.loop.cwd(),
  9. on_stderr = function(_, data)
  10. table.insert(stderr, data)
  11. end,
  12. }):sync()
  13. return ret, stdout, stderr
  14. end
  15. function M.log_contains(query)
  16. local logfile = require("lvim.core.log"):get_path()
  17. local ret, stdout, stderr = M.search_file(logfile, query)
  18. if ret == 0 then
  19. return true
  20. end
  21. if not vim.tbl_isempty(stderr) then
  22. error(vim.inspect(stderr))
  23. end
  24. if not vim.tbl_isempty(stdout) then
  25. error(vim.inspect(stdout))
  26. end
  27. return false
  28. end
  29. return M