kevinhwang91 / nvim-ufo

Not UFO in the sky, but an ultra fold in Neovim.
BSD 3-Clause "New" or "Revised" License
2.34k stars 49 forks source link

Customize fold text still have weird numbers #13

Closed dinhmai74 closed 2 years ago

dinhmai74 commented 2 years ago

Neovim version (nvim -v | head -n1)

0.7.0

Operating system/version

macos 12.4

How to reproduce the issue

  1. Enter the files
  2. Sign numbers apear

I use CoC nvim with this config for ufo ` vim.wo.foldcolumn = '1' vim.wo.foldlevel = 99 -- feel free to decrease the value vim.wo.foldenable = true

local handler = function(virtText, lnum, endLnum, width, truncate) local newVirtText = {} local suffix = ('  %d '):format(endLnum - lnum) local sufWidth = vim.fn.strdisplaywidth(suffix) local targetWidth = width - sufWidth local curWidth = 0 for _, chunk in ipairs(virtText) do local chunkText = chunk[1] local chunkWidth = vim.fn.strdisplaywidth(chunkText) if targetWidth > curWidth + chunkWidth then table.insert(newVirtText, chunk) else chunkText = truncate(chunkText, targetWidth - curWidth) local hlGroup = chunk[2] table.insert(newVirtText, { chunkText, hlGroup }) chunkWidth = vim.fn.strdisplaywidth(chunkText) -- str width returned from truncate() may less than 2nd argument, need padding if curWidth + chunkWidth < targetWidth then suffix = suffix .. (' '):rep(targetWidth - curWidth - chunkWidth) end break end curWidth = curWidth + chunkWidth end table.insert(newVirtText, { suffix, 'MoreMsg' }) return newVirtText end

-- global handler require('ufo').setup({ fold_virt_text_handler = handler })

`

Expected behavior

Like the demo ![Uploading image.png…]()

Actual behavior

![Uploading image.png…]()

kevinhwang91 commented 2 years ago

image is missing.

dinhmai74 commented 2 years ago

nvm it is the same issue with this one https://github.com/kevinhwang91/nvim-ufo/issues/4#issuecomment-1157722074