Configure

See customization in https://expect-language-server.readthedocs.io/en/latest/api/expect-language-server.html#expect_language_server.server.get_document.

(Neo)Vim

coc.nvim

{
  "languageserver": {
    "expect": {
      "command": "expect-language-server",
      "filetypes": [
        "expect"
      ],
      "initializationOptions": {
        "method": "builtin"
      }
    }
  }
}

vim-lsp

if executable('expect-language-server')
  augroup lsp
    autocmd!
    autocmd User lsp_setup call lsp#register_server({
          \ 'name': 'expect',
          \ 'cmd': {server_info->['expect-language-server']},
          \ 'whitelist': ['expect'],
          \ 'initialization_options': {
          \   'method': 'builtin',
          \ },
          \ })
  augroup END
endif

Neovim

vim.api.nvim_create_autocmd({ "BufEnter" }, {
  pattern = { "*.exp" },
  callback = function()
    vim.lsp.start({
      name = "expect",
      cmd = { "expect-language-server" }
    })
  end,
})

Emacs

(make-lsp-client :new-connection
(lsp-stdio-connection
  `(,(executable-find "expect-language-server")))
  :activation-fn (lsp-activate-on "*.exp")
  :server-id "expect")))

Sublime

{
  "clients": {
    "expect": {
      "command": [
        "expect-language-server"
      ],
      "enabled": true,
      "selector": "source.expect"
    }
  }
}