Extensions for Nova editor

I’m a big believer in solving problems yourself if it’s possible rather than waiting for app updates that might never arrive. Making extensions for the Nova editor that I do most of my programming and blogging in is so much fun! So, here are some of my own creation:

View all: extensions.panic.com/extensions/com.gingerbeardman/


YAML Tag Picker

Allows you to easily select tags for the front matter in your blog posts. It scans your existing posts for tags and presents them in a Choice Palette, making it easy to maintain consistent tagging across your blog. Nice!

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.YAMLTagPicker/

IMG


Markdown File Linker

Allows you to insert links to local files as Markdown, perfect for linking between articles in your Jekyll blog! Also includes the ability to wrap the current text in a link, and if there’s a URL on the clipboard that’ll be used as the link destination.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.MarkdownFileLinker/

You choose a local file using the file selector, such as:

  • /Users/matt/Projects/blog/_posts/2023/2023-11-21-yoyozo-how-i-made-a-playdate-game-in-39kb.md

And it will be inserted as:

  • /2023/11/21/yoyozo-how-i-made-a-playdate-game-in-39kb/

If you’ve selected some text before invoking the extension, you’ll get:

  • [YOYOZO](/2023/11/21/yoyozo-how-i-made-a-playdate-game-in-39kb/)

For an image you might end up with:

  • ![IMG](∕images/posts/yoyozo-teaser.gif)

Reindent-o-matic

Allows you to apply .editorconfig indent rules to the current file, or all files matching specific extensions. Important: changes are applied but not saved, giving you the opportunity to review.

Useful when reusing code from one project that used space indentation to a new one that uses tab indentation. Ideally Nova should do this automatically, and sometimes it does, but not every time for reasons I can’t figure out.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.Reindent-o-matic/


Toggle Scroll Bars

Allows you to see the scrollbar at all times. This is useful because the scrollbar also contains source control change markers. With scrollbars always visible you can more easily locate changes across the entire length of your document.

This has already saved me so much time and effort and I’ve only been using the editor this way for a few a week. So I thought I’d create an extension to make it easier for other people to enjoy this usability improvement.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.scrollbars/

Scroll Bars on/off

on-off off-off



Unwrap Paragraph

OK, I got carried away. This one adds the ability to merge multiple lines of selected text into one.

This is useful for combining multiple lines of data into one, or reflowing a paragraph of text that has had manual line breaks applied such as something pasted from an old email. It also colalesces areas of white space into a single space. So, it’s not just “Join Lines” but something more specific.

In the TextMate editor this command is called Unwrap Paragraph, so I’ve kept the same name.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.unwraptext/

Example

Text, before:

	What 
exactly does  
this   extension	
do with the
text?  🤔

Text, after:

What exactly does this extension do with the text? 🤔

Source code, before:

{
	0x050,
	0x104,
	0x202,
	0x050,
	0x451,
	0x104,
	0x505,
	0x088,
	0x272,
	0x104,
	0x050
}

Source code, after:

{ 0x050, 0x104, 0x202, 0x050, 0x451, 0x104, 0x505, 0x088, 0x272, 0x104, 0x050 }

Filter Through Command

Run terminal commands on selected text. When you need to use a terminal command but you just want the results. The possibilities are endless as command line is your oyster! Comes with a library of useful commands including sort, base64 decode/encode, extract URLs, remove blank lines, count loc, remove HTML tags.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.FilterThroughCommand/

Type your own command

PNG


Pick from a library of commands

PNG



Bookmarks

Bookmark files in the Sidebar for easier management. Ideal if the Files Sidebar is too much, or you want a simpler view of the files you are working on.

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.Bookmarks/


Tag Sync

Automatic synchronisation of closing tag when editing opening tag. Improve your coding efficiency by ensuring tag pairs stay synchronized while editing markup languages!

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.tagsync/


OpenSCAD

Adds language support for OpenSCAD: The Programmers Solid 3D CAD Modeller, including both syntaxes (with highlighting) and completions (with alternate forms).

extensions.panic.com/extensions/com.gingerbeardman/com.gingerbeardman.openscad/


Macro

Text editing recording and playback system. This one has its own blog post.


Word Counter

Count multiple words and have their tally displayed in the sidebar. This one also has its own blog post.

--
Originally published: 2024-10-17
--
Enjoyed this blog post? Please buy me a coffee.
--
Comments: @gingerbeardman