Skip to content

Neovim 0.11 was released last week along with AstroNvim 5, so its time for some testing with Practicalli Astro configuration for Neovim.

A sunny week ahead and my focus will be on health and fitness this week. I have managed to be regular with my walking, although I am still very slow when cycling (especially the hills of Kent).

I have been using LinkedIn to consider the next steps in my career. Unless there is a really interesting role, I am tempted to focus more on community work or maybe part-time / contract work.

Neovimλ︎

Neovim 0.11 has been released and is available on the Neovim GitHub repository.

Neovim 0.11 is already available on Termux (Android), although I'll wait until testing is complete before installing there.

There are a few breaking changes with Neovim 0.11 although the vast majority of the release is enhanced API & features.

🌐 What's New in Neovim 0.11

🌐 Neovim 0.11 release notes

The Neovim release build shows deprecated APIs

Use the Neovim 0.11 stable release to avoid lots of Vim API deprecation warnings, especially when moving to a major version.

Use the Neovim 0.11 release build to find issues with the Neovim user config and plugins that have not adapted to breaking changes in the Vim API.

TODO: not sure this actually works as I think it does, as neovim 0.11 is also showing deprecation warnings. Seems the only option is to check the config and raise issues with plugin maintainers

AstroNvimλ︎

AstroNvim version 5 has also been released and a new AstroNvim template created to generate a user configuration.

There are quite a few plugin changes in AstroNvim v5, although the features should be equivalent.

The approach described in the AstroNvim v5 migration page is sensible. I will create a Practicalli nvim-astro5 and review astronvim without my customisations and plugins.

Having two config repositories will allow people to migrate at their own convenience (or stay with the AstroNvim v4 config for as long as they like).

## Testing Setupλ︎

I've installed Neovim 0.11 on my main computer and using it most of the time, testing this new release with Practicalli Astro.

Neovim 0.11 has been installed alongside Neovim 0.10, so there is a fallback approach.

# ------------------------------------------
# Neovim Aliases for multiple configurations
alias astro="NVIM_APPNAME=nvim-astro nvim"
alias astro5="NVIM_APPNAME=nvim-astro5 nvim11"
alias astro11="NVIM_APPNAME=nvim-astro nvim11"
alias astrotemplate="NVIM_APPNAME=nvim-astronvim5-template nvim11"

# Neovide alias with AstroNvim configuration
alias neovide="NVIM_APPNAME=nvim-astro neovide"
# ------------------------------------------

nvim-treesitter-sexp issue with neovim 0.11

checkhealth output for AstroNvim 5 with Neovim 0.11
==============================================================================
astrocore:                                 require("astrocore.health").check()

Checking for conflicting mappings ~
- OK No conflicting mappings detected

==============================================================================
astrolsp:                                   require("astrolsp.health").check()

Checking for conflicting mappings ~
- OK No conflicting mappings detected

==============================================================================
astronvim:                                 require("astronvim.health").check()

Checking requirements ~
- AstroNvim Version: v5.0.6
- Neovim Version: v0.11.0
- OK Using stable Neovim >= 0.10.0
- OK `git` is installed: Used for core functionality such as updater and plugin management
- OK `xdg-open` is installed: Used for `gx` mapping for opening files with system opener (Optional)
- OK `rg` is installed: Used for Telescope `live_grep` picker, `<Leader>fw` and `<Leader>fW` by default (Optional)
- OK `lazygit` is installed: Used for mappings to pull up git TUI (Optional)
- OK `node` is installed: Used for mappings to pull up node REPL (Optional)
- WARNING `gdu/gdu_windows_amd64.exe` is not installed: Used for mappings to pull up disk usage analyzer (Optional)
- WARNING `btm` is not installed: Used for mappings to pull up system monitor (Optional)
- OK `python3` is installed: Used for mappings to pull up python REPL (Optional)

==============================================================================
blink.cmp:                                 require("blink.cmp.health").check()

System ~
- OK curl is installed
- OK git is installed
- OK Your system is supported by pre-built binaries (x86_64-unknown-linux-gnu)
- OK blink_cmp_fuzzy lib is downloaded/built

