3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VimAdvent Calendar 2024

Day 10

【Neovim】fidget.nvim💫のメッセージが長すぎるとき

Last updated at Posted at 2024-11-25

fidget.nvimはLSPとかのロード状況をアニメーションで教えてくれるプラグインです。

とってもCoolで便利なのですが、rust-analyzerと一緒に使ってたときに表示されるメッセージが長すぎて見切れちゃったので、対処法を書いておきます!

Screenshot 2024-11-25 212529_3.png
↑ 長すぎて見切れちゃってますね

方針

どうもメッセージにライブラリ?かなんかのパスが含まれてるせいで長すぎになっちゃってるみたいです。設定でLSPから渡されたメッセージからパスの部分を削除して表示するようにします!!

Let's GO🦓

1. 次のヘルパー関数を定義します
-- 文字列がパスかどうか判定します
local function isPath(inputString)
  return string.find(inputString, "[/\\]")
end

-- 文字列をスペースで分割します
local function splitString(inputString)
  local splittedStrings = {}
  for word in string.gmatch(inputString, "%S+") do
    table.insert(splittedStrings, word)
  end
  return splittedStrings
end

-- 文字列からパスを取り除きます
local function removePathFromString(inputString)
  local splittedStrings = splitString(inputString)

  local processedStrings = {}
  for _,word in ipairs(splittedStrings) do
    if not isPath(word) then
      table.insert(processedStrings, word)
    end
  end

  local processedString = ""
  for i,word in ipairs(processedStrings) do
    if i == #processedStrings then
      processedString = processedString..word
    else
      processedString = processedString..word.." "
    end
  end

  return processedString
end

2. fidgetの設定に以下を追加
require("fidget").setup {
  progress = {
    display = {
--===================<ここから追加>===================
      format_message = function(msg)
        local message = ""
        if not msg.message then
          message = msg.done and "Completed" or "In progress..."
        else
          message = removePathFromString(msg.message)
        end
        if msg.percentage ~= nil then
          message = string.format("%s (%.0f%%)", message, msg.percentage)
        end
        return message
      end,
--===================<ここまで追加>===================
    }
  }
}

完成!!

確認

Screenshot 2024-11-25 212918.png

パスの部分がなくなってスッキリしました。やったね!!!🎊🎊🎊🎊🎊🎊

参考文献

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?