nvALT 3.0.36 is out, and the stretch from 3.0.32 to here is mostly the editor catching up with the way I actually write notes. Highlights show up while I type, CriticMarkup is readable without opening Preview, and a pile of small window bugs stopped getting in the way.

Highlights in the editor

Preview already turned ==highlight== into a yellow mark. The editor ignored it, including a highlight entry in a theme. It colors that syntax now.

Ship the ==search highlight== fix before the blog post.

If the theme defines highlight, that color wins. If it doesn’t, the words are black on yellow. The == marks stay in the markup color, same idea as the asterisks around bold.

Select some text and press = and the selection becomes ==selection==. Press ~ and it becomes ~~selection~~. Neither key inserts a pair when nothing is selected. A lone = is still just an equals sign.

CriticMarkup

The five CriticMarkup marks are colored in the editor too.

{++Add this sentence.++}
{--Cut this one.--}
{~~awkward~>clearer~~}
{==Come back to this.==}
{>>Remember why this paragraph exists.<<}

Deletions are red and crossed out. Insertions are green and underlined. A substitution shows the old half crossed out and the new half underlined. Highlights are yellow. Comments are cyan.

Those are the defaults. A theme that already has criticAddition, criticDeletion, criticSubstitution, criticHighlight, or criticComment uses those colors instead. Svelte’s gold highlight stays gold. The underline and the strikethrough stay put either way, because that’s what the marks mean.

Marks inside code are left alone, same as Preview.

Search highlights that survive a dark theme

Search highlighting had a bad run on dark themes. A translucent highlight was mixed onto the old paper-white background, so on Svelte it turned into a gray bar. The matched letters were then drawn in black, which disappeared into the note.

The highlight is mixed onto the theme’s editor background now. Opaque colors stay as you set them. When a match stops matching, those letters go back to the theme color instead of staying black.

The marks also stick around while I move through the notes the search found. They clear when the editor takes focus, and when the search field is emptied. The notes list still doesn’t paint the search words into titles. This is the note body.

Scroll bars, sharing, and the preview

The notes list, the editor, and the preview use the system scroll bars. The old “Use nvALT Scrollbars” setting is gone, and scrolling no longer leaves extra knobs behind.

The preview stays on the block I’m editing. It only scrolls when that block leaves the screen, so typing doesn’t yank the preview back to the top.

There’s a Share button in the title bar. It sends the selection, or the whole note when nothing is selected. Share Preview sends the rendered note as rich text, which is the one I want when pasting into another notes app. Open in Marked is no longer its own toolbar button. Share to Marked from that menu instead. View Source is a </> icon, with the sync toggle beside it.

The window stopped fighting the search field

Tiling the window, or making it very narrow, used to leave the search field hanging off the edge or stuck at the width the window had when it opened. It follows the window now, in both layouts. In side-by-side layout it starts just after the title, the same way it does in vertical layout. The Share button stays on the right edge as the window grows.

Moving the selection no longer leaves a hairline on a fractional line. Tab and Backtab on a task checkbox indent the item instead of dropping in link brackets.

These are mostly quality of life fixes, thanks for all the reports and feature requests. And a special thanks to those who have shown their appreciation with a small donation.