nvim-neotest / neotest-go

MIT License
125 stars 43 forks source link

[Question] How to enable virtual text #23

Open Davincible opened 1 year ago

Davincible commented 1 year ago

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

akinsho commented 1 year ago

@Davincible have you added

    diagnostic = {
      enabled = true,
    },

To your neotest config?

Davincible commented 1 year ago

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" },
        }),
    },
})
akinsho commented 1 year ago

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.

Davincible commented 1 year ago

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")
}
akinsho commented 1 year ago
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.

Davincible commented 1 year ago

Hm strange. Thanks

Davincible commented 1 year ago

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

image

nshen commented 1 year ago

no virtual text display

image
franroa commented 1 year ago

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

Thevetat commented 1 year ago

Likewise only seeing icons.

image