Docbook Editor Configuration: Difference between revisions

From NixOS Wiki
imported>Fadenb
No edit summary
imported>Fadenb
m →‎For Emacs: syntaxhighlight
Line 3: Line 3:
The following creates an Emacs with a custom module, which configures nXML for the NixOS / Nixpkgs docbook codebase:
The following creates an Emacs with a custom module, which configures nXML for the NixOS / Nixpkgs docbook codebase:


<syntaxhighlight lang="nix">
   let
   let
     pkgs = import <nixpkgs> {};
     pkgs = import <nixpkgs> {};
Line 27: Line 28:
     })
     })
   ])
   ])
</syntaxhighlight>

Revision as of 09:13, 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}"))
       '';
     })
   ])