Sources ~
- WARNING Some providers may show up as "disabled" but are enabled dynamically (i.e. cmdline)

Default sources ~
- lazydev (lazydev.integrations.blink)
- path (blink.cmp.sources.path)
- snippets (blink.cmp.sources.snippets)
- buffer (blink.cmp.sources.buffer)
- lsp (blink.cmp.sources.lsp)

Disabled sources ~
- omni (blink.cmp.sources.complete_func)
- cmdline (blink.cmp.sources.cmdline)
- dap (blink.compat.source)

==============================================================================
lazy:                                           require("lazy.health").check()

lazy.nvim ~
- {lazy.nvim} version `11.17.1`
- OK {git} `version 2.47.2`
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found

luarocks ~
- checking `luarocks` installation
- OK no plugins require `luarocks`, so you can ignore any warnings below
- OK {luarocks} `/usr/bin/luarocks 3.8.0`
- OK {lua5.1} `Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio`

==============================================================================
lspconfig:                                 require("lspconfig.health").check()

- Skipped. This healthcheck is redundant with `:checkhealth vim.lsp`.

==============================================================================
mason:                                         require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.11.0
- OK PATH: prepend
- OK Providers:
    mason.providers.registry-api
    mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2025-03-31-alert-value` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.`
- OK wget: `GNU Wget 1.25.0 built on linux-gnu.`
- OK curl: `curl 8.13.0-rc2 (x86_64-pc-linux-gnu) libcurl/8.13.0-rc2 GnuTLS/3.8.9 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.64.0 ngtcp2/1.11.0 nghttp3/1.8.0 librtmp/2.3 OpenLDAP/2.6.9`
- OK gzip: `gzip 1.13`
- OK tar: `tar (GNU tar) 1.35`
- OK bash: `GNU bash, version 5.2.37(1)-release (x86_64-pc-linux-gnu)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - spawn: go failed with exit code - and signal -. go is not executable
- WARNING Composer: not available
  - ADVICE:
    - spawn: composer failed with exit code - and signal -. composer is not executable
- WARNING PHP: not available
  - ADVICE:
    - spawn: php failed with exit code - and signal -. php is not executable
- WARNING cargo: not available
  - ADVICE:
    - spawn: cargo failed with exit code - and signal -. cargo is not executable
- WARNING Ruby: not available
  - ADVICE:
    - spawn: ruby failed with exit code - and signal -. ruby is not executable
- WARNING RubyGem: not available
  - ADVICE:
    - spawn: gem failed with exit code - and signal -. gem is not executable
- OK luarocks: `/usr/bin/luarocks 3.8.0`
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- OK python: `Python 3.13.2`
- OK node: `v22.7.0`
- OK java: `openjdk version "21.0.7-ea" 2025-04-15`
- OK javac: `javac 21.0.7-ea`
- OK npm: `10.8.2`
- OK pip: `pip 25.0 from /usr/lib/python3/dist-packages/pip (python 3.13)`
- OK python venv: `Ok`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Tue 01 Apr 2025 02:40:02 BST.
  Install and authenticate via gh-cli to increase rate limit.

==============================================================================
neoconf:                                     require("neoconf.health").check()

neoconf.nvim ~
- WARNING **jsonc** parser for tree-sitter is not installed. Jsonc highlighting might be broken
- OK **lazydev.nvim** is installed
- OK **lspconfig** is installed
- WARNING **lspconfig jsonls** is not installed? You won't get any auto completion in your settings files
- WARNING **lspconfig lua_ls** is not installed? You won't get any auto completion in your lua settings files

==============================================================================
null-ls:                                     require("null-ls.health").check()

- no sources registered

==============================================================================
nvim-treesitter:                     require("nvim-treesitter.health").check()

Installation ~
- WARNING `tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar, not required for :TSInstall)
- OK `node` found v22.7.0 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: cc (Debian 14.2.0-17) 14.2.0
- OK Neovim was compiled with tree-sitter runtime ABI version 15 (required >=13). Parsers must be compatible with runtime ABI.

OS Info:
{
  machine = "x86_64",
  release = "6.12.17-amd64",
  sysname = "Linux",
  version = "#1 SMP PREEMPT_DYNAMIC Debian 6.12.17-1 (2025-03-01)"
} ~

