探索 Elixir 开发新境界:elixir-tools.nvim 插件推荐

探索 Elixir 开发新境界:elixir-tools.nvim 插件推荐

elixir-tools.nvimNeovim plugin for Elixir项目地址:https://gitcode.com/gh_mirrors/el/elixir-tools.nvim

项目介绍

elixir-tools.nvim 是一款专为 Neovim 设计的插件,旨在为开发者提供一个优雅的 Elixir 应用程序编写体验。无论你是 Elixir 新手还是资深开发者,这款插件都能显著提升你的开发效率。

项目技术分析

elixir-tools.nvim 的核心功能包括:

  • Next LS 和 ElixirLS 的安装与配置:自动安装并配置 Next LS 和 ElixirLS,提供强大的语言服务器支持。
  • :Mix 命令:支持 mix 命令的自动补全,方便开发者快速执行各种任务。
  • vim-projectionist 支持:集成 vim-projectionist,提供模块化的项目管理功能。

项目及技术应用场景

elixir-tools.nvim 适用于以下场景:

  • Elixir 开发者:无论是开发小型项目还是大型应用,elixir-tools.nvim 都能提供强大的支持。
  • Neovim 用户:如果你是 Neovim 的忠实用户,这款插件将为你带来更加流畅的 Elixir 开发体验。
  • 追求高效开发的开发者:通过自动化的工具配置和强大的命令支持,elixir-tools.nvim 能够显著提升开发效率。

项目特点

  1. 自动化配置:自动安装并配置 Next LS 和 ElixirLS,减少手动配置的繁琐。
  2. 强大的命令支持:提供 :Mix 命令的自动补全,方便开发者快速执行各种任务。
  3. 模块化项目管理:集成 vim-projectionist,支持模块化的项目管理,提升开发效率。
  4. 灵活的配置选项:支持多种配置选项,满足不同开发者的个性化需求。

安装与使用

安装

使用 lazy.nvim
{
  "elixir-tools/elixir-tools.nvim",
  version = "*",
  event = { "BufReadPre", "BufNewFile" },
  config = function()
    local elixir = require("elixir")
    local elixirls = require("elixir.elixirls")

    elixir.setup {
      nextls = {enable = true},
      elixirls = {
        enable = true,
        settings = elixirls.settings {
          dialyzerEnabled = false,
          enableTestLenses = false,
        },
        on_attach = function(client, bufnr)
          vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
          vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
          vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
        end,
      },
      projectionist = {
        enable = true
      }
    }
  end,
  dependencies = {
    "nvim-lua/plenary.nvim",
  },
}
使用 packer.nvim
use({ "elixir-tools/elixir-tools.nvim", tag = "stable", requires = { "nvim-lua/plenary.nvim" }})

快速开始

最小化配置
require("elixir").setup()
高级配置
local elixir = require("elixir")
local elixirls = require("elixir.elixirls")

elixir.setup {
  nextls = {
    enable = false,
    port = 9000,
    cmd = "path/to/next-ls",
    init_options = {
      mix_env = "dev",
      mix_target = "host",
      experimental = {
        completions = {
          enable = false
        }
      }
    },
    on_attach = function(client, bufnr)
      -- 自定义快捷键
    end
  },
  elixirls = {
    repo = "mhanberg/elixir-ls",
    branch = "mh/all-workspace-symbols",
    tag = "v0.14.6",
    cmd = "/usr/local/bin/elixir-ls.sh",
    settings = elixirls.settings {
      dialyzerEnabled = true,
      fetchDeps = false,
      enableTestLenses = false,
      suggestSpecs = false,
    },
    on_attach = function(client, bufnr)
      vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
      vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
      vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
    end
  }
}

结语

elixir-tools.nvim 是一款功能强大且易于配置的 Neovim 插件,专为 Elixir 开发者设计。无论你是初学者还是经验丰富的开发者,这款插件都能帮助你提升开发效率,享受更加流畅的 Elixir 开发体验。立即尝试,开启你的 Elixir 开发新篇章!

elixir-tools.nvimNeovim plugin for Elixir项目地址:https://gitcode.com/gh_mirrors/el/elixir-tools.nvim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伍虎州Spirited

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值