Better diffs in Lazygit with delta

If you use Lazygit as your terminal Git UI, you know how convenient it is for staging, committing, and managing branches. I use it in Neovim (LazyVim already configures it). Integrating a custom pager (Lazygit Custom Pagers Documentation) can dramatically improve how diffs are displayed. In this blog post, I’ll document how to use delta: […]

Computing the total test execution time of Maven Surefire

When working with Maven projects, the Surefire plugin is commonly used to execute tests, but it lacks a built-in feature to display the total execution time across all test suites. This can be particularly important when monitoring performance trends in larger projects with many test classes. Maven’s Surefire plugin reports execution time for individual test […]

Using Neovim in Gitpod

I’m going to show you how to use Neovim on Gitpod. This can be useful for checking and testing your Neovim configuration. The example can be found here: https://github.com/LorenzoBettini/neovim-gitpod-example. I’m using a LazyVim distribution as a demonstration. The Gitpod custom Dockerfile, “.gitpod.Dockerfile”, must be tweaked to install Neovim and its requirements (especially for using Lazyvim):

[…]

Installing Ansible and Molecule in Arch Linux

Using “pip” is the supported installation method for Ansible and Molecule. Let’s install Python libraries and applications (in this case, Ansible and Molecule) in a Python virtual environment. (This post is similar to the one about Ubuntu.) First, install the required packages, including the Python virtual environment package:

Create a virtual environment somewhere (in […]

Experiments with Copilot Agent: Implementing a Maven plugin

I experimented with Copilot “Agent mode”: I told it to create a Maven plugin. (Let me stress that I already have some experience implementing and testing Maven plugins.) I’ll report my experience, which has been positive in some respects but disappointing in others. I use “Claude 3.5 Sonnet” model because that’s the one used in […]

Using Flash remote in Neovim

The “remote” feature of flash.nvim is handy: it acts in “operator pending mode” to perform operations and then return to the original position. It took me some time to understand what it was doing, so I’m writing about it. I’m using it in the LazyVim distribution, which enables “flash” by default (and also “which-key”, which […]

Installing Ansible and Molecule in Ubuntu Linux

Using “pip” is the supported installation method for Ansible and Molecule. In Ubuntu, just using “pip” will lead to the error “externally-managed-environment” because of the Python environment that is “externally managed” by the package manager (this prevents direct use of pip for system-wide installations to avoid conflicts or issues). (This post is similar to the one […]

Neovim and LaTeX with LazyVim, part 1: initial configuration

This is the first part of a few tutorials on using the LaTeX typesetting system with Neovim using the LazyVim setup. I highly recommend LazyVim because it has many cool plugins configured with nice defaults. Moreover, as we see in this tutorial, it lets you quickly have VimTeX and the TexLab LSP up and running […]

Installing the Tmux Plugin Manager (tpm) with Chezmoi

Similar to what I had already shown in a previous post, in this post, I show how you can install (and keep up-to-date) the “tpm” (Tmux Plugin Manager) with Chezmoi, which I highly recommend! Typically, you manually install “tpm” by cloning its GitHub repository into the proper directory:

Let’s do that automatically with Chezmoi instead. Chezmoi […]

A first look at Copilot in Eclipse

Microsoft announced the public review of Copilot for Eclipse. I immediately tried that in one of my Java projects. Use the “Market Place” to install Copilot in Eclipse: Once you click install, you must “trust” the contents to be installed: Once installed and restarted Eclipse, you must authenticate with your GitHub Copilot account by clicking […]

Amarok is finally available on Flathub

I have always liked Amarok, the (initially) default KDE media player. It’s very feature-rich, nothing compared to Elisa. Moreover, it has two crucial features that I haven’t found in any other players: it saves statistics (play count and stars) directly into the music file it synchronizes statistics with the iPod. I have always liked Amarok, […]

A first look at Pop!_OS Cosmic DE

I’ll briefly review the (currently in alpha 6) Cosmic DE in Pop Os 24.04 from System76 implemented in Rust. The installation is smooth and easy to follow, based on standard dialogs: I’m selecting “Clean Install” here because I’m testing it on a virtual machine. There’s also the chance to encrypt the drive, but I’m not […]

Neovim and Java with LazyVim, part 4: Running programs

This is the fourth part of a few tutorials on Java development with Neovim using the LazyVim setup. This post assumes you have already read and applied all the steps of the first, second, and third parts. You need Java installed (possibly 21), while Maven is optional. I will use this Maven example during the […]

EndeavourOS Mercury

I haven’t blogged about the EndeavourOS installation for a while. Let’s have a look at the new EndeavourOS Mercury. I will install it with KDE Plasma into my LG Gram 16. The installer has been featuring KDE Plasma instead of Xfce for a while: Unfortunately, the screen isn’t automatically scaled, so it’s a bit too […]

My Ansible Role for Nerd Fonts

Installing Nerd Fonts is easy in Arch Linux: they are in the official repositories. That’s not true for Ubuntu and Fedora. Of course, installing them in these distributions is also not complicated. Still, it is a manual procedure: download the font archive, extract it in a specific directory, and regenerate the font cache. That sounds […]

Java, Maven and Gitpod, part 5: the Formatter

This is the 5th post about using Java in Gitpod. It assumes you have already read the first, second, third, and fourth posts. We can benefit from automatic formatting. First, select (from F1) the command “View: Toggle Render Whitespaces”. We can see that the Maven archetype generated Java source code with spaces for indentation: I prefer […]

Automatically regenerating Neovim spell files

In Neovim, when you add a new word to your spellchecking dictionary with the command “zg”, the word will be added to a “.add” file in your config directory in the subdirectory “spell”. For example, “spell/en.utf-8.add”, depending on your locale. That’s a textual file you might want to share among different machines, e.g., part of […]