onedark-fast.nvim

 cljoly/onedark-fast.nvim Port of onedark to Fennel, so that we generate fast Lua code. Work in Progress I have been daily driving this for a few years, but there may still be bugs. A number of plugins are not supported (mostly because I don’t use them). At some point, I would like to provide easier personnalisation, but it’s not quite there yet. If you want to customize this colorscheme, you will have to change the Fennel code and recompile it....

My Neovim Plugins

List of my plugins for the neovim text editor. ...

minimal-format.nvim

 cljoly/minimal-format.nvim A simple & powerful formatting plugin that extends neovim just a little bit to automatically format your code. Native: uses the formatprg setting, the setting used by the gq mapping in default vim. Safe: Doesn’t replace your code with garbage if the formatting command fails (unlike gq) Applies the minimum difference required to the buffer. This means that the whole buffer won’t be changed and marks and external marks (used e....

Luasnip and Treesitter for Smarter Snippets

TL;DR A context-aware snippet for Go error handling code, returning the right types, with the default values. Demo Snippet EDIT(2024-02-23): TJ DeVries made a video explaining an improved version of this snippet. You may still find the discussion on Go errors in this post interesting. Introduction Golang’s error handling is notoriously verbose. It was also the top pain point in the Go Developer Survey Q2 2022. Numerous proposals to simplify error handling have been written, but at the time of writing, none have been accepted....

August 30, 2023 · 10 min · Clément Joly

Generating Snippets with LuaSnip in Neovim

TL;DR When you have many variations of the same snippet, one option is to generate those with Lua code. The complete example is at the end. I’ve recently moved to LuaSnip as my snippets plugin for Neovim. When I first started, I sticked to the simplest features of LuaSnip, in particular the SnipMate-like syntax for snippets. But I have now started to explore the more distinctive features of LuaSnip, like Lua-defined snippets....

July 31, 2022 · 4 min · Clément Joly

From UltiSnips to LuaSnip

TL;DR LuaSnip is fast and doesn’t have to be complicated. Give it a try! Even if that article shows how LuaSnip shines, I have great respect for the work that has gone into UltiSnips. It is still a reliable, reasonably fast plugin given the constraint it operates in (in particular, Vim compatibility requires a fair amount of Vimscript). I’ve written this article shortly after trying LuaSnip and I’m still very much evaluating it....

May 15, 2022 · 7 min · Clément Joly

bepo.nvim

 cljoly/bepo.nvim Mappings for the bepo layout in Lua, inspired by vim-bepo It aims to be faster (takes only 0.4ms at startup on my machine, while vim-bepo requires 1.6ms) and more customizable (see :help bepo.nvim-cherry-pick) Installation Add the plugin cljoly/bepo.nvim to your package manager. If you don’t have a package manager yet, I use paq.nvim. You can give it a try :). Look at the installation instructions and then add the following to your config:...

Local NeoVim Plugin Development

2023-05-20: Updated to account for the features of NeoVim 0.9 and obsolete plugins You have found a (Neo)Vim plugin that you want to fiddle with, either to contribute changes upstream or for your own use. Sounds familiar? Here are some tips and tricks I use for my NeoVim plugin development. The aim of these small tricks is to iterate faster on changes, by loading your changes in a live NeoVim instance as quickly as possible....

November 2, 2021 · 3 min · Clément Joly

telescope-repo.nvim

 cljoly/telescope-repo.nvim telescope-repo is an extension for telescope.nvim that searches the filesystem for git (or other SCM1, like Pijul, Mercurial…) repositories. It does not require any setup: the list of repositories is built on the fly over your whole $HOME, you don’t need to manually add projects or open some folders to populate this list, as opposed to telescope-project.nvim or project.nvim. Finding the repositories with “telescope” in their name, with the README in the panel on the top:...

How I Got Started with NeoVim’s Lua Configuration

Four months ago I was still using SpaceVim when I stumbled upon a blog post on how to configure NeoVim with Lua. I then started to create my own configuration. In this post I’ll share the learnings acquired in the process. I hope you will find this useful to create your own configuration! Why create your own Vim config from scratch? Vim has been my daily driver for about ten years....

July 18, 2021 · 9 min · Clément Joly