commit 2a0247ee30d8af77ce2065f2e66851e6e215fcda
Author: Juergen Spitzmueller <[email protected]>
Date:   Mon Feb 10 08:35:22 2014 +0100

    Some improvements to the LFUNS generation script

diff --git a/development/tools/gen_lfuns.py b/development/tools/gen_lfuns.py
index 0bd65f7..c855b46 100755
--- a/development/tools/gen_lfuns.py
+++ b/development/tools/gen_lfuns.py
@@ -44,7 +44,7 @@ ID_DICT = dict(name=LFUN_NAME_ID, action=LFUN_ACTION_ID, 
notion=LFUN_NOTION_ID,
                 syntax=LFUN_SYNTAX_ID, params=LFUN_PARAMS_ID, 
sample=LFUN_SAMPLE_ID, origin=LFUN_ORIGIN_ID)
 
 LFUNS_HEADER = """# gen_lfuns.py generated this file. For more info see 
http://www.lyx.org/
-\\lyxformat 345
+\\lyxformat 474
 \\begin_document
 \\begin_header
 \\textclass article
@@ -59,49 +59,84 @@ LFUNS_HEADER = """# gen_lfuns.py generated this file. For 
more info see http://w
 }
 \\end_preamble
 \\use_default_options false
+\\maintain_unincluded_children false
 \\language english
+\\language_package default
 \\inputencoding auto
+\\fontencoding global
 \\font_roman default
 \\font_sans default
 \\font_typewriter default
+\\font_math auto
 \\font_default_family default
+\\use_non_tex_fonts false
 \\font_sc false
 \\font_osf false
 \\font_sf_scale 100
 \\font_tt_scale 100
-
 \\graphics default
+\\default_output_format default
+\\output_sync 0
+\\bibtex_command default
+\\index_command default
 \\paperfontsize default
 \\spacing single
 \\use_hyperref false
 \\papersize default
 \\use_geometry true
-\\use_amsmath 1
-\\use_esint 1
+\\use_package amsmath 1
+\\use_package amssymb 1
+\\use_package cancel 0
+\\use_package esint 1
+\\use_package mathdots 0
+\\use_package mathtools 0
+\\use_package mhchem 1
+\\use_package stackrel 0
+\\use_package stmaryrd 0
+\\use_package undertilde 0
 \\cite_engine basic
+\\cite_engine_type default
+\\biblio_style plain
 \\use_bibtopic false
+\\use_indices false
 \\paperorientation portrait
+\\suppress_date false
+\\justification true
+\\use_refstyle 0
+\\index Index
+\\shortcut idx
+\\color #008000
+\\end_index
 \\leftmargin 2.5cm
 \\topmargin 2cm
 \\rightmargin 3cm
-\\bottommargin 1cm
+\\bottommargin 2.5cm
 \\secnumdepth 3
 \\tocdepth 3
 \\paragraph_separation indent
-\\defskip medskip
+\\paragraph_indentation default
 \\quotes_language english
 \\papercolumns 1
 \\papersides 1
 \\paperpagestyle default
 \\tracking_changes false
 \\output_changes false
-\\author "" 
-\\author "" 
+\\html_math_output 0
+\\html_css_as_file 0
+\\html_be_strict false
 \\end_header
 
 \\begin_body
 
-\\begin_layout Section*""" + "\nLFUNs documentation automatically generated " 
+ str(date.today()) + """
+\\begin_layout Title
+LyX Functions (LFUNs)
+\\end_layout
+
+\\begin_layout Author
+The LyX Team
+\\end_layout
+
+\\begin_layout Date""" + "\n" + str(date.today()) + """
 \\end_layout
 
 \\begin_layout Standard
@@ -326,6 +361,8 @@ def main(argv):
 
     done = count = 0
 
+    lfun_list_unsorted = []
+
     while done == 0:
         # look for a doxygen comment
         start = lyxaction_text.find(DOXYGEN_START, start)
@@ -334,16 +371,22 @@ def main(argv):
         if start > 0:
             count = count + 1
             lfun = parse_lfun(lyxaction_text[start:end])
-            # write the lfun to the file
-            write_fields(lfuns_file, lfun)
-            # done adding current lfun to LFUNs.lyx so get the next one
+            # save the lfun (we sort it before writing)
+            lfun_list_unsorted.append(lfun)
+            # get the next one
             start = end
         else:
             # if no more lfuns are found, EOF reached
             done = 1
-            
-    sys.stderr.write(script_name + ": Created documentation for " + str(count) 
+ " LFUNs\n")
+
+    lfun_list = sorted(lfun_list_unsorted, key=lambda k: k['name'])
     
+    # write the lfuns to the file
+    for lf in lfun_list:
+        write_fields(lfuns_file, lf)
+
+    sys.stderr.write(script_name + ": Created documentation for " + str(count) 
+ " LFUNs\n")
+
     # write the last part of LFUNs.lyx
     lfuns_file.write(LFUNS_FOOTER)
     

Reply via email to