Skip to content

Conversation

@Kayzels
Copy link

@Kayzels Kayzels commented Dec 21, 2025

Description

In the statusline function for the renderer, the code indicated that a separator should be able to be passed in, which would then separate the different components.

However, it was only ever called in the API statusline code, with status = renderer:statusline(). So, there was no way to add the separator.

This PR adds sep as an optional field for the API statusline code, and passes that value through to the renderer.

It also removes the trailing empty string that means that there was always the separator, even when there was only one item showing.

Screenshots

one_item two_items multiple_items

These were done with this config set for lualine (just the trouble.nvim winbar component)

{
    "nvim-lualine/lualine.nvim",
    opts = function(_, opts)
      local trouble = require("trouble")
      local symbols = trouble.statusline({
        mode = "symbols",
        groups = {},
        title = false,
        filter = { range = true },
        format = "{kind_icon}{symbol.name:Normal}",
        sep = "",
      })
      opts.winbar.lualine_b = {
        {
          symbols and symbols.get,
          cond = function()
            return vim.b.trouble_lualine ~= false and symbols.has()
          end,
        },
      }
    end
}

@github-actions github-actions bot added the size/m Medium PR (<50 lines changed) label Dec 21, 2025
@Kayzels Kayzels changed the title feat(statusline): Add custom separator between segments feat(statusline): add custom separator between segments Dec 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m Medium PR (<50 lines changed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant