Avatar
😀

Organizations

  • Emacsのlsp-modeでlua-language-serverを動かそうとしたら、ハマったのでメモ。

    モテるターミナルにカスタマイズしよう(WezTerm)を見て、weztermを設定しようとした。

    設定ファイルである wezterm.lua をEmacsで編集するためにluaの環境を整えようとしたら、Lua-language-serverを lsp-mode が認識しなかった。

    加えて、自動でインストールしようとしたら、emacsがフリーズしてしまった。

    動作させるために必要だった設定は以下の通り。

    (setq lsp-clients-lua-language-server-bin (format "%s/.nix-profile/bin/lua-language-server" (getenv "HOME"))
          lsp-clients-lua-language-server-main-location (format "%s/.lua-language-server/main.lua" (getenv "HOME")))
    ; reference : https://github.com/emacs-lsp/lsp-mode/issues/4688#issuecomment-3138937688
    (defun my/lsp-clients-lua-language-server-test ()
      "(Improved) Test Lua language server binaries and files."
      (or (and (f-exists? lsp-clients-lua-language-server-main-location)
               (f-exists? lsp-clients-lua-language-server-bin))
          (f-exists? (car (split-string lsp-clients-lua-language-server-command)))))
    
    (advice-add #'lsp-clients-lua-language-server-test
                :override #'my/lsp-clients-lua-language-server-test)
    

    lsp-mode自体にもIssueが上っていたためそれを参考にして設定したら動作した。

    私はnixを使用してlua-language-serverをインストールしている。 インストールする時に、lua-language-serverの main.lua を適当な場所に配置する。

    この main.lua の場所を lsp-clients-lua-language-server-main-location に設定し、 lsp-clients-lua-language-server-bin にlua-language-serverをインストールしたPathを設定する。

    最後に、このIssueコメントにある関数をコピペしたら動いた。

    参考 : Externally provided lua-language-server is not recognized #4688

    tech Created Wed, 08 Oct 2025 00:00:00 +0900
  • このブログはHugoGithub Styleを少し設定している。

    デフォルトだと、自己紹介などがブログに埋もれてしまうためメニューバーに追加した。

    現状、一つ加える度にhtmlを触らないといけない実装になっているのが気になるが、動いているからヨシ!

    config.toml に以下の要素を追加して、設定ファイルに追記すれば要素が追加されるようにした。

    [[params.self]]
      name = 'Self'
      url="introduction/introduction"
    

    そして、作成したHugoプロジェクト以下に layouts/partial/menu.html を作る。

    menus.html の追加のメニューとして以下の変更を加えた。

    {{ range .Site.Params.projects }}
    <a class="UnderlineNav-item
              {{ if .IsSection }}  selected  {{ end }}
              {{ if eq .Type " tags" }} selected {{ end }}"
       href="{{ absURL .url }}">
      {{ .name}}
    </a>
    {{ end }}
    

    既存の実装では、リンクを貼る実装が {{urls.JoinPath .Site.BaseURL url}} になってる。

    だが、上手く動作してくれなかったので {{absURL .url}} という実装にしている。

    tech Created Tue, 07 Oct 2025 00:00:00 +0900