All Projects → neovim → Go Client

neovim / Go Client

Licence: apache-2.0
Nvim Go client

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Go Client

format.nvim
Neovim lua plugin to format the current buffer with external executables
Stars: ✭ 189 (-33.45%)
Mutual labels:  neovim, neovim-plugin
nvim-lsp-smag
Seamless integration of language server locations into NeoVim
Stars: ✭ 60 (-78.87%)
Mutual labels:  neovim, neovim-plugin
denite-gtags
Denite source for GNU Global
Stars: ✭ 27 (-90.49%)
Mutual labels:  neovim, neovim-plugin
nvim-lsp-compl
A fast and asynchronous auto-completion plugin for Neovim >= 0.5, focused on LSP.
Stars: ✭ 46 (-83.8%)
Mutual labels:  neovim, neovim-plugin
null-ls.nvim
Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
Stars: ✭ 965 (+239.79%)
Mutual labels:  neovim, neovim-plugin
boo-colorscheme-nvim
Boo is a colorscheme for Neovim with handcrafted support for LSP, Treesitter.
Stars: ✭ 62 (-78.17%)
Mutual labels:  neovim, neovim-plugin
nrpattern.nvim
Neovim plugin to expand incrementing/decrementing to more formats.
Stars: ✭ 24 (-91.55%)
Mutual labels:  neovim, neovim-plugin
close-buffers.nvim
📑 Delete multiple vim buffers based on different conditions
Stars: ✭ 54 (-80.99%)
Mutual labels:  neovim, neovim-plugin
neogen
A better annotation generator. Supports multiple languages and annotation conventions.
Stars: ✭ 339 (+19.37%)
Mutual labels:  neovim, neovim-plugin
black-nvim
A Neovim plugin to format your code using Black
Stars: ✭ 23 (-91.9%)
Mutual labels:  neovim, neovim-plugin
spellsitter.nvim
Treesitter powered spellchecker
Stars: ✭ 251 (-11.62%)
Mutual labels:  neovim, neovim-plugin
nvim-dap-python
An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
Stars: ✭ 70 (-75.35%)
Mutual labels:  neovim, neovim-plugin
nvim-ghost.nvim
👻 GhostText plugin for Neovim with zero dependencies 🎉 Supports neovim running inside WSL too! 🥳 Windows/Linux/macOS supported out-of-the-box! 😄 (Other OSes need python3.6+ installed)
Stars: ✭ 32 (-88.73%)
Mutual labels:  neovim, neovim-plugin
Vim Monokai Tasty
VIM Colour scheme
Stars: ✭ 279 (-1.76%)
Mutual labels:  neovim, neovim-plugin
virt-column.nvim
Display a character as the colorcolumn
Stars: ✭ 64 (-77.46%)
Mutual labels:  neovim, neovim-plugin
cmp-under-comparator
nvim-cmp comparator function for completion items that start with one or more underlines
Stars: ✭ 77 (-72.89%)
Mutual labels:  neovim, neovim-plugin
Comment.nvim
🧠 💪 // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
Stars: ✭ 796 (+180.28%)
Mutual labels:  neovim, neovim-plugin
lir.nvim
Neovim file explorer
Stars: ✭ 194 (-31.69%)
Mutual labels:  neovim, neovim-plugin
agitator.nvim
No description or website provided.
Stars: ✭ 16 (-94.37%)
Mutual labels:  neovim, neovim-plugin
igs.nvim
A minimalist Neovim plugin that enhances the usage of git status inside Neovim.
Stars: ✭ 17 (-94.01%)
Mutual labels:  neovim, neovim-plugin

Github Actions codecov.io pkg.go.dev

Neovim/go-client is a Neovim client and plugin host for Go.

This example plugin adds the Hello command to Nvim.

package main

import (
    "strings"
    "github.com/neovim/go-client/nvim/plugin"
)

func hello(args []string) (string, error) {
    return "Hello " + strings.Join(args, " "), nil
}

func main() {
    plugin.Main(func(p *plugin.Plugin) error {
        p.HandleFunction(&plugin.FunctionOptions{Name: "Hello"}, hello)
            return nil
    })
}

Build the program with the go tool to an executable named hello. Ensure that the executable is on your path.

// Use the go build to generate an executable
// Enusre this hello executable on your path
// you can move hello to your $GOPATH/bin
// or set the current dir into env variable `path`
go build -o hello

Add the following plugin to Nvim:

if exists('g:loaded_hello')
    finish
endif
let g:loaded_hello = 1

function! s:Requirehello(host) abort
    " 'hello' is the binary created by compiling the program above.
    return jobstart(['hello'], {'rpc': v:true})
endfunction

call remote#host#Register('hello', 'x', function('s:Requirehello'))
" The following lines are generated by running the program
" command line flag --manifest hello
call remote#host#RegisterPlugin('hello', '0', [
    \ {'type': 'function', 'name': 'Hello', 'sync': 1, 'opts': {}},
    \ ])

" vim:ts=4:sw=4:et

Start Nvim and run the following command:

:echo Hello('world')
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].