Coder Social home page Coder Social logo

olimorris / neotest-rspec Goto Github PK

View Code? Open in Web Editor NEW
88.0 88.0 25.0 122 KB

๐Ÿงช Neotest adapter for RSpec. Works in Docker containers too

License: MIT License

Lua 84.07% Ruby 11.17% Makefile 4.75%
neotest neovim neovim-plugin nvim nvim-plugin rspec ruby

neotest-rspec's People

Contributors

aldhsu avatar alxekb avatar benlubas avatar compactcode avatar elken avatar elkesrio avatar eric-unger avatar mmirus avatar neanias avatar nolantait avatar olimorris avatar pfeiferj avatar ramblex avatar raw1z avatar rcarriga avatar richardmarbach avatar skmtkytr avatar tomasv avatar zidhuss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

neotest-rspec's Issues

Pending specs seem to break this

Hey I've been starting to try out neotest a little bit, thanks for making an rspec adapter.

I noticed just now that if you have a blockless it for a pending test, it seems to break everything. Nothing shows up on the side line anymore, and if you have the summary window open they all stay as quesiton marks.

I tried to get the output, but I had never used output before and I'm just getting

E5108: Error executing lua: ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: ..
.ck/packer/start/neotest/lua/neotest/consumers/output.lua:152: attempt to index upvalue 'client' (a nil value)

but I think that's probably unrleated to the pending/blockless its and something else wrong with my setup.

Test output missing JSON

My test output has two things: the result of the test, and a stdout message about code coverage.

For some reason, only the code coverage stdout message is making it into the output file I seen in the neotest log (and so no results show up in vim). The test results are not in that file at all.

I tried running the command that is being constructed: bundle exec rspec file_spec.rb -f json -o test.json -- and when I do that, the test.json is filled only with the opposite: json and no stdout.

Is the command running via something else that's maybe directing stdout to the output file too, and then stdout is overwriting the rspec output? Can you point me to what the next step after the command construction is? https://github.com/olimorris/neotest-rspec/blob/main/lua/neotest-rspec/init.lua#L115

No tests found

I'm attempting to get this set up with LazyVim. I've confirmed that neotest-rspec is installed and that the ruby nvim-treesitter parser installed. However, I'm getting an "No Tests Found" message when attempting to run a spec file. Any ideas on what would be going wrong?

Neotest.lua config

return {
  {
    "nvim-neotest/neotest",
    dependencies = {
      "olimorris/neotest-rspec",
    },
    opts = {
      adapters = {
        ["neotest-rspec"] = {
          {
            rspec_cmd = function()
              return vim.tbl_flatten({
                "bundle",
                "exec",
                "rspec",
              })
            end,
          },
        },
      },
    },
  },
}

treesitter.lua config

return {
  {
    "nvim-treesitter/nvim-treesitter",
    opts = function(_, opts)
      vim.list_extend(opts.ensure_installed, {
        "ruby",
      })
    end,
  },
}

Pop up error in editor

