Docbook Editor Configuration: Difference between revisions
imported>Fadenb m →For Emacs: syntaxhighlight |
imported>Fadenb m whitespace removal |
||
Line 4: | Line 4: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
let | |||
pkgs = import <nixpkgs> {}; | |||
inherit (pkgs) emacsPackagesNg docbook5 writeText; | |||
schemas = writeText "schemas.xml" '' | |||
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"> | |||
<documentElement localName="section" typeId="DocBook"/> | |||
<documentElement localName="chapter" typeId="DocBook"/> | |||
<documentElement localName="article" typeId="DocBook"/> | |||
<documentElement localName="book" typeId="DocBook"/> | |||
<typeId id="DocBook" uri="${docbook5}/xml/rng/docbook/docbookxi.rnc" /> | |||
</locatingRules> | |||
''; | |||
in emacsPackagesNg.emacsWithPackages (epkgs: [ | |||
(emacsPackagesNg.trivialBuild { | |||
pname = "nix-docbook-mode"; | |||
version = "1970-01-01"; | |||
src = writeText "default.el" '' | |||
(eval-after-load 'rng-loc | |||
'(add-to-list 'rng-schema-locating-files "${schemas}")) | |||
''; | |||
}) | |||
]) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 16:08, 27 August 2017
For Emacs
The following creates an Emacs with a custom module, which configures nXML for the NixOS / Nixpkgs docbook codebase:
let
pkgs = import <nixpkgs> {};
inherit (pkgs) emacsPackagesNg docbook5 writeText;
schemas = writeText "schemas.xml" ''
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<documentElement localName="section" typeId="DocBook"/>
<documentElement localName="chapter" typeId="DocBook"/>
<documentElement localName="article" typeId="DocBook"/>
<documentElement localName="book" typeId="DocBook"/>
<typeId id="DocBook" uri="${docbook5}/xml/rng/docbook/docbookxi.rnc" />
</locatingRules>
'';
in emacsPackagesNg.emacsWithPackages (epkgs: [
(emacsPackagesNg.trivialBuild {
pname = "nix-docbook-mode";
version = "1970-01-01";
src = writeText "default.el" ''
(eval-after-load 'rng-loc
'(add-to-list 'rng-schema-locating-files "${schemas}"))
'';
})
])