Home

Awesome

ucm.nvim

Unison at your fingertips

A little Neovim helper for Unison programming language.

ucm.nvim

Setup

{
  'chuwy/ucm.nvim',
  dependencies = {
    'nvim-telescope/telescope.nvim',
    'rcarriga/nvim-notify'              -- A temporary requirement
  },
  config = function()
    require('ucm').setup {
      endpoint = 'http://127.0.0.1:6783/local_ucm/api/'
    }
  end
}

The only supported setting now is endpoint. You can omit it, but then ucm.nvim will be asking you for you API endpoint, which you can get with api command inside ucm. Or you can just use a static one, like above with:

$ ucm --port 6783 --token local_ucm

This plugin works with ucm M5d and later.

Usage

This plugin exposes three Telescope pickers:

Two latter pickers insert an entity to edit if you press Return.

FAQ

Why not LSP?

Doing most of the things the plugin does currently is likely possible via LSP. But at the same time, ucm.nvim is planned to be much more than just an "interactive symbol viewer" - I plan to add many features (such as adding terms and types, creating and switching projects etc) that are simply out of scope of LSP.

ucm and ucm.nvim show me different projects

That's because running ucm instance does not provide info about project you're currently working on. Instead Telescope ucm project just picks a scope for search.