2023-01-01から1年間の記事一覧

markdown-modeに VSCodeっぽい画像貼り付け機能を実装した

github.com Emacs 29に yank-media という機能が追加されて clipboardにあるデータを各モードで自由にハンドリングできるようになった. VSCodeで markdownを書いているときに画像をペーストすると inline linkが挿入されますが、それと同じようなことができ…

Ubuntu 22.04の設定メモ

syohex.hatenablog.com PC買ったので設定に関するメモ. 最近デフォルト信仰なので昔ほど凝ったことはせず最低限使えるようにするメモ Gnome Extension Auto select headset 有線ヘッドフォンなどを使ったときいちいちどのデバイスを使うのか問われるのがうざ…

System76 Lemur Proを買った

syohex.hatenablog.com 使っていた PCを処分することに伴い新しい PCを買った. 大学生のときに先輩に勧められて以来 ThinkPadを使っていたけど, 最近の ThinkPadカスタマイズの幅が昔ほど広くないし, たまには違うのを買ってみるかということで Lemur Proを…

ThinkPad T490を処分した

4年ほど酷使していたのだけど, 最近ディスクエラーが増えまくって強制終了せざるを得ないことが増えてきたので新しいラップトップを買った. それにともない不要になった ThinkPad T490を処分することにしたのでその記録. ディスクの消去 scrapbox.io 自分で…

eglotで一部 LSPの機能を無効化する

たまに Emacsでコード書いているときに, eglotが自動フォーマットするのがうざいとので方法を調べた。基本はフォーマッタ使って整形しているのでエディタで意図せぬタイミングで整形をされるとイラッとするので、無効化しておいた。 (setq eglot-ignored-ser…

zshでポータブルな statコマンドを使う

zsh

ほとんどの人は知る必要はないと思いますが、zshの補完を書いていて環境に応じて statコマンドでファイル更新日時を取得する必要があったのですが, GNU系と BSD系でコマンド体系が違うくて何かいい方法がないかと調べたところ zshの stat moduleを使えばいい…

ウインドウサイズが小さすぎると VSCodeで F#コードを REPLに送るとエラーが出る

ただのメモです. VSCodeで F#を書いていて, FSI: Send File などのコードを REPLに送って評価する処理がこのエラーで全然機能しないことがあって原因も全然わかっていなかったんですけど, VScodeのウインドウサイズが小さすぎると出てしまうみたいで, ウイン…

html/templateで key=val を出力する際は template.HTMLAttr型を使う

すごい久しぶりに goコードを書いたらいろいろと忘れていたのでメモ templateに任意の属性を出力するようなコードを書きたかったが, package main import ( "html/template" "log" "os" ) var htmlTemplate = ` <p {{.Attr}}> ` type Data struct { Attr string } func ma</p>…

use-packageで :vcキーワードが使えるようになった

github.com 開発版だけど, use-packageで :vc キーワードがサポートされ標準のパッケージマネージャだけでも gitなどで管理されているパッケージも管理できるようになった. この機能がなかったため, やむおえず ここに書いたような設定を追加していたが:vc …

Ubuntu 23.04にアップデートしたら clangdが動かなくなった問題の対応

先日 Ubuntu 23.04にアップデートしたら clangdが動かなくなり, Emacsの eglotや VScodeの C++の補完等が一切効かなくなってしまった. その修正方法のメモ. 問題 clang, clang++が標準ヘッダファイルを見つけることができずファイルを解析できなくなってしま…

el-getから package.el + use-packageに移行した

Emacsをあまりヘビーに使っていないし、できれば標準のものだけで済ませたいと思ってパッケージマネージャを el-getから標準ツールに移行した。前から考えていたんだけど、MELPAなどに登録されていないパッケージをいくつか使っていてそれで el-get使ってい…

2023 パズル in F#

他の人の回答などを見ずに愚直に解いてみたが全部を算出しようとすると遅すぎた. type Opcode = | Add | Sub | Mul | Div type Operand = | Opcode of Opcode | Number of int let calculateRpnExpression (exp: Operand list) : Option<int> = let rec calculate</int>…

Ubuntu 22.10に handbrakeをflatpakで インストールする

大昔の DVD整理を今更やろうとして bandbrakeをインストールしようとしたが, apt版だと SEGVが出てしまい使えなかったので flatpakで最新版を入れる必要があった. flatpakを使ったことがなかったのでそのメモ flatpakのインストール sudo apt install flatpa…