Skip to content

odoo/odoo-neovim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Neovim

Neovim client for the Odools language server

screenshot

Important ⚠️

This plugin is still in its early development stage. Don't hesitate to submit bugs, issues and/or feedbacks to improve the user experience.

This repository give some snippet example to make the odoo-ls working inside Neovim.

This will later become a true plugin managing the download of the server executable and dependencies

Requirements

We recommend using nvim version 0.11.0 or later to benefit from the builtin lsp config helpers. Working with < 0.11 will require installing lspconfig

Instalation

For now the language server is not included in the plugin. The plugin defines the config for neovim. First download the language server releases. The plugin will search for the server either directly on the path or inside the "$HOME/.local/share/nvim/odoo/odoo_ls_server" folder. For custom locations, the config will need to be update as in the config section

Additionally, the server requires the python typeshed. The server will look for the stdlib either in the same folder as the server binary or in the current working directory. Otherwise the stdlib can be configured both in the odools.toml or config

Configs

There are 2 configuration parts needed. One for the server directly, and one for neovim.

The odools.toml file should be included in the root of you working directory and define the addons, stubs and python path (if you need to use a different python executable such as a the one from a virtual environment).

odools.toml

name = "main"
odoo_path = "odoo"
addons_path = ["/home/user/src/enterprise"]
python_path = "/home/user/.pyenv/shims/python"
additional_stubs = ["/home/user/.local/nvim/odoo/typeshed/stubs"]

You can import the odoo-nvim plugin to provide a default setting for the odoo_ls.

lazy.lua

    {'odoo/odoo-neovim'}

lspconfig.lua (in nvim >0.11)

vim.lsp.config("odoo_ls", {
    -- custom config if needed
    })

vim.lsp.enable({"odoo_ls"})

The config can be customised depending on the needs. Multiple commands exist and can be found on the cli page of the server. But for setup reasons some notable ones are:

  • --config-path - a specific path where to find the odools.toml
  • --stdlib - give an alternative path to stdlib stubs from typeshed

lspconfig.lua custom config

vim.lsp.config("odoo_ls", {
    cmd = {
        -- Path to the odoo_ls_server binary
        vim.fn.expand('$HOME/.local/share/nvim/odoo/odoo_ls_server'),
        '--config-path',
        'Path_to_toml/odools.toml',
        '--stdlib',
        'path_to_typeshed/stdlib',
    })

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages