以“##”开头的 Markdown 文件会让 KDE 感到困惑

以“##”开头的 Markdown 文件会让 KDE 感到困惑

我在 Arch Linux 中使用 KDE 时遇到了一个不寻常的问题。具体来说,Dolphin 会将.md文件扩展名为 MATLAB 的文件检测为 Markdown 文件,但只有当文件的前两个字符是 MATLAB 时才会检测到##(是的,确实如此)。

以下是我从 shell 进行的一个简单测试:

[jason@jasons-laptop Desktop]$ xdg-mime query filetype test-1.md
text/x-matlab
[jason@jasons-laptop Desktop]$ cat test-1.md
## test
[jason@jasons-laptop Desktop]$ xdg-mime query filetype test-2.md
text/markdown
[jason@jasons-laptop Desktop]$ cat test-2.md
Test

有谁知道是什么导致了这个错误,或者如何修复它?我试过使用update-mime-database,但似乎没有帮助。我会考虑提交错误报告,但我不太确定哪个程序应该负责。

答案1

我找到了答案!我必须将以下几行添加到~/.local/share/mime/packages/Override.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mime-info>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
        <mime-type type="text/markdown">
                <magic priority="50"><match value="##" type="string" offset="0"/></magic>
        </mime-type>
</mime-info>

然后运行update-mime-database /home/[username]/.local/share/mime

我仍然不太清楚为什么##文件默认被检测为 MATLAB。

相关内容