onivim/oni

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

Open

#2,058 opened on Apr 6, 2018

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

Repository metrics

Stars
 (11,389 stars)
PR merge metrics
 (No merged PRs in 30d)

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