nvim-neotest / neotest

An extensible framework for interacting with tests within NeoVim.
MIT License
2.35k stars 115 forks source link

Incorrect format #117

Closed Nekketsu closed 1 year ago

Nekketsu commented 2 years ago

When I use the default config, I only see the square symbol for each test, even if I haven't run the test, it succeeded, it failed, etc. image

If I add the setup in the documentation (added also needed adapters):

require("neotest").setup({
    adapters = {
        require("neotest-dotnet"),
        require("neotest-plenary"),
    },
    benchmark = {
        enabled = true
    },
    consumers = {},
    default_strategy = "integrated",
    diagnostic = {
        enabled = true
    },
    discovery = {
        concurrent = 0,
        enabled = true
    },
    floating = {
        border = "rounded",
        max_height = 0.6,
        max_width = 0.6,
        options = {}
    },
    highlights = {
        adapter_name = "NeotestAdapterName",
        border = "NeotestBorder",
        dir = "NeotestDir",
        expand_marker = "NeotestExpandMarker",
        failed = "NeotestFailed",
        file = "NeotestFile",
        focused = "NeotestFocused",
        indent = "NeotestIndent",
        marked = "NeotestMarked",
        namespace = "NeotestNamespace",
        passed = "NeotestPassed",
        running = "NeotestRunning",
        select_win = "NeotestWinSelect",
        skipped = "NeotestSkipped",
        target = "NeotestTarget",
        test = "NeotestTest",
        unknown = "NeotestUnknown"
    },
    icons = {
        child_indent = "│",
        child_prefix = "├",
        collapsed = "─",
        expanded = "╮",
        failed = "✖",
        final_child_indent = " ",
        final_child_prefix = "╰",
        non_collapsible = "─",
        passed = "✔",
        running = "🗘",
        running_animated = { "/", "|", "\\", "-", "/", "|", "\\", "-" },
        skipped = "ﰸ",
        unknown = "?"
    },
    jump = {
        enabled = true
    },
    log_level = 3,
    output = {
        enabled = true,
        open_on_run = "short"
    },
    projects = {},
    run = {
        enabled = true
    },
    running = {
        concurrent = true
    },
    status = {
        enabled = true,
        signs = true,
        virtual_text = false
    },
    strategies = {
        integrated = {
            height = 40,
            width = 120
        }
    },
    summary = {
        animated = true,
        enabled = true,
        expand_errors = true,
        follow = true,
        mappings = {
            attach = "a",
            clear_marked = "M",
            clear_target = "T",
            expand = { "<CR>", "<2-LeftMouse>" },
            expand_all = "e",
            jumpto = "i",
            mark = "m",
            next_failed = "J",
            output = "o",
            prev_failed = "K",
            run = "r",
            run_marked = "R",
            short = "O",
            stop = "u",
            target = "t"
        }
    }
})

I can see the symbols: image

However, the color format looks incorrect in both cases. Is some configuration required, or is it some kind of bug?

rcarriga commented 2 years ago

Please provide a minimal init.lua as provided in the bug report template so I can reproduce. This could be a config issue or rendering issue. I'd also say to check the highlight group values because it looks like they've been reset. What's the output of :hi NeotestFailed?

rcarriga commented 2 years ago

The icons not showing is because of outdated docs after the icons changed so only the highlights are the issue here.

Nekketsu commented 2 years ago

I cannot explain why, but it eventually started working correctly. However, I can still see some style issues. In the case of :hi NeotestFailed I can see that it returns guifg=#F70067 which should be a red color. However it is shown as white: image

rcarriga commented 2 years ago

That is odd... Unfortunately I can't do much without reproducing. If you can reproduce with the minimal init provided in the bug report then I can debug further. If not then it's likely something else in your config causing a conflict.