Parser/Features         H L F I J
  - c                         - lua                       - markdown             .     - markdown_inline      . . .   - query                     - vim                    .   - vimdoc               . . . 
  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang} ~

==============================================================================
snacks:                                       require("snacks.health").check()

Snacks ~
- OK setup called

Snacks.bigfile ~
- WARNING setup {disabled}

Snacks.dashboard ~
- OK setup {enabled}
- OK setup ran
- OK dashboard opened

Snacks.explorer ~
- WARNING setup {disabled}

Snacks.image ~
- OK setup {enabled}
- OK 'kitty' `kitty 0.39.1 created by Kovid Goyal`
- OK 'magick' `Version: ImageMagick 7.1.1-43 Q16 x86_64 22550 https://imagemagick.org`
- OK 'convert' `Version: ImageMagick 7.1.1-43 Q16 x86_64 22550 https://imagemagick.org`
- OK Terminal Dimensions:
  - {size}: `0` x `0` pixels
  - {scale}: `1.00`
  - {cell}: `0` x `0` pixels
- OK Available Treesitter languages:
    `markdown_inline`, `markdown`
- WARNING Missing Treesitter languages:
    `css`, `html`, `javascript`, `latex`, `norg`, `scss`, `svelte`, `tsx`, `typst`, `vue`
- WARNING Image rendering in docs with missing treesitter parsers won't work
- OK 'gs' `10.05.0`
- OK PDF files are supported
- ERROR None of the tools found: 'tectonic', 'pdflatex'
- WARNING `tectonic` or `pdflatex` is required to render LaTeX math expressions
- ERROR Tool not found: 'mmdc'
- WARNING `mmdc` is required to render Mermaid diagrams
- ERROR your terminal does not support the kitty graphics protocol
- supported terminals: `kitty`, `wezterm`, `ghostty`

Snacks.input ~
- OK setup {enabled}
- OK `vim.ui.input` is set to `Snacks.input`

Snacks.lazygit ~
- OK {lazygit} installed

Snacks.notifier ~
- OK setup {enabled}
- OK is ready

Snacks.picker ~
- OK setup {enabled}
- OK `vim.ui.select` is set to `Snacks.picker.select`
- WARNING Missing Treesitter languages:
    `regex`
- OK 'git' `git version 2.47.2`
- OK 'rg' `ripgrep 14.1.1`
- OK `Snacks.picker.grep()` is available
- OK 'fdfind' `fdfind 10.2.0`
- OK `Snacks.picker.files()` is available
- OK `Snacks.picker.explorer()` is available
- OK `SQLite3` is available

Snacks.quickfile ~
- WARNING setup {disabled}

Snacks.scope ~
- OK setup {enabled}

Snacks.scroll ~
- WARNING setup {disabled}

Snacks.statuscolumn ~
- WARNING setup {disabled}

Snacks.terminal ~
- OK shell configured
  - `vim.o.shell`: /usr/bin/zsh
  - `parsed`: { "/usr/bin/zsh" }

Snacks.toggle ~
- OK {which-key} is installed

Snacks.words ~
- WARNING setup {disabled}

==============================================================================
vim.deprecated:                       require("vim.deprecated.health").check()

 ~
- WARNING vim.tbl_islist is deprecated. Feature will be removed in Nvim 0.12
  - ADVICE:
    - use vim.islist instead.
    - stack traceback:
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/popup/border.lua:269
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/popup/border.lua:680
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/popup/border.lua:473
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/object/init.lua:132
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/popup/init.lua:154
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/input/init.lua:60
        /home/practicalli/.local/share/nvim-astro5/lazy/nui.nvim/lua/nui/object/init.lua:132
        /home/practicalli/.local/share/nvim-astro5/lazy/neo-tree.nvim/lua/neo-tree/sources/filesystem/lib/filter.lua:102
        /home/practicalli/.local/share/nvim-astro5/lazy/neo-tree.nvim/lua/neo-tree/sources/filesystem/commands.lua:87

 ~
