# Using neovim 0.11 native LSP API to set up julials

**URL:** https://discourse.julialang.org/t/using-neovim-0-11-native-lsp-api-to-set-up-julials/133632
**Category:** General Usage
**Tags:** neovim, lsp
**Created:** [November 4, 2025, 1:10am UTC](https://discourse.julialang.org/t/using-neovim-0-11-native-lsp-api-to-set-up-julials/133632 "2025-11-04T01:10:51Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![ghost\_nation](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ghost_nation/32/219253_2.png) [@ghost\_nation](https://discourse.julialang.org/u/ghost_nation)
#### Post date: [November 4, 2025, 1:10am UTC](https://discourse.julialang.org/t/using-neovim-0-11-native-lsp-api-to-set-up-julials/133632/1 "2025-11-04T01:10:51Z")

</div>

Hello all, I am attempting to set up the julials in my neovim configuration but I am not able to access the lsp so far…

I have been reading through the julials docs and came across this config:

```julia-auto
require'lspconfig'.julials.setup{
    on_new_config = function(new_config,new_root_dir)
      server_path = "/path/to/directory/containing/LanguageServer.jl/src"
      cmd = {
        "julia",
        "--project="..server_path,
        "--startup-file=no",
        "--history-file=no",
        "-e", [[
          using Pkg
          Pkg.instantiate()
          using LanguageServer
          depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
          project_path = let
              dirname(something(
                  ## 1. Finds an explicitly set project (JULIA_PROJECT)
                  Base.load_path_expand((
                      p = get(ENV, "JULIA_PROJECT", nothing);
                      p === nothing ? nothing : isempty(p) ? nothing : p
                  )),
                  ## 2. Look for a Project.toml file in the current working directory,
                  ## or parent directories, with $HOME as an upper boundary
                  Base.current_project(),
                  ## 3. First entry in the load path
                  get(Base.load_path(), 1, nothing),
                  ## 4. Fallback to default global environment,
                  ## this is more or less unreachable
                  Base.load_path_expand("@v#.#"),
              ))
          end
          @info "Running language server" VERSION pwd() project_path depot_path
          server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path)
          server.runlinter = true
          run(server)
        \]\]
    };
      new_config.cmd = cmd
    end
}

```

However, the example here is using the outdated lspconfig plugin specification, and I would like to avoid that. Any ideas on how I should move forward?
