Neovim init.luaでLinuxディストリビューション名を検出する方法

Neovim init.luaでLinuxディストリビューション名を検出する方法

私のneovim設定~/.config/nvim/init.luaでnvimが実行されているオペレーティングシステムのディストリビューションをどのように検出しますか? DebianサーバーとFedora Linuxワークステーションシステムで異なるNeovim設定をしたいと思います。

  • vim.loop.os_uname()「Linux」のみを検出します。
  • /etc/os-releasefileのような組み込みファイルはありますか?

答え1

結局、不器用な方法でこの問題を解決しましたが、問題は解決しました。

ただlsb_releaseを呼び出すシェルコマンド流通情報を取得し、パターンをケースに合わせます。

local handle = io.popen("lsb_release -i")
local result
if handle ~= nil then
    local result = handle:read("*a")
    handle:close()
    -- From here, match on whichever distro you're looking to handle
    result:match("Ubuntu") -- e.g. looking to handle Ubuntu
end

*より一般的なケースを処理する必要がある場合このページへの回答ディストリビューションを確認する前に、オペレーティングシステムがLinuxであることを確認する方法。

**技術的には、lsb_releaseがシステムにインストールされるという保証はありませんが、私には効果がありました。また、「使用可能なLSBモジュールなし」エラーが発生する可能性があります(lsb情報を印刷し続ける場合でも)、説明または修正はできません。

関連情報