- WARNING vim.validate is deprecated. Feature will be removed in Nvim 1.0
  - ADVICE:
    - use vim.validate(name, value, validator, optional_or_msg) instead.
    - stack traceback:
        /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/lua/nvim-treesitter/install.lua:93
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/lua/nvim-treesitter/install.lua:483
        /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/lua/nvim-treesitter/install.lua:552
        /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:428
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/configs/nvim-treesitter.lua:18
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/treesitter.lua:108
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:380
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/util.lua:135
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:395
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:362
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:197
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/manage/task/plugin.lua:23
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/manage/task/plugin.lua:72
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/manage/task/init.lua:112
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/manage/task/init.lua:39
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/async.lua:38
    - stack traceback:
        /home/practicalli/.local/share/nvim-astro5/lazy/mason-tool-installer.nvim/lua/mason-tool-installer/init.lua:45
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/configs/mason-tool-installer.lua:3
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/mason-tool-installer.lua:26
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:380
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/util.lua:135
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:395
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:362
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:197
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/view/commands.lua:70
        /home/practicalli/.local/share/nvim-astro5/lazy/astrocore/lua/astrocore/init.lua:204
    - stack traceback:
        /home/practicalli/.local/share/nvim-astro5/lazy/mason-tool-installer.nvim/lua/mason-tool-installer/init.lua:53
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/configs/mason-tool-installer.lua:3
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/mason-tool-installer.lua:26
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:380
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/util.lua:135
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:395
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:362
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:197
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/view/commands.lua:70
        /home/practicalli/.local/share/nvim-astro5/lazy/astrocore/lua/astrocore/init.lua:204
    - stack traceback:
        /home/practicalli/.local/share/nvim-astro5/lazy/mason-null-ls.nvim/lua/mason-null-ls/settings.lua:46
        /home/practicalli/.local/share/nvim-astro5/lazy/mason-null-ls.nvim/lua/mason-null-ls/init.lua:82
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/configs/mason-null-ls.lua:3
        /home/practicalli/.local/share/nvim-astro5/lazy/AstroNvim/lua/astronvim/plugins/none-ls.lua:25
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:380
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/util.lua:135
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:395
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:362
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:197
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:354
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/util.lua:135
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:353
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/loader.lua:197
        /home/practicalli/.local/share/nvim-astro5/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:85
        [C]:-1
        /home/practicalli/.local/share/nvim-astro5/lazy/astrocore/lua/astrocore/init.lua:105

==============================================================================
vim.health:                               require("vim.health.health").check()

Configuration ~
- OK no issues found

Runtime ~
- OK $VIMRUNTIME: /tmp/.mount_nvim11PdjAmc/usr/share/nvim/runtime

Performance ~
- OK Build type: Release

Remote Plugins ~
- OK Up to date

terminal ~
- key_backspace (kbs) terminfo entry: `key_backspace=\177`
- key_dc (kdch1) terminfo entry: `key_dc=\E[3~`
- $VTE_VERSION="7991"
- $COLORTERM="truecolor"

External Tools ~
- OK ripgrep 14.1.1 (/usr/bin/rg)

==============================================================================
vim.lsp:                                     require("vim.lsp.health").check()

- LSP log level : WARN
- Log path: /home/practicalli/.local/state/nvim-astro5/lsp.log
- Log size: 0 KB

vim.lsp: Active Clients ~
- No active clients

vim.lsp: Enabled Configurations ~

vim.lsp: File Watcher ~
- file watching "(workspace/didChangeWatchedFiles)" disabled on all clients

vim.lsp: Position Encodings ~
- No active clients

==============================================================================
vim.provider:                           require("vim.provider.health").check()

Clipboard (optional) ~
- OK Clipboard tool found: xclip

Node.js provider (optional) ~
- Node.js: v22.7.0

- WARNING Missing "neovim" npm (or yarn, pnpm) package.
  - ADVICE:
    - Run in shell: npm install -g neovim
    - Run in shell (if you use yarn): yarn global add neovim
    - Run in shell (if you use pnpm): pnpm install -g neovim
    - You may disable this provider (and warning) by adding `let g:loaded_node_provider = 0` to your init.vim

Perl provider (optional) ~
- WARNING "Neovim::Ext" cpan module is not installed
  - ADVICE:
    - See :help |provider-perl| for more information.
    - You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim
