Skip to content

Releases

WraithVim 0.12.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 08:28

See who changed each line (like GitLens)

Move to any line in a Git project and its history appears at the end of the line, in dim text:

from collections.abc import Callable     Ana, 3 weeks ago • Add Portal integration

Lines you changed but haven't committed show You • Uncommitted changes.

Key Does
Space g t Hide / show the line blame
Space g Shift+B Full commit for this line (message and date)

It's on by default. To turn it off for good, put line_blame = false in ~/.config/wraithvim/ui.lua. It only updates when you move the cursor, so it costs nothing while you read.

Update

Run :Update inside WraithVim, or press Space u u.

WraithVim 0.11.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 08:21

Autocomplete and error checking for 29 languages

Open a file and WraithVim offers to set up its language for you, once:

Go: install the tools for completion, error checking and formatting?
  gopls    (language server)
  gofumpt  (formatter)
[I]nstall  (N)ot now  Ne(v)er for Go

Press i. The tools install in the background, and a moment later the file you have open gets:

  • smart autocomplete for your code and its libraries (type fmt. and see every function)
  • errors and warnings as you type: underlined, with the message at the end of the line
  • lint checks: ESLint (JS/TS), Ruff (Python), staticcheck (Go), Clippy (Rust), clang-tidy (C/C++), ShellCheck (Bash)
  • go to definition, hover docs (K), rename (Space r n), quick fixes (Space c a)
  • formatting with Space c f

No restart needed.

Languages: JavaScript, TypeScript, Python, Go, Rust, Java, Kotlin, C, C++, C#, PHP, Ruby, Lua, Bash, SQL, HTML (with Emmet), CSS / SCSS / Less, JSON, YAML, TOML, Markdown, Dockerfile, Terraform, GraphQL, Svelte, Elixir, Prisma, Nix, Dart / Flutter, Swift.

Key Shows
Space d d Problems on this line
Space d n / Space d p Next / previous problem
Space d x Search all problems

Good to know:

  • Some tools need their language installed first. For example, Go tools need Go, and web tools need Node.js. The prompt tells you when something is missing.
  • Not now asks again next time. Never stops asking for that language. :InstallTools installs everything at once.
  • Prefer no questions? Put mason = { auto_install = "always" } in ~/.config/wraithvim/options.lua.
  • Tools you already installed yourself are used first.

Update

Run :Update inside WraithVim, or press Space u u, then restart.

WraithVim 0.10.1

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 06:29

Search finds every file you can see

File search (Space Space) and text search (Space /) now find files ignored by .gitignore too, like .env or files in dist/. Anything you can see in the explorer, you can now search.

Like VS Code, .git and node_modules are skipped so results stay fast and useful. To search inside node_modules too, put this in ~/.config/wraithvim/options.lua:

return {
  search = { exclude = { ".git" } },
}

Update

Run :Update inside WraithVim, or press Space u u.

WraithVim 0.10.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 06:22

The explorer shows every file

Nothing is hidden anymore. The explorer now shows:

  • dotfiles like .env and .github
  • files ignored by .gitignore, such as dist/ (dimmed, like in VS Code)
  • .git and node_modules

No more "(4 hidden items)".

Prefer to hide some folders again? Put this in ~/.config/wraithvim/ui.lua:

return {
  explorer = {
    hide = { ".git", "node_modules" },
    show_gitignored = false, -- also hide files ignored by .gitignore
  },
}

Shift+H (with the cursor in the explorer) still shows hidden items for a moment.

Update

Run :Update inside WraithVim, or press Space u u.

WraithVim 0.9.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 06:09

Material icons in the explorer

The explorer now looks like VS Code's Material Icon Theme. Folders get their own icon and color by name:

Folder Looks like
src green folder
docs blue folder with text
tests teal folder with a check
scripts amber folder with a play button
.github / .git / node_modules GitHub / Git / npm folders
config, assets, dist, lib, utils, types, api, styles, … each its own icon and color
anything else blue-grey folder

Files keep their colored type icons, and README, CHANGELOG, LICENSE and CONTRIBUTING get their Material icons.

Want different colors? Set them in ~/.config/wraithvim/ui.lua, for example colors = { WraithIconGreen = { fg = "#a6e3a1" } }.

Fixed: missing icons

Some icons showed up blank: folder icons, the default file icon, error and warning signs, Git status marks, the terminal header and dashboard icons, and the rounded statusline edges. They are all back, and a test now makes sure they can't go missing again.

You need a Nerd Font in your terminal, as before.

Update

Run :Update inside WraithVim, or press Space u u.

WraithVim 0.8.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 04:29

Creating files is easy now

Pick whichever way feels natural:

