Hi,
I just installed oni, and it really works good. I just noticed that both bold and italic font are not showing.
Here's screenshot from neovim:

And a screenshot from oni

I'm using Iosevka Term font.
Hi @kristijanhusak ,
Thanks for trying out Oni, and taking the time to report the issue! Appreciate the screenshots.
Yes, looks like we are ignoring the bold / italic font info coming from Neovim - definitely a bug.
I might be able to fix this if you could point me in right direction @bryphe.
Where exactly does Oni receive this info?
the bufferUpdateEvent in BufferUpdates.ts is as close as I can get.
That would be great to have help, @superquest !
Here's a few places to look:
NeovimInstance handles the redraw event from Neovim here: https://github.com/onivim/oni/blob/18a7bff99f9cc9e0164e40b6274d3ff134d10b26/browser/src/neovim/NeovimInstance.ts#L515 (there's info on how these events look, like: :help ui-event-highlight_set. We might be ignoring the bold or italic state here.NeovimScreen class manages the state of the screen (basically taking the redraw events, and updating our in-memory grid of the screen state). The cell interface here is the data we store: https://github.com/onivim/oni/blob/18a7bff99f9cc9e0164e40b6274d3ff134d10b26/browser/src/Screen.ts#L39 We're missing bold and italic here, so it would need to be added - once we have that, we should be able to call getCell and get the bold and italic state for a cell, along with the stuff we already have.bold and italic info, we'd need to update our renderer to know to add bold / italic: https://github.com/onivim/oni/blob/18a7bff99f9cc9e0164e40b6274d3ff134d10b26/browser/src/Renderer/CanvasRenderer.ts#L243Hope that helps, let me know if you have any questions!
I've tried to produce a highlight_set notification with a highlightInfo.bold or highlightInfo.italic flag by editing a markdown file with content like # this and _this_.
Such content is bolded and italicized in terminal Neovim, but no highlightInfo.bold or highlightInfo.italic flags show up in the highlight_set notification in Oni. Strange given that :help ui-event-highlight_set definitely says they should be there.
Using this method I have, however, produced a highlightInfo.underline flag. And it was a boolean -- even though the help docs specify that it should be text.
Neovim-qt does exactly what we're trying to do as well.
Well I'm stuck here.
I'm going to try to figure out the rendering given a bold / italic cell.
I'm going to try to figure out the rendering given a bold / italic cell.
Cool, splitting it up like that sounds like a good strategy! Thanks for your help.
I'm seeing some bold's come through here:

(in Screen.ts where it handles Actions.SET_HIGHLIGHT).
Seems like we are just ignoring them though, and not ever setting this._currentHighlight.bold or this._currentHighlight.italic - I think wiring it up there is the first step.
Then, once we have those values on this._currentHighlight, we can pick them up in Actions.PutAction block - which also isn't caring about the bold or italic values.
Most helpful comment
I might be able to fix this if you could point me in right direction @bryphe.
Where exactly does Oni receive this info?
the
bufferUpdateEventin BufferUpdates.ts is as close as I can get.