- WARNING No usable perl executable found

Python 3 provider (optional) ~
- WARNING No Python executable found that can `import neovim`. Using the first available executable for diagnostics.
- WARNING Could not load Python :
  /usr/bin/python3 does not have the "neovim" module.
  /usr/bin/python3.13 does not have the "neovim" module.
  python3.12 not found in search path or not executable.
  python3.11 not found in search path or not executable.
  python3.10 not found in search path or not executable.
  python3.9 not found in search path or not executable.
  python not found in search path or not executable.
  - ADVICE:
    - See :help |provider-python| for more information.
    - You may disable this provider (and warning) by adding `let g:loaded_python3_provider = 0` to your init.vim
- Executable: Not found

Python virtualenv ~
- OK no $VIRTUAL_ENV

Ruby provider (optional) ~
- WARNING `ruby` and `gem` must be in $PATH.
  - ADVICE:
    - Install Ruby and verify that `ruby` and `gem` commands work.

==============================================================================
vim.treesitter:                       require("vim.treesitter.health").check()

Treesitter features ~
- Treesitter ABI support: min 13, max 15
- WASM parser support: false

Treesitter parsers ~
- OK Parser: bash                 ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/bash.so
- OK Parser: c                    ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/c.so
- OK Parser: c                    ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/c.so
- OK Parser: lua                  ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/lua.so
- OK Parser: lua                  ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/lua.so
- OK Parser: markdown             ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/markdown.so
- OK Parser: markdown             ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/markdown.so
- OK Parser: markdown_inline      ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/markdown_inline.so
- OK Parser: markdown_inline      ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/markdown_inline.so
- OK Parser: python               ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/python.so
- OK Parser: query                ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/query.so
- OK Parser: query                ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/query.so
- OK Parser: vim                  ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/vim.so
- OK Parser: vim                  ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/vim.so
- OK Parser: vimdoc               ABI: 14, path: /home/practicalli/.local/share/nvim-astro5/lazy/nvim-treesitter/parser/vimdoc.so
- OK Parser: vimdoc               ABI: 14, path: /tmp/.mount_nvim11PdjAmc/usr/lib/nvim/parser/vimdoc.so

==============================================================================
which-key:                                 require("which-key.health").check()

- OK Most of these checks are for informational purposes only.
  WARNINGS should be treated as a warning, and don't necessarily indicate a problem with your config.
  Please |DON'T| report these warnings as an issue.

Checking your config ~
- OK |mini.icons| is installed
- OK |nvim-web-devicons| is installed

Checking for issues with your mappings ~
- OK No issues reported

checking for overlapping keymaps ~
- WARNING In mode `n`, <gc> overlaps with <gcO>, <gcc>, <gco>:
  - <gc>: Toggle comment
  - <gcO>: Add Comment Above
  - <gcc>: Toggle comment line
  - <gco>: Add Comment Below
- OK Overlapping keymaps are only reported for informational purposes.
  This doesn't necessarily mean there is a problem with your config.

Checking for duplicate mappings ~
- OK No duplicate mappings found

Neogitλ︎

When using commit ammend in the neogit status buffer, a prompt displays warning that the commit has already been pushed.

This prompt triggers a deprecation notification, indicating it is using a depreated vim api.

vim.tbl_islist is deprecated. Run ":checkhealth vim.deprecated" for more information

Running the checkheald vim.deprecated command and searching for neogit

        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:738
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:305

        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:384
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:699
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/buffers/status/init.lua:98
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit.lua:114
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit.lua:175
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/plugin/neogit.lua:5

        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:434
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:526
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/lib/buffer.lua:716
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit/buffers/status/init.lua:98
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit.lua:114
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/lua/neogit.lua:175
        /home/practicalli/.local/share/nvim-astro5/lazy/neogit/plugin/neogit.lua:5

Opening lua/neogit.lua

vim.tbl_islist is deprecated. Run ":checkhealth vim.deprecated" for more information

Commit amend issueλ︎

The dialog to confirm modifying an already pushed commit triggers a notification warning.

In lua/neogit/lib/buffer.lua the Lua LSP server shows a deprecation warning in the function Buffer:add_highlight (line 456)