Error executing vim. schedule lua callback: ...{name}/.local/share/nvim/lazy/neotest/lua/nio/tasks.lua:95: Async task failed without callback: The coroutine failed with this me sec. de ...al/share/nvim/lazy/neotest/lua/neotest/adapters/init.lua:13:attempt to call field 'root' (a nil value)
Let(:a stack traceback:
Let_it ...al/share/nvim/lazy/neotest/lua/neotest/adapters/init.lua:in function 'adapters_with_root_dir' et_it ...ocal/share/nvim/lazy/neotest/lua/neotest/client/init.lua:504:infunction _update_adapters et(:e ...ocal/share/nvim/lazy/neotest/lua/neotest/client/{nit.lua:478:infunction start' ..ocal/share/nvim/lazy/neotest/lua/neotest/client/init.lua:188:infunction' _ensure started'
subiec ..ocal/share/nvim/lazy/neotest/lua/neotest/client/init.lua:200:infunction<...ocal/share/nvim/lazy/neotest/lua/neotest/client/init.lua:199>
..al/share/nvim/lazy/neotest/lua/neotest/consumers/run.lua:34:in function 'get_tree_from_args
lescri it
end
...al/share/nvim/lazy/neotest/lua/neotest/consumers/run.lua:67:in function func
..{name}/.Local/share/nvim/lazy/neotest/lua/nio/tasks.lua:166:infunction<...{name}/.local/share/nvim/lazv/neotest/lua/nio/tasks.Lua:165>
ex stack traceback:
[C1: in function 'error'{name}/.local/share/nvim/lazy/neotest/lua/nio/tasks.lua:95:in function 'close task'
it ex end
..{name}/.local/share/nvim/lazy/neotest/lua/nio/tasks.lua:117:in function 'b'
..{name}/.local/share/nvim/lazy/neotest/lua/nio/tasks.lua:179:in function <...{name}/. local/share/nvim/lazv/neotest/lua/nio/tasks. lua: 178>

Log from neotest.log

WARN | 2023-05-24T12:01:44Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:45Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:45Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:46Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:46Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:47Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:48Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:49Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:50Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:51Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:52Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:53Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:54Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:01:55Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:20Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:21Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:21Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:22Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:22Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:23Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:24Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:25Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:26Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:27Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:28Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:28Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call error converting argument 4
stack traceback:
	[C]: in function 'rpcnotify'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:123: in function 'notify'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:162: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:159>
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:29Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:30Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>
WARN | 2023-05-24T12:04:31Z-0400 | ...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:161 | CHILD | Error in remote call ...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: no parser for 'ruby' language, see :help treesitter-parsers
stack traceback:
	[C]: in function 'error'
	...0.9.0/share/nvim/runtime/lua/vim/treesitter/language.lua:94: in function 'add'
	...0/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:88: in function 'get_string_parser'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:119: in function 'get_parse_root'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:160: in function 'parse_positions_from_string'
	...re/nvim/lazy/neotest/lua/neotest/lib/treesitter/init.lua:207: in function 'func'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:153: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152>
	[C]: in function 'xpcall'
	...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:152: in function <...l/share/nvim/lazy/neotest/lua/neotest/lib/subprocess.lua:151>

TSModuleInfo output

>> default         context_commentstring  highlight  illuminate  incremental_selection  indent  
ada                โœ—                      โœ—          โœ—           โœ—                      โœ—       
agda               โœ—                      โœ—          โœ—           โœ—                      โœ—       
arduino            โœ—                      โœ—          โœ—           โœ—                      โœ—       
astro              โœ—                      โœ—          โœ—           โœ—                      โœ—       
awk                โœ—                      โœ—          โœ—           โœ—                      โœ—       
bash               โœ—                      โœ“          โœ“           โœ“                      โœ—       
bass               โœ—                      โœ—          โœ—           โœ—                      โœ—       
beancount          โœ—                      โœ—          โœ—           โœ—                      โœ—       
bibtex             โœ—                      โœ—          โœ—           โœ—                      โœ—       
bicep              โœ—                      โœ—          โœ—           โœ—                      โœ—       
blueprint          โœ—                      โœ—          โœ—           โœ—                      โœ—       
c                  โœ—                      โœ“          โœ“           โœ“                      โœ“       
c_sharp            โœ—                      โœ—          โœ—           โœ—                      โœ—       
capnp              โœ—                      โœ—          โœ—           โœ—                      โœ—       
chatito            โœ—                      โœ—          โœ—           โœ—                      โœ—       
clojure            โœ—                      โœ—          โœ—           โœ—                      โœ—       
cmake              โœ—                      โœ—          โœ—           โœ—                      โœ—       
comment            โœ—                      โœ—          โœ—           โœ—                      โœ—       
commonlisp         โœ—                      โœ—          โœ—           โœ—                      โœ—       
cooklang           โœ—                      โœ—          โœ—           โœ—                      โœ—       
cpon               โœ—                      โœ—          โœ—           โœ—                      โœ—       
cpp                โœ—                      โœ—          โœ—           โœ—                      โœ—       
css                โœ—                      โœ—          โœ—           โœ—                      โœ—       
cuda               โœ—                      โœ—          โœ—           โœ—                      โœ—       
cue                โœ—                      โœ—          โœ—           โœ—                      โœ—       
d                  โœ—                      โœ—          โœ—           โœ—                      โœ—       
dart               โœ—                      โœ—          โœ—           โœ—                      โœ—       
devicetree         โœ—                      โœ—          โœ—           โœ—                      โœ—       
dhall              โœ—                      โœ—          โœ—           โœ—                      โœ—       
diff               โœ—                      โœ—          โœ—           โœ—                      โœ—       
dockerfile         โœ—                      โœ—          โœ—           โœ—                      โœ—       
dot                โœ—                      โœ—          โœ—           โœ—                      โœ—       
ebnf               โœ—                      โœ—          โœ—           โœ—                      โœ—       
eex                โœ—                      โœ—          โœ—           โœ—                      โœ—       
elixir             โœ—                      โœ—          โœ—           โœ—                      โœ—       
elm                โœ—                      โœ—          โœ—           โœ—                      โœ—       
elsa               โœ—                      โœ—          โœ—           โœ—                      โœ—       
elvish             โœ—                      โœ—          โœ—           โœ—                      โœ—       
embedded_template  โœ—                      โœ—          โœ—           โœ—                      โœ—       
erlang             โœ—                      โœ—          โœ—           โœ—                      โœ—       
fennel             โœ—                      โœ—          โœ—           โœ—                      โœ—       
firrtl             โœ—                      โœ—          โœ—           โœ—                      โœ—       
fish               โœ—                      โœ—          โœ—           โœ—                      โœ—       
foam               โœ—                      โœ—          โœ—           โœ—                      โœ—       
fortran            โœ—                      โœ—          โœ—           โœ—                      โœ—       
fsh                โœ—                      โœ—          โœ—           โœ—                      โœ—       
func               โœ—                      โœ—          โœ—           โœ—                      โœ—       
fusion             โœ—                      โœ—          โœ—           โœ—                      โœ—       
gdscript           โœ—                      โœ—          โœ—           โœ—                      โœ—       
git_config         โœ—                      โœ—          โœ—           โœ—                      โœ—       
git_rebase         โœ—                      โœ—          โœ—           โœ—                      โœ—       
gitattributes      โœ—                      โœ—          โœ—           โœ—                      โœ—       
gitcommit          โœ—                      โœ—          โœ—           โœ—                      โœ—       
gitignore          โœ—                      โœ—          โœ—           โœ—                      โœ—       
gleam              โœ—                      โœ—          โœ—           โœ—                      โœ—       
glimmer            โœ—                      โœ—          โœ—           โœ—                      โœ—       
glsl               โœ—                      โœ—          โœ—           โœ—                      โœ—       
go                 โœ—                      โœ—          โœ—           โœ—                      โœ—       
godot_resource     โœ—                      โœ—          โœ—           โœ—                      โœ—       
gomod              โœ—                      โœ—          โœ—           โœ—                      โœ—       
gosum              โœ—                      โœ—          โœ—           โœ—                      โœ—       
gowork             โœ—                      โœ—          โœ—           โœ—                      โœ—       
graphql            โœ—                      โœ—          โœ—           โœ—                      โœ—       
hack               โœ—                      โœ—          โœ—           โœ—                      โœ—       
hare               โœ—                      โœ—          โœ—           โœ—                      โœ—       
haskell            โœ—                      โœ—          โœ—           โœ—                      โœ—       
hcl                โœ—                      โœ—          โœ—           โœ—                      โœ—       
heex               โœ—                      โœ—          โœ—           โœ—                      โœ—       
hjson              โœ—                      โœ—          โœ—           โœ—                      โœ—       
hlsl               โœ—                      โœ—          โœ—           โœ—                      โœ—       
hocon              โœ—                      โœ—          โœ—           โœ—                      โœ—       
html               โœ—                      โœ“          โœ“           โœ“                      โœ“       
htmldjango         โœ—                      โœ—          โœ—           โœ—                      โœ—       
http               โœ—                      โœ—          โœ—           โœ—                      โœ—       
ini                โœ—                      โœ—          โœ—           โœ—                      โœ—       
ispc               โœ—                      โœ—          โœ—           โœ—                      โœ—       
janet_simple       โœ—                      โœ—          โœ—           โœ—                      โœ—       
java               โœ—                      โœ—          โœ—           โœ—                      โœ—       
javascript         โœ—                      โœ“          โœ“           โœ“                      โœ“       
jq                 โœ—                      โœ—          โœ—           โœ—                      โœ—       
jsdoc              โœ—                      โœ—          โœ—           โœ—                      โœ—       
json               โœ—                      โœ“          โœ“           โœ“                      โœ“       
json5              โœ—                      โœ“          โœ—           โœ“                      โœ—       
jsonc              โœ—                      โœ“          โœ“           โœ“                      โœ“       
jsonnet            โœ—                      โœ—          โœ—           โœ—                      โœ—       
julia              โœ—                      โœ—          โœ—           โœ—                      โœ—       
kdl                โœ—                      โœ—          โœ—           โœ—                      โœ—       
kotlin             โœ—                      โœ—          โœ—           โœ—                      โœ—       
lalrpop            โœ—                      โœ—          โœ—           โœ—                      โœ—       
latex              โœ—                      โœ—          โœ—           โœ—                      โœ—       
ledger             โœ—                      โœ—          โœ—           โœ—                      โœ—       
llvm               โœ—                      โœ—          โœ—           โœ—                      โœ—       
lua                โœ—                      โœ“          โœ“           โœ“                      โœ“       
luadoc             โœ—                      โœ“          โœ—           โœ“                      โœ—       
luap               โœ—                      โœ“          โœ—           โœ“                      โœ—       
luau               โœ—                      โœ—          โœ—           โœ—                      โœ—       
m68k               โœ—                      โœ—          โœ—           โœ—                      โœ—       
make               โœ—                      โœ—          โœ—           โœ—                      โœ—       
markdown           โœ—                      โœ“          โœ—           โœ“                      โœ—       
markdown_inline    โœ—                      โœ“          โœ—           โœ“                      โœ—       
matlab             โœ—                      โœ—          โœ—           โœ—                      โœ—       
menhir             โœ—                      โœ—          โœ—           โœ—                      โœ—       
mermaid            โœ—                      โœ—          โœ—           โœ—                      โœ—       
meson              โœ—                      โœ—          โœ—           โœ—                      โœ—       
mlir               โœ—                      โœ—          โœ—           โœ—                      โœ—       
nickel             โœ—                      โœ—          โœ—           โœ—                      โœ—       
ninja              โœ—                      โœ—          โœ—           โœ—                      โœ—       
nix                โœ—                      โœ—          โœ—           โœ—                      โœ—       
norg               โœ—                      โœ—          โœ—           โœ—                      โœ—       
objc               โœ—                      โœ—          โœ—           โœ—                      โœ—       
ocaml              โœ—                      โœ—          โœ—           โœ—                      โœ—       
ocaml_interface    โœ—                      โœ—          โœ—           โœ—                      โœ—       
ocamllex           โœ—                      โœ—          โœ—           โœ—                      โœ—       
odin               โœ—                      โœ—          โœ—           โœ—                      โœ—       
org                โœ—                      โœ—          โœ—           โœ—                      โœ—       
pascal             โœ—                      โœ—          โœ—           โœ—                      โœ—       
passwd             โœ—                      โœ—          โœ—           โœ—                      โœ—       
perl               โœ—                      โœ—          โœ—           โœ—                      โœ—       
php                โœ—                      โœ—          โœ—           โœ—                      โœ—       
phpdoc             โœ—                      โœ—          โœ—           โœ—                      โœ—       
pioasm             โœ—                      โœ—          โœ—           โœ—                      โœ—       
po                 โœ—                      โœ—          โœ—           โœ—                      โœ—       
poe_filter         โœ—                      โœ—          โœ—           โœ—                      โœ—       
pony               โœ—                      โœ—          โœ—           โœ—                      โœ—       
prisma             โœ—                      โœ—          โœ—           โœ—                      โœ—       
proto              โœ—                      โœ—          โœ—           โœ—                      โœ—       
prql               โœ—                      โœ—          โœ—           โœ—                      โœ—       
pug                โœ—                      โœ—          โœ—           โœ—                      โœ—       
puppet             โœ—                      โœ—          โœ—           โœ—                      โœ—       
python             โœ—                      โœ“          โœ“           โœ“                      โœ“       
ql                 โœ—                      โœ—          โœ—           โœ—                      โœ—       
qmldir             โœ—                      โœ—          โœ—           โœ—                      โœ—       
qmljs              โœ—                      โœ—          โœ—           โœ—                      โœ—       
query              โœ—                      โœ“          โœ“           โœ“                      โœ“       
r                  โœ—                      โœ—          โœ—           โœ—                      โœ—       
racket             โœ—                      โœ—          โœ—           โœ—                      โœ—       
rasi               โœ—                      โœ—          โœ—           โœ—                      โœ—       
regex              โœ—                      โœ“          โœ—           โœ“                      โœ—       
rego               โœ—                      โœ—          โœ—           โœ—                      โœ—       
rnoweb             โœ—                      โœ—          โœ—           โœ—                      โœ—       
ron                โœ—                      โœ—          โœ—           โœ—                      โœ—       
rst                โœ—                      โœ—          โœ—           โœ—                      โœ—       
ruby               โœ—                      โœ“          โœ“           โœ“                      โœ“       
rust               โœ—                      โœ—          โœ—           โœ—                      โœ—       
scala              โœ—                      โœ—          โœ—           โœ—                      โœ—       
scheme             โœ—                      โœ—          โœ—           โœ—                      โœ—       
scss               โœ—                      โœ—          โœ—           โœ—                      โœ—       
slint              โœ—                      โœ—          โœ—           โœ—                      โœ—       
smali              โœ—                      โœ—          โœ—           โœ—                      โœ—       
smithy             โœ—                      โœ—          โœ—           โœ—                      โœ—       
solidity           โœ—                      โœ—          โœ—           โœ—                      โœ—       
sparql             โœ—                      โœ—          โœ—           โœ—                      โœ—       
sql                โœ—                      โœ—          โœ—           โœ—                      โœ—       
squirrel           โœ—                      โœ—          โœ—           โœ—                      โœ—       
starlark           โœ—                      โœ—          โœ—           โœ—                      โœ—       
supercollider      โœ—                      โœ—          โœ—           โœ—                      โœ—       
surface            โœ—                      โœ—          โœ—           โœ—                      โœ—       
svelte             โœ—                      โœ—          โœ—           โœ—                      โœ—       
swift              โœ—                      โœ—          โœ—           โœ—                      โœ—       
sxhkdrc            โœ—                      โœ—          โœ—           โœ—                      โœ—       
t32                โœ—                      โœ—          โœ—           โœ—                      โœ—       
tablegen           โœ—                      โœ—          โœ—           โœ—                      โœ—       
teal               โœ—                      โœ—          โœ—           โœ—                      โœ—       
terraform          โœ—                      โœ—          โœ—           โœ—                      โœ—       
thrift             โœ—                      โœ—          โœ—           โœ—                      โœ—       
tiger              โœ—                      โœ—          โœ—           โœ—                      โœ—       
tlaplus            โœ—                      โœ—          โœ—           โœ—                      โœ—       
todotxt            โœ—                      โœ—          โœ—           โœ—                      โœ—       
toml               โœ—                      โœ—          โœ—           โœ—                      โœ—       
tsx                โœ—                      โœ“          โœ“           โœ“                      โœ“       
turtle             โœ—                      โœ—          โœ—           โœ—                      โœ—       
twig               โœ—                      โœ—          โœ—           โœ—                      โœ—       
typescript         โœ—                      โœ“          โœ“           โœ“                      โœ“       
ungrammar          โœ—                      โœ—          โœ—           โœ—                      โœ—       
usd                โœ—                      โœ—          โœ—           โœ—                      โœ—       
uxntal             โœ—                      โœ—          โœ—           โœ—                      โœ—       
v                  โœ—                      โœ—          โœ—           โœ—                      โœ—       
vala               โœ—                      โœ—          โœ—           โœ—                      โœ—       
verilog            โœ—                      โœ—          โœ—           โœ—                      โœ—       
vhs                โœ—                      โœ—          โœ—           โœ—                      โœ—       
vim                โœ—                      โœ“          โœ“           โœ“                      โœ—       
vimdoc             โœ—                      โœ“          โœ—           โœ“                      โœ—       
vue                โœ—                      โœ—          โœ—           โœ—                      โœ—       
wgsl               โœ—                      โœ—          โœ—           โœ—                      โœ—       
wgsl_bevy          โœ—                      โœ—          โœ—           โœ—                      โœ—       
yaml               โœ—                      โœ“          โœ“           โœ“                      โœ“       
yang               โœ—                      โœ—          โœ—           โœ—                      โœ—       
yuck               โœ—                      โœ—          โœ—           โœ—                      โœ—       
zig                โœ—                      โœ—          โœ—           โœ—                      โœ—       

Plenary issue and no tests found

Hello. I'm not sure what might have changed, but the plugin seem not to be working anymore. I'm seeing the following error when I try and run :lua require('neotest').run.run() on an Rspec file:

E5108: Error executing lua ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: Vim:E117: Unknown function: test#test_file
stack traceback:
        [C]: in function 'error'
        ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: in function 'callback_or_next'
        ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:40: in function 'step'
        ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:43: in function 'execute'
        ...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:103: in function 'run'
        ...te/pack/packer/opt/neotest/lua/neotest/consumers/run.lua:30: in function 'run'
        [string ":lua"]:1: in main chunk
Press ENTER or type command to continue

Then, if i run it again, i see "No tests found":

image

Just incase it helps, my config is:

-- packer
  use {
    "nvim-neotest/neotest",
    requires = {
      "nvim-lua/plenary.nvim",
      "olimorris/neotest-rspec",
      "nvim-treesitter/nvim-treesitter",
      "antoinemadec/FixCursorHold.nvim",
      "nvim-neotest/neotest-plenary",
      "nvim-neotest/neotest-vim-test",
    },
    config = function() require("plugins.config.neotest") end,
    event = "BufEnter",
    module = { "neotest" },
  }

-- plugin
local plugin_loaded, neotest = pcall(require, "neotest")
if not plugin_loaded then
  return
end

neotest.setup {
  adapters = {
    require "neotest-rspec",
    require "neotest-vim-test" {
      ignore_file_types = { "vim", "lua" },
    },
  },
  diagnostic = false
}

I realise that the plugin is a work in progress, so if you have any idea as to what might have caused the recent break i'd be grateful to know. Thank you for your hard work.

Create custom RSpec reporter

I feel we're reaching the limit of the RSpec JSON formatter. It's becoming harder and harder to connect the output from Treesitter with RSpec. I've started to look into a custom RSpec reporter to begin to see what we could use

Test output shows JSON

When I look at the test output, I expect to see human-friendly information about the test (and any failures): https://github.com/nvim-neotest/neotest#output-window

Instead, I see human-unfriendly JSON (rspec's JSON output, specifically).

This is a tricky one. Three options I can see:

  1. Somehow get RSpec to output both human-friendly and machine-friendly formats, then parse/correlate them.
  2. Switch to human-friendly output and figure out how to parse that for results.
  3. Parse/format the JSON blob into something human readable.

#3 is my favourite, but a good starting point is probably to check how neotest-pytest does it, considering that's the example in the README screenshot. https://github.com/nvim-neotest/neotest-python

[Bug]: `specify` blocks are not recognized

RSpec test

RSpec.describe "something" do
  specify { expect { raise }.not_to raise_error }
end

Error messages

No response

Describe the bug

What I expect to happen

The test examples declared with specify to be reported in summary, sign column, and on failure.

What actually happens

The test examples declared with specify are largely ignored.

Reproduce the bug

Open the example spec file and:

  • open sumary
  • run tests
  • observe no automated output popup

Minimal fix diff

diff --git a/lua/neotest-rspec/init.lua b/lua/neotest-rspec/init.lua
index d12e686..f3c816e 100644
--- a/lua/neotest-rspec/init.lua
+++ b/lua/neotest-rspec/init.lua
@@ -61,12 +61,12 @@ function NeotestAdapter.discover_positions(path)
     )) @namespace.definition
 
     ((call
-      method: (identifier) @func_name (#eq? @func_name "it")
+      method: (identifier) @func_name (#match? @func_name "^(it|specify)$")
       block: (block (_) @test.name)
     )) @test.definition
 
     ((call
-      method: (identifier) @func_name (#eq? @func_name "it")
+      method: (identifier) @func_name (#match? @func_name "^(it|specify)$")
       block: (do_block (_) @test.name)
       !arguments
     )) @test.definition

I'd create a PR, but while I have a fix for my specific case, I'm not familiar with the test framework to quickly cover it with tests. I might still provide one later, but I can't make any promises.

Final checks

  • I have made sure this issue exists in the latest version of the plugin
  • I have tested with the minimal.lua config file above and still get the issue
  • I have confirmed that Treesitter is working correctly by running :checkhealth treesitter
  • I have made sure this is not a duplicate issue

No tests found.

Hello, I'm seeing a No Tests Found message for the following spec:

# frozen_string_literal: true

require "rails_helper"

RSpec.describe Collections::Foodiverse::WaitlistCollectionAdvertiserService do
  describe "Constants" do
    it { expect(described_class.const_defined?(:BODY_MESSAGE_KEY)).to be true }
  end
end

Running rspec via the terminal results in:

Finished in 0.37423 seconds (files took 7.58 seconds to load)
1 example, 0 failures

Randomized with seed 556

Do you know if there is support for the short it syntax?

I'm using Neovim nightly and the latest version of the plugin.

Thank you again for the time you've put in to developing this plugin, I use it pretty much every day.

i'm using rbenv and i cannot run tests

i'm using rbenv and i cannot run tests they jsut run using a spinning / in orange coloar and they stop, where can is see the logs or what's happening

Tests with no context no longer work

Ref: #21

# This is not detected by treesitter
RSpec.describe do
  it { expect("single line tests".size).to eq(17) }
end

This is a Treesitter query thing that I need to workout how to fix at some point. Not sure how often these crop up in everyone's workflows.

Missing comma is readme example

Sorry for the silly issue, but I thought it would be best to let you know:

use({
  'nvim-neotest/neotest',
  requires = {
    ...,
    'olimorris/neotest-rspec',
  } -- <== missing a comma here :)
  config = function()
    require('neotest').setup({
      ...,
      adapters = {
        require('neotest-rspec'),
      }
    })
  end
})

Cannot run nested tests

For any tests that are nested beyond /spec/* then the adapter will not work.

Currently working on a way to form the treesitter id that will fix that.

How to run with docker

Hey, incredible work on this repository, and I think it would be better if we could run with docker, too, because the vast majority of companies use docker nowadays.
I thought like we could run this, setting custom_command as docker
Like:

require("neotest-rspec")(
{ custom_command = "docker exec -it mytestcontainer rspec" }
)

Tests without description not found

I have some tests that do not have a description a very simple example to recreate below, these are not found in the buffer or the summary. I'm using LazyVim not sure if I've missed something in the configuration.

describe 'Test' do
  it do 
    expect(true).to be(true)
  end
end

image

[Bug]: Can't run the rspec command in the correct directory in a monorepo

RSpec test

No response

Error messages

No lua errors, the error comes from running the rspec in the wrong directory.

Describe the bug

When running the tests in a monorepo, the rspec command will always run from the current working directory, instead of the one holding the Gemfile closest to the spec.

Reproduce the bug

Failure

  1. git clone https://github.com/davidmh/neotest-rspec-monorepo-example
  2. cd neotest-rspec-monorepo-example
  3. nvim -u minimal-init.lua service-a/spec/minimal_spec.rb
  4. :Neotest run<cr>

Success

  1. cd service-a/
  2. nvim -u ../minimal-init.la spec/minimal_spec.rb
    3 :Neotest run<cr>

Final checks

  • I have made sure this issue exists in the latest version of the plugin
  • I have tested with the minimal.lua config file above and still get the issue
  • I have confirmed that Treesitter is working correctly by running :checkhealth treesitter
  • I have made sure this is not a duplicate issue

Can't run tests that use class methods

Ref: #15. The following code will not currently run:

RSpec.describe Class do
  describe '.new' do
    it 'handles the "." method naming convention' do
      expect(Class.new).to be_a(Class)
    end
  end
end

The RSpec full_description id is:
Class.new handles the "." method naming convention

and the Treesitter ID is
Class .new handles the "." method naming convention

The space in the Treesitter ID is causing the issue so need to find a neat way to resolve it.

Summary tests don't run as intended

Running tests from the summary window is currently buggy as they're run by their test name rather than the line number the test is on:

Screen Shot 2022-08-15 at 17 40 57@2x

When run from the buffer, the test passes. Yet from the summary window, it fails. The screenshot above shows the impact of a test that should pass, being run from the summary window.

"Trouble" quicklist plugin showing duplicate failures

Hello,

I'm not sure if this is an issue, one that related to this adapter or Neotest, but I thought I would mention it anyway.

When I run a set of specs, I see a non-uniq list of failures being populated into the LSP Diagnostics quicklist LSP plugin Trouble.

image

I've run these specs a few times now (as I am not managing to fix the issue ๐Ÿค“), but apart from that I can't think of a reason they would show in there like this.

Some test examples are ignored

Firstly, thanks for building this adapter for Ruby devs

I've tried and it seems ignore some test example when I run the test (with the whole file)

image

Are you facing the same issue like me?

Attach dialogue text

I mentioned on Reddit that the attach modal was showing some text that wasn't useful, and I've worked it out. The modal obviously shows the output of the test running, which in the case of the project i'm working on, gives a bunch of deprecation warnings.

image

To get to the useful big I want, I need to G to the bottom and enter insert mode.

image

Do you know if its possible to automatically scroll the content of the modal so that the most recent line is always shown?

Including tests from RSpec shared_examples

In my rspec, I use a lot of include_examples to check the structure of the JSON response against a schema.

In my spec file, I usually include a line like this:

include_examples 'http_response', :ok, 'users/collection

My current RSpec setup is that I create a shared example like here below:

RSpec.shared_examples 'http_response' do |status_code, schema|     โ–   Missing frozen string literal comment.
   it 'should have the correct status code and response body' do
     expect(response).to have_http_status(status_code)
     expect(response).to match_response_schema(schema)
   end
 end

And then in the second expect, I create a rspec matcher to automatically search the schema in a specific folder where I store all the schemas as a json file, and then I use validate that schema with the response.body

RSpec::Matchers.define :match_response_schema do |schema|
   match do |response|
     if schema.instance_of?(String)
       schema_directory = "#{Dir.pwd}/spec/schemas"
       schema_path = "#{schema_directory}/#{schema}.json"
       JSON::Validator.validate!(schema_path, response.body, strict: true)
     else
       JSON::Validator.validate!(schema, JSON.parse(response.body), strict: true)
     end
   end
 end

I see that this probably will be related to the discover_positions method from Neotest

function NeotestAdapter.discover_positions(path)
  local query = [[
    ((call
      method: (identifier) @func_name (#match? @func_name "^(describe|context|feature)$")
      arguments: (argument_list (_) @namespace.name)
    )) @namespace.definition

    ((call
      method: (identifier) @namespace.name (#match? @namespace.name "^(describe|context|feature)$")
      .
      block: (_)
    )) @namespace.definition

    ((call
      method: (identifier) @func_name (#eq? @func_name "it")
      block: (block (_) @test.name)
    )) @test.definition

    ((call
      method: (identifier) @func_name (#match? @func_name "^(it|scenario|it_behaves_like)$")
      arguments: (argument_list (_) @test.name)
    )) @test.definition
  ]]

I personally haven't dig too much on how it finds and executes the test, but I really need this feature because in every spec file I have an include_examples. I'll try to see also if I can help, thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.