practicalli / practicalli/practicalli.github.io

Neovim for Clojure development

Open
#6 0 comments 0 reactions 1 assignee View on GitHub

@practicalli-johnny is already working on this.

Since May 6, 2023.

Dominant language
Makefile
Stars
7
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Article title
Neovim 0.9.0 for Clojure development

Article description or content

Covering Neovim for Clojure quick start and highlighting the main aspects of using Neovim setup, as covered in the Practicalli Neovim book.

Related: https://github.com/practicalli/neovim/issues/7
Create a step-by-step guide to creating a Neovim based development environment for Clojure

Installing Neovim 0.9.x

  • Details referred to in Practicalli Neovim
    • app image only provided for Linux
    • build from source
    • generate .deb package
    • supporting tools - xclip, find-fd

Multiple Configurations
use NVIM_APPNAME to set the Neovim configuration to use on startup, optionally defining shell aliases for regularly used configurations

alias astro="NVIM_APPNAME=astronvim nvim"
alias cajus="NVIM_APPNAME=cajus nvim"
alias neovim-config="NVIM_APPNAME=neovim-config nvim"
alias neovim-config-redux="NVIM_APPNAME=neovim-config-redux nvim"
# alias nvchad="NVIM_APPNAME=NvChad nvim"

Switch between AstroNvim, Cajus or any other Nvim configuration to have a simple way to compare packages and configurations.

Practicalli Neovim inlcudes a zsh script as a TUI configuration launcher.

Conjure REPL connected editor workflow

  • :conjureSchool tutorial within Neovim for an essentials introduction, which uses the key bindings

Suggested plugins

  • parinfer managing parens
  • nvim-cmp autocomplete integrated with clojure-lsp
  • lazy package manager
  • mason LSP, format and lint tool manager (optionally with null-ls to allow format & lint output to be used like an LSP server - where non exists)

Neovim community configuration overview

  • AstroNvim includes AstroCommunity clojure pack, lua config (mostly a data structure)

  • Magic kit (by Conjure author - using Fennel (nfnl)

  • cajus provides conjure and other essential plugins using Fennel (nfnl) config

  • Summary
    Neovim is an excellent basis for building a low-resource and feature rich development tool

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.