Extensions in Development - Introductions

Hey everyone!

Really happy to have you all here. I’ve talked to a few of you off and on, but thought I should also introduce myself. I’m Logan, the lead developer of Nova and its extension runtime at Panic.

8 Likes

Hi Jonathon. I am working on a Rails project right now, so look forward to seeing some of your extensions.

1 Like

Hi Cameron,

may I state right away I really appreciate what you are doing for the Nova extension ecosystem? I use your JSON and TypeScript language server extensions every day, and I am very sorry to tread on your toes by developing something you have already put much work and thought into.

My prototype extension scratches an itch of mine by doing less than yours, which is why I have tentatively called it µESLint. Among the things it doesn’t do is:

  • Bring its own copy of ESLint
  • Try to apply any smarts to what should or should not be linted
  • Offer suggestions, or fix on save
  • Offer any configuration options

What it does do, and aims to do well and reliably, is to lint any file the CLI would lint, whatever its syntax and file type, using the user’s own install and configuration. ESLint is wildly configurable; you can get it to lint a lot more than JavaScript, as you are surely aware (unless I am mistaken, the JSON LSP uses ESLint under the hood for its diagnostics part). I needed that for JXA files, which is why I ended bolting half baked ESLint support onto the JXA extension, and I thought I’d rather generalise this into an extension for people whose linting needs are similar to mine than keep on maintaining such a specialised feature.

I really, really do not want you to feel I do not appreciate your work. If you think we should discuss this further, I am at your disposal on any channel you choose. I’ve already taken up too much space on a thread dedicated to personal introductions as is (frightfully sorry, everybody; please do forgive me).

1 Like

Cool! Thanks for the context, that’s interesting to hear. (No worries about conflicts with my stuff, I was genuinely interested).

1 Like

Hi, my name is Colin. I’m currently working on porting over a theme from VS Code that I use on the regular, but I hope to make some other extensions down the road.

1 Like

Hi everyone. I just started trying out Nova, and I’m working on an Ada language extension. Just the syntax at first, but I may eventually try to hook up a language server.

Located in Portland, I’m very excited about using locally sourced code editors.

1 Like

Greetings everyone,

My name is Chriztian and I’m trying to build an extension to support CodeKit’s Kit language and some supporting snippets (or “clips”, right? I’m a long-time TextMate user).

Also working on (or looking for) a language extension to handle Razor files.

1 Like

@stoklund What do you use Ada for? It was the first language I learned in school, and I really like some aspects about it but haven’t found a way practical way to use it in a project since then.

Currently working on a parser generator. I think it’s interesting for embedded development too.

Hi everyone, I’m Tommaso from Milan.

I’m the curator of Vue for Nova. It just started as syntax support with some clips and completions, now with the help and suggestions of other great folks we are using the fully featured Vue LSP developed under the Vetur project. Support is not 100% complete on the Nova side but release after release we are getting closer :muscle:

1 Like

Greetings,

I’m Shibo Lyu from China and is (loosely) working on a Svelte extension for Nova. Since Svelte does provide a language server I just landed LSP support but I’m no where near the skill level required in making syntax highlighting yet :sweat_smile:

Didn’t buy Nova yet, but will consider when Nova has a big enough ecosystem for my everyday use (and as a student, when any student discount is available :money_mouth_face:).

1 Like

Hi,

I’m Jamie van Dyke. I wrote the extremely basic and pants version of the Slim syntax. I’ll be updating it more over time now I’m in this developer forum where I can get help.

Thanks for all your extensions everyone!

1 Like

Bump

Hi all!

I’m Kris. I wrote the Intelephense (Language Server), PHP_CodeSniffer (linter), and OCaml (syntax definitions) extensions.

At the moment I’m also working on adding a Kakoune emulation mode using the new Nova 5 API, but that’s not even close to being ready for anything other than figuring out the Nova API.

Nice to meet you all! :wave:

1 Like

Hello everyone!

I’m Hendrik. I almost finished a theme based on Adobe’s Brackets editor. I’m currently trying to port docblockr for Nova. At least some parts :wink:

1 Like

I hope Panic make developing a full-fledged Kakoune mode for Nova possible. Conceptually, I love Kakoune’s editing model and would really like to take if for spin – I just happen to dislike console editors even more than that (a dislike my years-long dalliance with Vim has not softened). Good luck with your project!

1 Like

The API already seems capable of supporting most of the necessary functionality, although there’s a lot of manual work required at the moment to manage selections properly.

There are definitely some rough edges, but the API looks really promising :slight_smile:

Hi there :wave:
My name‘s Oliver and thanks to Nova‘s simple Extension API, I was able to bring two of my most liked Gists as Snippet extensions to Nova.

Nothing special, but as a I do some web dev in my spare time & having a need for those Snippets myself, I wanted to give it a try :blush:

Love what you all create for Nova, and your extensions help me greatly in some side projects.

Cheers!

Hello!

I’m Alexander. I wrote the TabNine autocompletion extension, and a small Git blame command extension.
Thank you all for your awesome extensions! :100:

1 Like

Hey everyone. I missed this thread! Nova 9 really improved LSP integration so much that I feel more motivated to maintain my extensions than ever.

I’m the maintainer of the Deno extension, which provides the complete package for developing TS/JS: Typechecking, autocomplete, linting, formatting, code actions, and tasks. IMO The combination of Deno and Nova makes for far and away the sweetest way to work with TS/JS on the Mac.

I’ve also been working on pulling together a lot of common utilities I’ve seen being used for building Nova extensions, as a hybrid Deno / NPM package. GitHub - sgwilym/nova_utils, which I use in my own Deno extension.

1 Like

I just noticed it has been a while since my original post, so, first and foremost, welcome to all (relative) newcomers in this thread. Great to see the Nova extension ecosystem thriving!

Now for a little update about my activities. I currently maintain the JXA (JavaScript for Automation – niche) and µESLint (ESLint taken minimally – very niche, you probably want Cameron’s) extensions, both due for an update.

For the last year, I have been working, on and off, on a full featured extension for fish shell scripting. Partly because this has proven to be a bit more complex than I originally fathomed, I have lately been on a side quest building a foundation for my, and hopefully other’s, extensions, in the form of a meta-extension tentatively titled NovaNova, which will combine a function and abstraction library for extension development with in-Nova-runtime unit testing facilities based on QUnit (with the library being tested and the testing integration built with the library, this is an ultimate circular dogfooding squad thingagummy).

1 Like