Coqide 8.5:Linux 上没有语法高亮显示
Coqide 8.5: No syntax highlighting on Linux
我安装了带 nix
的 Coqide 8.5。不幸的是,所有面板中的文本都是黑色的;没有任何类型的语法高亮显示(否则,8.5 似乎比我也安装的 8.4 有很大改进)。我还得到以下信息:
(coqide:17272): GtkSourceView-WARNING **: Unknown parent scheme 'classic' in scheme 'coq_style'
(coqide:17272): GtkSourceView-WARNING **: Failed to load '/nix/store/2sxcqfc4q3ls4g2q13n1zwfhnydvgq-coq-8.5pl1/share/coq/coq.lang': could not find the RelaxNG schema file
cat ~/.nix-profile/share/coq/coq_style.xml
的输出:
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme id="coq_style" _name="Coq highlighting based on Ssr manual"
parent-scheme="classic" version="1.0">
<author>The Coq Dev Team</author>
<_description>Coq/Ssreflect color scheme for the vernacular language</_description>
<style name="coq:comment" foreground="#brown"/>
<style name="coq:coqdoc" foreground="#brown" italic="true"/>
<style name="coq:vernac-keyword" bold="true" foreground="#dark violet"/>
<style name="coq:gallina-keyword" bold="true" foreground="#orange red"/>
<style name="coq:identifier" foreground="#navy"/>
<style name="coq:constr-keyword" foreground="#dark green"/>
<style name="coq:constr-sort" foreground="#008080"/>
<style name="coq-ssreflect:comment" foreground="#b22222"/>
<style name="coq-ssreflect:coqdoc" foreground="#b22222" italic="true"/>
<style name="coq-ssreflect:vernac-keyword" bold="true" foreground="#a021f0"/>
<style name="coq-ssreflect:gallina-keyword" bold="true" foreground="#a021f0"/>
<style name="coq-ssreflect:identifier" bold="true" foreground="#0000ff"/>
<style name="coq-ssreflect:constr-keyword" foreground="#228b22"/>
<style name="coq-ssreflect:constr-sort" foreground="#228b22"/>
<style name="coq-ssreflect:tactic" foreground="#101092"/>
<style name="coq-ssreflect:endtactic" foreground="#ff3f3f"/>
<style name="coq-ssreflect:iterator" foreground="#be6ad4"/>
<style name="coq-ssreflect:string" foreground="#8b2252"/>
</style-scheme>
鉴于第一个警告,我想应该有其他东西而不是 "classic"
但是什么
我安装了 libgtksourceview3.0-common
,但 CoqIDE 依赖于 libgtksourceview2.0-common
。安装后者修复它
我只是 运行 通过 nix
(在 coq-8.6
包中)安装 coqide
遇到了同样的问题。
这是一个脚本,它可以将符号链接安装到主目录中的某些文件,以解决多个警告消息:
## Find the nix-installed version of the GTK SourceView 2.0 library
sourceview="$(nix-env -q coq --no-name --out-path |
xargs nix-store -q --references |
grep -- -gtksourceview-)"
## Link files into the correct hierarchical folders in your home dir:
share=share/gtksourceview-2.0
for file in language-specs/language2.rng \
language-specs/def.lang \
styles/classic.xml
do
target="$HOME/.local/$share/$file"
mkdir -vp "$(dirname "$target")"
ln -vfns "$sourceview/$share/$file" "$target"
done
这修复了以下 GtkSourceView-WARNING
s:
## fixed by language-specs/language2.rng
Failed to load '.../share/coq/coq.lang': could not find the RelaxNG schema file
## fixed by language-specs/def.lang
in file .../share/coq/coq.lang: style 'def:comment' not defined
Failed to load '.../share/coq/coq.lang': unable to resolve language 'def'
## fixed by styles/classic.xml
Unknown parent scheme 'classic' in scheme 'coq_style'
我可能会尝试在某个时候修复 coq
推导以避免需要此解决方法。我怀疑需要完成以下一项或两项工作:
- 修复
coq
设置 GTK SourceView 搜索路径的方式(因为它包含语言定义)
- 修复
gnome2.gtksourceview
导出其搜索路径以供其他程序使用的方式
我安装了带 nix
的 Coqide 8.5。不幸的是,所有面板中的文本都是黑色的;没有任何类型的语法高亮显示(否则,8.5 似乎比我也安装的 8.4 有很大改进)。我还得到以下信息:
(coqide:17272): GtkSourceView-WARNING **: Unknown parent scheme 'classic' in scheme 'coq_style'
(coqide:17272): GtkSourceView-WARNING **: Failed to load '/nix/store/2sxcqfc4q3ls4g2q13n1zwfhnydvgq-coq-8.5pl1/share/coq/coq.lang': could not find the RelaxNG schema file
cat ~/.nix-profile/share/coq/coq_style.xml
的输出:
<?xml version="1.0" encoding="UTF-8"?>
<style-scheme id="coq_style" _name="Coq highlighting based on Ssr manual"
parent-scheme="classic" version="1.0">
<author>The Coq Dev Team</author>
<_description>Coq/Ssreflect color scheme for the vernacular language</_description>
<style name="coq:comment" foreground="#brown"/>
<style name="coq:coqdoc" foreground="#brown" italic="true"/>
<style name="coq:vernac-keyword" bold="true" foreground="#dark violet"/>
<style name="coq:gallina-keyword" bold="true" foreground="#orange red"/>
<style name="coq:identifier" foreground="#navy"/>
<style name="coq:constr-keyword" foreground="#dark green"/>
<style name="coq:constr-sort" foreground="#008080"/>
<style name="coq-ssreflect:comment" foreground="#b22222"/>
<style name="coq-ssreflect:coqdoc" foreground="#b22222" italic="true"/>
<style name="coq-ssreflect:vernac-keyword" bold="true" foreground="#a021f0"/>
<style name="coq-ssreflect:gallina-keyword" bold="true" foreground="#a021f0"/>
<style name="coq-ssreflect:identifier" bold="true" foreground="#0000ff"/>
<style name="coq-ssreflect:constr-keyword" foreground="#228b22"/>
<style name="coq-ssreflect:constr-sort" foreground="#228b22"/>
<style name="coq-ssreflect:tactic" foreground="#101092"/>
<style name="coq-ssreflect:endtactic" foreground="#ff3f3f"/>
<style name="coq-ssreflect:iterator" foreground="#be6ad4"/>
<style name="coq-ssreflect:string" foreground="#8b2252"/>
</style-scheme>
鉴于第一个警告,我想应该有其他东西而不是 "classic"
但是什么
我安装了 libgtksourceview3.0-common
,但 CoqIDE 依赖于 libgtksourceview2.0-common
。安装后者修复它
我只是 运行 通过 nix
(在 coq-8.6
包中)安装 coqide
遇到了同样的问题。
这是一个脚本,它可以将符号链接安装到主目录中的某些文件,以解决多个警告消息:
## Find the nix-installed version of the GTK SourceView 2.0 library
sourceview="$(nix-env -q coq --no-name --out-path |
xargs nix-store -q --references |
grep -- -gtksourceview-)"
## Link files into the correct hierarchical folders in your home dir:
share=share/gtksourceview-2.0
for file in language-specs/language2.rng \
language-specs/def.lang \
styles/classic.xml
do
target="$HOME/.local/$share/$file"
mkdir -vp "$(dirname "$target")"
ln -vfns "$sourceview/$share/$file" "$target"
done
这修复了以下 GtkSourceView-WARNING
s:
## fixed by language-specs/language2.rng
Failed to load '.../share/coq/coq.lang': could not find the RelaxNG schema file
## fixed by language-specs/def.lang
in file .../share/coq/coq.lang: style 'def:comment' not defined
Failed to load '.../share/coq/coq.lang': unable to resolve language 'def'
## fixed by styles/classic.xml
Unknown parent scheme 'classic' in scheme 'coq_style'
我可能会尝试在某个时候修复 coq
推导以避免需要此解决方法。我怀疑需要完成以下一项或两项工作:
- 修复
coq
设置 GTK SourceView 搜索路径的方式(因为它包含语言定义) - 修复
gnome2.gtksourceview
导出其搜索路径以供其他程序使用的方式