Sprachserver mit cmd erstellen: „lua-language-server“

Sprachserver mit cmd erstellen: „lua-language-server“

Ich bin vor kurzem gewechselt vonPackerPlugin-Manager zuFaul.

Durch die Nutzung von LSP,LspConfig,Mason,MasonLspConfigmit mehreren Sprachservern zur Programmierung.

Das Problem ist, dass Neovim Probleme beim Zugriff auf diese Server hat. Mit dem Paketmanager Packer hat es funktioniert. Vielleicht habe ich etwas falsch konfiguriert, aber ich habe keine Ahnung, was das Problem sein könnte.

Die Sprachserver werden installiert und zu PATH hinzugefügt.

Spawning language server with cmd: `lua-language-server` failed with error message: EACCES: permission denied

Der Befehl „lua-language-server“ als solcher ist aufrufbar.

Ich benutzeFischschaleals Standard-Shell.

Hier ist meine Plugin-Konfigurationsdatei:

return {
    { "lvimuser/lsp-inlayhints.nvim" },
    { 
        "neovim/nvim-lspconfig",
        dependencies = { "lvimuser/lsp-inlayhints.nvim" },
        config = function()
          local lspconfig = require("lspconfig")

          lspconfig.gopls.setup({
            on_attach = function(client, bufnr)
              require("settings/shared").on_attach(client, bufnr)
              require("lsp-inlayhints").setup({
                inlay_hints = {
                  type_hints = {
                    prefix = "=> "
                  },
                },
              })
              require("lsp-inlayhints").on_attach(client, bufnr)
              require("illuminate").on_attach(client)
            end,
            settings = {
              gopls = {
                analyses = {
                  nilness = true,
                  unusedparams = true,
                  unusedwrite = true,
                  useany = true,
                },
                experimentalPostfixCompletions = true,
                gofumpt = true,
                staticcheck = true,
                usePlaceholders = true,
                hints = {
                  assignVariableTypes = true,
                  compositeLiteralFields = true,
                  compositeLiteralTypes = true,
                  constantValues = true,
                  functionTypeParameters = true,
                  parameterNames = true,
                  rangeVariableTypes = true,
                }
              },
            },
      })
      end
    },

    { "williamboman/mason.nvim" },
    { "Afourcat/treesitter-terraform-doc.nvim" },
    { "williamboman/mason-lspconfig.nvim", 
        dependencies = { "williamboman/mason.nvim" },
        config = function()
            local mason_lspconfig = require("mason-lspconfig")

            mason_lspconfig.setup({
                PATH = "prepend",
                ensure_installed = {
                  "eslint",
                  "gopls", -- WARNING: This could be an issue with goenv switching.
                  "marksman",
                  "rust_analyzer",
                  "sumneko_lua",
                  "terraformls",
                  "tflint",
                  "tsserver",
                  "yamlls",
                }
            })

            mason_lspconfig.setup_handlers({
                function(server_name)
                    require("lspconfig")[server_name].setup({
                    on_attach = function(client, bufnr)
                        require("settings/shared").on_attach(client, bufnr)
                        require("illuminate").on_attach(client)

                        if server_name == "terraformls" then
                        require("treesitter-terraform-doc").setup()
                        end
                    end
                  })
                end
                })
            end
            },

  { "simrat39/symbols-outline.nvim",
    config = function()
      require("symbols-outline").setup({
        -- autofold_depth = 1, -- h: close, l: open, W: close all, E: open all
        auto_close = false,
        highlight_hovered_item = true,
        position = "left",
        width = 15,
        symbols = {
          File = { icon = "", hl = "GruvboxAqua" }, -- TSURI
          Module = { icon = "", hl = "GruvboxBlue" }, -- TSNamespace
          Namespace = { icon = "", hl = "GruvboxBlue" }, -- TSNamespace
          Package = { icon = "", hl = "GruvboxBlue" }, -- TSNamespace
          Class = { icon = "

Antwort1

Nachdem ich das System neu gestartet hatte, erkannte die LSP-Konfiguration das lua-language-server. Ich vermute, dass der Pfad nicht richtig angegeben wurde.

Für alle, die ähnliche Probleme haben: Stellen Sie sicher, dass Sie die Sprachserver installiert und korrekt zum PATH hinzugefügt haben, und vergessen Sie nicht, Ihre Konfigurationsdatei mit Variablen zu versehen.

Hier sind meine Variablen für den lua-language-serverund goplsServer im Fish-Shell-Format:

# Lua
set -gx PATH ~/.config/lsp/lua-language-server/bin $PATH

# Go
set -gx GOPATH ~/go
set -gx PATH /usr/local/go/bin $PATH
set -gx PATH $GOPATH/bin $PATH

Und hier sind sie im Bash-Format:

# Lua
export PATH=$PATH:$HOME/.config/lsp/lua-language-server/bin

# Go
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH/bin

verwandte Informationen