*codeium.txt* Codeium GETTING STARTED *codeium* Run the `:Codeium Auth` command to login to Codeium. This is required to enable the plugin. Once logged in, suggested completions will be displayed inline as virtual text. You can insert a completion by pressing . COMMANDS *:Codeium* *:Codeium_Auth* :Codeium Auth Authenticate to Codeium. *:Codeium_Chat* :Codeium Chat Open Codeium Chat in a browser window *:Codeium_Disable* :Codeium Disable Disable Codeium completions *:Codeium_Enable* :Codeium Enable Re-enable Codeium completions after running :Codeium Disable *:Codeium_DisableBuffer* :Codeium DisableBuffer Disable Codeium completions in the current buffer only. *:Codeium_EnableBuffer* :Codeium EnableBuffer Re-enable Codeium completions in the current buffer after running :Codeium DisableBuffer *:Codeium_Toggle* :Codeium Toggle Enable Codeium completions if they are disabled. Disable Codeium completions if they are enabled. Does NOT enable completions for current buffer, if they are disabled with :Codeium DisableBuffer. However, still affects other buffers. OPTIONS *codeium-options* *g:codeium_filetypes* g:codeium_filetypes A dictionary mapping whether codeium should be enabled or disabled in certain filetypes. This can be used to opt out of completions for certain filetypes. > let g:codeium_filetypes = { \ 'bash': v:false, \ 'typescript': v:true, \ } < *g:codeium_enabled* g:codeium_enabled A global boolean flag that controls whether codeium completions are enabled or disabled by default. > let g:codeium_enabled = v:true < *g:codeium_manual* g:codeium_manual If true, codeium completions will never automatically trigger. > let g:codeium_manual = v:true < *g:codeium_no_map_tab* g:codeium_no_map_tab A global boolean flag that controls whether codeium uses for the mapping codeium#Accept > let g:codeium_no_map_tab = v:true < *g:codeium_idle_delay* g:codeium_idle_delay Delay in milliseconds before autocompletions are shown (limited by language server to a minimum of 75). > let g:codeium_idle_delay = 500 < *g:codeium_render* g:codeium_render A global boolean flag that controls whether codeium renders are enabled or disabled. > let g:codeium_render = v:false < *g:codeium_tab_fallback* g:codeium_tab_fallback The fallback key when there is no suggestion display in `codeium#Accept()`. > let g:codeium_tab_fallback = "\t" < *g:codeium_bin* g:codeium_bin Manually set the path to the `codeium` language server binary on your system. If unset, `codeium.vim` will fetch and download the binary from the internet. > let g:codeium_bin = "~/.local/bin/codeium_language_server" < *g:codeium_os* g:codeium_os Manually set the host OS, accepted values are "Linux", "Darwin", "Windows". if unset, the value will be obtained using `uname`. > let g:codeium_os = "Linux" < *g:codeium_arch* g:codeium_arch Manually set the host architecture, accepted values are "x86_64", "aarch64", "arm". If unset, the value will be obtained using `uname -m`. > let g:codeium_arch = "x86_64" < *g:codeium_port_config* g:codeium_port_config Set the ports the chat client and web server use. Pass in web_server and chat_client fields to the mapping to set. Please note that if this option is set, only one window will work with codeium. It is recommended to set both the web_server and chat_client options if using this. If you are setting this because you are using vim remotely and want chat to work you will need to forward the two ports you set here, along with port 42100. That window can have as many buffers within it, but any other opened windows will not be able to use Codeium's features. > let g:codeium_port_config = { 'web_server': , 'chat_client': } < *g:codeium_virtual_text_priority* g:codeium_virtual_text_priority The priority used for Codeium's virtual text completions in Neovim. This can control how completions appear when multiple virtual text items are on the same line, such as when using LSP inlay hints. The priority can be set on a per-buffer basis by setting the b:codeium_virtual_text_priority variable. If neither of these are set, the default priority is 65535, which will usually place it above any other virtual text. > let g:codeium_virtual_text_priority = 1000 < *b:codeium_virtual_text_priority* b:codeium_virtual_text_priority The priority given to Codeium's virtual text completions for the current buffer in Neovim. If not set, g:codeium_virtual_text_priority is used. > let b:codeium_virtual_text_priority = 1000 < MAPS *codeium-maps* *codeium-i_* Codeium.vim defaults to using the key to insert the current suggestion. If there is no suggestion display, the key will fallback to any existing mapping you have. This is bound to `codeium#Accept()` Other Maps ~ *codeium-i_CTRL-]* Dismiss the current suggestion. (codeium-dismiss) call codeium#Clear() *codeium-i_ALT-]* Cycle to the next suggestion. (codeium-next) call codeium#CycleCompletions(1) *codeium-i_ALT-[* Cycle to the previous suggestion. (codeium-previous) call codeium#CycleCompletions(-1) SYNTAX HIGHLIGHTING *codeium-highlighting* Inline suggestions are highlighted using the CodeiumSuggestion group, which defaults to a gray color. You can configure this highlight group for your colorscheme in after/colors/.vim in your 'runtimepath' (e.g., ~/.config/nvim/after/colors/solarized.vim). Example declaration: > highlight CodeiumSuggestion guifg=#555555 ctermfg=8 < vim:tw=78:et:ft=help:norl: