Home

Awesome

coq.nvim (first & third) party sources

PR welcome


First party lua sources & third party integration for coq.nvim

See :COQhelp custom_sources

How to use

Install the repo the normal way, and then:

require("coq_3p") {
  { src = "nvimlua", short_name = "nLUA" },
  { src = "vimtex",  short_name = "vTEX" },
  { src = "copilot", short_name = "COP", accept_key = "<c-f>" },
  { src = "codeium", short_name = "COD" },
  ...
  { src = "demo" },
}

require("coq_3p") takes a list of { src = ..., short_name = ..., ... } objects.

src is required

If short_name is not specified, it is uppercase src.

The rest of object are specific to each individual source.

First party

Included VimScripts

These sources comes with vim / nvim's default runtime.

Warning: Using these sources might run quite a bit of vimscript code.

{
  { src = "builtin/ada"     },
  { src = "builtin/c"       },
  { src = "builtin/clojure" },
  { src = "builtin/css"     },
  { src = "builtin/haskell" },
  { src = "builtin/html"    },
  { src = "builtin/js"      },
  { src = "builtin/php"     },
  { src = "builtin/syntax"  },
  { src = "builtin/xml"     },

}

Shell REPL

{
  src = "repl",
  sh = "zsh",
  shell = { p = "perl", n = "node", ... },
  max_lines = 99,
  deadline = 500,
  unsafe = { "rm", "poweroff", "mv", ... }
}

Evaluates ...:

`<ctrl chars>!...`

Where <ctrl chars> can be a combination of zero or more of:

Note: coq.nvim has very short deadlines by default for auto completions, manual <c-space> might be required if $SHELL is slow.

repl.img

Nvim Lua API

{ src = "nvimlua", short_name = "nLUA", conf_only = true }

lua.img

Scientific calculator

{ src = "bc", short_name = "MATH", precision = 6 }

bc.img

requires - bc

Moo

{ src = "cow", trigger = "!cow" }

Use trigger = "!cow" to only show cowsay when you end a line with !cow

cowsay.img

requires - cowsay

Comment Banner

{ src = "figlet", short_name = "BIG" }

Use trigger = "!big" to only show figlet when you end a line with !big

Use fonts = {"/usr/share/figlet/fonts/standard.flf"} specify the list of fonts to choose from

figlet.img

requires - figlet

Third parties

Copilot

{ src = "copilot", short_name = "COP", accept_key = "<c-f>" }

Hitting tmp_accept_key will accept the suggestions once they are shown.

This is just a quick workaround, if its at all possible i'd like to remove tmp_accept_key, and include copilot suggestions right in the completion popup.

Codeium

{ src = "codeium", short_name = "COD" }

Can be used at the same time as copilot

-- Can't both show ghost texts though
vim.g.codeium_render = false

Tabby

{ src = "tabby", short_name = "TAB" }

Can be used at the same time as copilot and Codeium

-- Can't both show ghost texts though
vim.g.codeium_render = false

VimTex

{ src = "vimtex", short_name = "vTEX" }

Orgmode.nvim

{ src = "orgmode", short_name = "ORG" }

vim-dadbod-completion

{ src = "vim_dadbod_completion", short_name = "DB"}

nvim-dap

{ src = "dap" }

Thanks @davidatbu <3


FYI

None of the code under require('coq_3p') is public API.

From the users' prespective, any change I make should be transparent, ie. I will try to not break their stuff.

For other plugin developers, if you want to re-use my code. Make a COPY, do not just require "blah" from this repo.

I reserve the ability to fearlessly re-factor.