neotest-go icon indicating copy to clipboard operation
neotest-go copied to clipboard

[Question] How to enable virtual text

Open Davincible opened this issue 3 years ago • 10 comments
trafficstars

Am I supposed to see virtual text like shown in the readme? I am only seeing the icon for passed/failed as virtual text

image

Davincible avatar Oct 25 '22 18:10 Davincible

@Davincible have you added

    diagnostic = {
      enabled = true,
    },

To your neotest config?

akinsho avatar Oct 26 '22 15:10 akinsho

Yup.

Config:

local neotest_ns = vim.api.nvim_create_namespace("neotest")
vim.diagnostic.config({
	virtual_text = {
		format = function(diagnostic)
			local message = diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "")
			return message
		end,
	},
}, neotest_ns)

local neotest = require("neotest")

neotest.setup({
	diagnostic = {
		enabled = true,
	},
	status = {
		virtual_text = true,
		signs = true,
	},
	strategies = {
		integrated = {
			width = 180,
		},
	},
	icons = {
		running_animated = {
			"",
			"🞅",
			"🞈",
			"🞉",
			"",
			"",
			"🞉",
			"🞈",
			"🞅",
			"",
		},
	},
	adapters = {
		require("neotest-go")({
			args = { "-count=1", "-timeout=60s", "-race", "-cover" },
		}),
		require("neotest-python")({
			dap = { justMyCode = false, console = "integratedTerminal" },
		}),
	},
})

Davincible avatar Oct 26 '22 15:10 Davincible

I'm able to see virtual text but to be clear it only appears when a test has been run and has failed, otherwise there will be no virtual text. It isn't really controlled here, but in neotest itself. Are you able to see virtual text with any adapters? If not, this is likely a config issue but at worst an issue there rather than here since this plugin doesn't do any logic to enable or disable the virtual text.

akinsho avatar Oct 26 '22 15:10 akinsho

I do see virtual text, but only icons. Could you make a screenshot with how it looks for you?

image

Some code to test;

func TestSuite(t *testing.T) {
	t.Run("TestOne", testOne)
	t.Run("TestTwo", func(t *testing.T) {})
	t.Run("TestThree", func(t *testing.T) {})
}

func testOne(t *testing.T) {
	t.Fatal("Yiiikes")
}

Davincible avatar Oct 26 '22 15:10 Davincible

image

The message is quite long, so you can't see much of it, but the red text is the message of the full thing 🤷🏿‍♂️. Maybe try a more minimal configuration. Anyway, I'll leave further debugging to you +/- anyone else who wants to pitch in.

akinsho avatar Oct 26 '22 15:10 akinsho

Hm strange. Thanks

Davincible avatar Oct 26 '22 15:10 Davincible

Side note; I do see them with python, which I why I asked here

image

Davincible avatar Oct 26 '22 15:10 Davincible

no virtual text display

image

nshen avatar Nov 22 '22 12:11 nshen

I have the same issue over here, I can only see icons. Could it be the golang version? I am using the 1.20.4. Neovim version: 0.9 2.1.0-beta3

franroa avatar May 22 '23 05:05 franroa

Likewise only seeing icons.

image

Thevetat avatar Jul 05 '23 00:07 Thevetat