强迫症之禁止显示LSP :: no identifier found

使用lsp-modegolang,光标移动到部分位置总是会显示LSP :: no identifier found,而使用tab选择需要补全的选项minibuffer也总是会有LSP :: no object for ident f字样,这应该是上游gopls问题,找了一圈没找到怎么关闭,作为一名“强迫症患者”真心受不了,所以写了一个小函数来禁止这类信息的显示

  (defun maple/lsp-message(func &rest args)
    (if (car args)
        (let ((str (apply 'format-message args)))
          (unless (string-match "\\(no identifier found\\|no object for ident\\)" str)
            (funcall func str)))
      (apply func args)))

  (advice-add 'message :around 'maple/lsp-message)