onivim/oni

Syntax Highlighting: Use with `<c-/>` command

Open

#2058 opened on Apr 6, 2018

View on GitHub
 (2 comments) (0 reactions) (0 assignees)TypeScript (11,389 stars) (336 forks)batch import
enhancementhelp wantedinsider

Description

There is a somewhat undocumented command which is like an enhanced find-in-buffer experience, accessible via <c-/>:

super-search

It's a really cool feature! The only downside with it is that it doesn't respect syntax highlighting. I believe that with the work we have in the textmate highlighting feature, it should be possible to get syntax highlighting here.

We expose an API for querying the tokens / highlights as a syntaxHighlighter object off of he editors: https://github.com/onivim/oni/blob/a99544bdffbceb07c86a1f8c0da614ef7c2e4f52/browser/src/Editor/NeovimEditor/NeovimEditor.tsx#L175

And that has a method for getHighlightTokenAt: https://github.com/onivim/oni/blob/a99544bdffbceb07c86a1f8c0da614ef7c2e4f52/browser/src/Services/SyntaxHighlighting/SyntaxHighlighting.ts#L116

But, we also have the full set of tokens on the line - so it might be worth creating an API like getTokensForLine(bufferId, lineNumber) - if we had that, it should be pretty straightforward to get the token colors and show some nice syntax highlighting here 👍

Contributor guide