luismeyer95 / codeium.nvim

A native neovim extension for Codeium

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

codeium.nvim

Native Codeium plugin for Neovim

Contributing

Feel free to create an issue/PR if you want to see anything else implemented.

Screenshots

Screencast.from.2023-01-29.02-29-50.webm

Installation

use {
    "jcdickinson/codeium.nvim",
    requires = {
        "nvim-lua/plenary.nvim",
        "MunifTanjim/nui.nvim",
        "hrsh7th/nvim-cmp",
    },
    config = function()
        require("codeium").setup({
        })
    end
}
{
    "jcdickinson/codeium.nvim",
    dependencies = {
        "nvim-lua/plenary.nvim",
        "MunifTanjim/nui.nvim",
        "hrsh7th/nvim-cmp",
    },
    config = function()
        require("codeium").setup({
        })
    end
},

Usage

After installation and configuration, you will need to authenticate with Codeium. This can be done by running :Codeium Auth, copying the token from your browser and pasting it into API token request.

Options

  • config_path: the path to the config file, used to store the API key.
  • bin_path: the path to the directory where the Codeium server will be downloaded to.
  • api: information about the API server to use:
    • host: the hostname
    • port: the port
  • tools: paths to binaries used by the plugin:
    • uname
    • uuidgen
    • curl
    • gzip
    • language_server: The path to the language server downloaded from the official source.
  • wrapper: the path to a wrapper script/binary that is used to execute any binaries not listed under tools. This is primarily useful for NixOS, where a FHS wrapper can be used for the downloaded codeium server.

After calling setup, this plugin will register a source in nvim-cmp. nvim-cmp can then be set up to use this source using the sources configuration:

cmp.setup({
    -- ...
    sources = {
        -- ...
        { name = "codeium" }
    }
})

To set a symbol for codeium using lspkind, use the Codeium keyword. Example:

cmp.setup({
    -- ...
    formatting = {
        format = require('lspkind').cmp_format({
            mode = "symbol",
            maxwidth = 50,
            ellipsis_char = '...',
            symbol_map = { Codeium = "", }
        })
    }
})

Troubleshooting

The plugin log is written to ~/.cache/nvim/codeium.log.

You can set the logging level to one of trace, debug, info, warn, error by exporting the CODEIUM_DEBUG environment variable.

About

A native neovim extension for Codeium

License:MIT License


Languages

Language:Lua 97.0%Language:Nix 3.0%