nvim_buf_add_highlight is deprecated

From the Neovim docs: nvim_buf_add_highlight() Use vim.hl.range() or nvim_buf_set_extmark()

FYI: test/util/git_harness.lua uses vim.api.nvim_exec which has been deprecated Since Neovim 0.9, with vim.api.nvim_exec2 the recommended replacement.

I started a discussion on deprecated APIs on the Neogit repository.

Linuxλ︎

I have used Ubuntu for the last 15 years (possibly a bit more) and it has been an excellent desktop operating system, especially for software development.

Recently there has been a trend to ship software as snaps by default, rather than the excellent Debian package format (*.deb files). Web browser software is only offered as snaps from the Ubuntu repositories.

Whist snaps provide convienience to packaging certain apps for the maintainers, it doesnt provide a good experience for the users of Ubuntu.

A notable example was when Firefox started shipping as a snap so that Mozilla could push security updates, specifically for libraries that Firefox used. The snap is self-contained so all the code and libraries are in one package, rather than sharing libraries via their debian package.

The experience using Firefox as a snap has greatly improved, although startup time was a major concern initially.

The problem remains that snaps are a very inefficient use of filespace (which admittedly is relatively cheap today). Snaps also keep the previous version when updating (so they can quickly be rolled back) and its not possible to configure Snaps to only install one version. I havent found a nice tool to remove older snaps either, so a manual delete is sometimes required.

However, when backing up an older Ubuntu system I discovered that snap was using atleast 16 Gb of storage. 3 Gb in the user directory and 13 Gb in the /var/lib directory.

This use of filespace is ludicrus when comparing to the 235 Mb Firefox Debian package.

Ubuntu maintainers announced they are going to include many more snaps by default, so its another reason I am happy to be moving back to Debian.

Careerλ︎

I have been casually looking for a new role, although with a focus to consider how to prepare for a really good interview (especially if I go for another engineering manager or head of engineering role).

Some enhancements have been made to the Experiences section on my LinkedIn profile, providing a greater insight into my very wide experiences over the last few decades.

I am finding some interesting posts on LinkedIn, especially from Simon Wardley, so I plan to share my own thoughts and blog posts there.

Although chronologically speaking I could consider retirement this year, I dont feel like retiring and 5-10 more years of work would be good for the bank balance (and pension fund).

Health and Fitnessλ︎

Walking

Walk to doctors

Cycling

Capturing health statistics using a Google sheet and adding charts to help track my progress.

I was on medication last year for my diabeties, but it really did drain my energy levels and I was already quiet tired from lingering covid symptoms. I was exhausted after each day of work. I had no energy to do any exercise before or after work. I wasnt sleeping well either so eventually it became very hard to manage my mood and mental health.

My blood-sugar levels had spiked massively after 4 months of taking the medication, so I decided to stop and see if I could revert back to exercise to manage diabetes.

After a month of being off the medication my body stopped being in pain all the time. I did experience greater numbness in my feet and legs at first, but as I started with gentle exercise this numbness became less frequent.

After two months off the medication, my mood and mental health were much more positive. I was able to do longer walks and more often.

I also managed to do a significant cycle ride (after a few warm up rides). I am still far behind the stamina and ability I was at last summer, but am hopeful that in the next month I will be much closer to some minimum fitness.

I have also lost 9 kg in weight since I stopped taking the medication.

Entertainmentλ︎

Its good to have something to distract my mind as I recover from the increased exercise.

I signed up to Amazon Prime for a month to catch up on some movies before they disappear from that service.

  • Fiddler On The Roof
  • Rollerball - the 1975 version with (not the more recent remake which I did not enjoy).
  • Capolte
  • The Evil Dead - the first movie of a quite scary, bizarre and occasionally funny & silly trilogy. Evil Dead 3 is one of my favourite movies and Bruce Campbell was an excellent flawed hero.
  • Moon has grown on me a lot more after the first view, I really enjoyed the story and Sam Rockwell conveyed the pain of isolation and loss.

Thank you.

🌐 Practical.li Website

Practical.li GitHub Org practicalli-johnny profile

@practicalli@clj.social @practical_li