Do this Creates
Click File or Folder at the top of the explorer In the selected folder
Right click a folder or file in the explorer → New File / New Folder In that folder
Press a (file) or A (folder) on an explorer item In that folder
Press Space n (or Space Shift+N for a folder) anywhere Next to the file you are editing

The prompt already contains the folder, for example src/components/. You only type the name and press Enter, and the new file opens right away.

  • api/v2/routes.lua creates the missing folders for you
  • a name ending in / creates a folder
  • an existing file is opened, never overwritten
  • Esc cancels

The right-click menu also has Open to the Side, Rename, Delete, Copy Path, Refresh and Collapse All.

Update

Run :Update inside WraithVim, or press Space u u.

WraithVim 0.7.0

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 03:40

Files update by themselves

When an AI CLI, a formatter or git checkout changes a file you have open, WraithVim reloads it right away. You no longer have to switch windows or run :e. It uses your system's file events, so nothing runs while files sit still.

Unsaved edits are never thrown away. If a file changes on disk while you are editing it, you get a warning instead:

  • :DiffDisk shows your version and the disk version side by side
  • :e! loads the disk version
  • :w keeps yours

The explorer also updates when files are created or deleted outside Neovim.

Faster scrolling

Press Does
Mouse wheel 6 lines per notch (was 3)
Ctrl+D / Ctrl+U Half a page, cursor stays in the middle
Alt+J / Alt+K Jump 10 lines
} / { in the explorer Next / previous folder

Want it even faster? Put scroll = { wheel = 10 } in ~/.config/wraithvim/options.lua.

A Git graph you can read

Each line is one commit: hash, branch and tag names, message, author and "2 days ago". Branches have their own colors and the branch you are on is green. A header lists the keys:

Key Does
Enter Open the commit
d Diff of the commit
c Check it out (asks first)
y Copy the hash
a Show / hide other branches
q Close

Space g g now shows your current branch. Space g Shift+G (or :GitGraphAll) shows every branch.

Update

Run :Update inside WraithVim, or press Space u u.

Closes #1, #2, #3. Full list in the changelog.

WraithVim v0.6.1

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 02:42

Download it

Releases now include wraithvim.tar.gz:

curl -LO https://github.com/cachewraith/wraithvim/releases/latest/download/wraithvim.tar.gz
tar -xzf wraithvim.tar.gz && cd wraithvim && ./install.sh

Run from the archive, install.sh sets up a normal Git install, so :Update / Space u u keep working (offline it falls back to copying the files).

Upgrade

Space u u (or :Update), then restart Neovim.

WraithVim v0.6.0 — actions palette & readable keys

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 02:31

Don't remember keys? Search actions by name

Press Space p (or F1, Ctrl+Shift+P, or type :Actions), type what you want — pull, graph, terminal, format — and press Enter. Every action is listed with its key, so you learn them as you go:

Git: Pull                         Space g Shift+P
Git: Graph (all branches)         Space g g
Command: Commit graph ...         :GitGraph

Keys in plain words

The cheatsheet (Space ?), the palette and the docs now show keys the way you press them:

Before Now
<leader>gP Space g Shift+P (Space, then g, then hold Shift and press p)
<C-s> Ctrl+S
<S-A-Down> Shift+Alt+Down

More : commands

:Explorer, :FindFile, :Search, :CloseTab join :GitPull, :GitGraph, :Terminal, :Update and the rest.

Upgrade

Space u u (or :Update), then restart Neovim.

WraithVim v0.5.0 — git graph & easier keys

Choose a tag to compare

@cachewraith cachewraith released this 12 Nov 02:19

Git graph

Space g g (or :GitGraph) shows a commit graph of all branches. Enter on a commit opens it, gq closes the graph.

Easier keys

Press Space and wait — a popup now shows every key you can press next and what it does.

Key Action
Space Space Find file
Space / Search text in project
Space e / Space E Explorer / show current file in it
Space t Terminal
Space x Close tab
Space , Switch tab
Space q Quit (asks to save)
Space g g Git graph
Space u u Update WraithVim
Space u h / u p / u c Health check / plugins / your settings folder
Space T n, T h, T v, T f, T c More terminals: beside, below, right, floating, kill

Every key now has a clear description in the popup, in Space ? and in docs/keymaps.md.

Moved keys

Space ee → Space e, Space ef → Space E, Space eg → Space ge, Space tt → Space t, Space th/tv/tf/tn/tc → Space Th/Tv/Tf/Tn/Tc, Space fd → Space cf.

Startup is unchanged (≈19 ms, 2 of 21 plugins load at startup) and idle CPU stays at zero.

Upgrade

Space u u (or :Update), then restart Neovim.