No description
Find a file
2026-01-01 23:03:07 +00:00
.github/workflows Add Nix flake (#54) 2025-12-27 19:13:26 +11:00
src Lax error parsing (#56) 2025-12-27 23:06:56 +00:00
tests Add Nix flake (#54) 2025-12-27 19:13:26 +11:00
.envrc Add Nix flake (#54) 2025-12-27 19:13:26 +11:00
.gitignore Slightly better goto definition (#51) 2025-08-25 12:38:26 +00:00
config.nims Use jaysonrpc (#53) 2025-12-26 09:20:42 +11:00
flake.lock Swap to a flake utility instead of having all the code in here (#57) 2026-01-01 23:03:07 +00:00
flake.nix Swap to a flake utility instead of having all the code in here (#57) 2026-01-01 23:03:07 +00:00
LICENSE Create LICENSE 2025-05-04 18:14:19 +10:00
nimble.lock Use jaysonrpc (#53) 2025-12-26 09:20:42 +11:00
nimsight.nimble Lax error parsing (#56) 2025-12-27 23:06:56 +00:00
readme.md Bump version, add instructions for install that references flake (#55) 2025-12-27 08:17:51 +00:00

Nim Sight 👀

Get insight with NimSight

Nim language server based around nim check. Has 70% less features and stability compared to other nim LSP solutions.

I first started programming Nim using micro which just had a linter for Nim which I found helpful enough so I wanted that same experiences in my other editors. Doesn't support auto-complete and likely never will unless the --suggest option starts working

Tested with Kate and helix, semi tested with NeoVim (I run the test suite with it, but personally dont use it)

Features

This is the list of features that are supported/will eventually be supported

  • Show errors/warnings
  • Show outline of document
  • Basic fixes for some errors
  • Nimble and nimscript files
  • Go-to symbol definition (The code is there, but it basically never works)
  • Find usages
  • Rename symbol
  • Code lens (Nimble tasks, run tests)

Installation

Installation is supported via nimble install nimsight or via the flake github:ire4ever1190/nimsight

Usage

Kate

Add this into the list of LSP servers

{
  "nim": {
    "command": ["nimsight"],
    "path": ["%{ENV:HOME}/.nimble/bin", "%{ENV:USERPROFILE}/.nimble/bin"],
    "rootIndicationFilePatterns": ["*.nimble", "config.nims"],
    "url": "https://github.com/ire4ever1190/nimsight",
    "highlightingModeRegex": "Nim"
  }
}

Developing

Code is broken into two main sections

  • src/nimsight.nim: Main entry point, registers all the handlers
  • src/nimsight/: Contains code for Nim related stuff
  • src/nimsight/sdk: Contains an SDK for interacting with language servers. Can be used outside of this