Source

glLoadGen / LoadGen.lua

Diff from to

LoadGen.lua

 FixupPath = SysRelPath --Older name.
 
 local opts = require "GetOptions"
-local gen = require "Generate"
+local Specs = require "Specs"
+local Styles = require "Styles"
+local LoadSpec = require "LoadLuaSpec"
+local util = require "util"
 
+--Get the options.
 local status, options = pcall(opts.GetOptions, arg)
 
 if(not status) then
 	return
 end
 
-gen.Generate(options)
+--Load the spec data.
+local spec = Specs.GetSpec(options.spec)
+local specData = spec.LoadSpec()
 
+--Verify that every extension in `options.extensions` is a real extension.
+local badExts = {}
+for _, extName in ipairs(options.extensions) do
+	if(not specData.extdefs[extName]) then
+		badExts[#badExts + 1] = extName
+	end
+end
 
+if(#badExts > 0) then
+	io.stdout:write("The following extensions are not in the spec ", options.spec, ":\n")
+	for _, extName in ipairs(badExts) do
+		io.stdout:write("\t", extName, "\n")
+	end
+	return
+end
+
+--Extract the path and base-filename from the filename.
+local simplename, dir = util.ParsePath(options.outname)
+dir = dir or "./"
+
+assert(simplename,
+	"There is no filename in the path '" .. options.outname .. "'")
+
+local style, structure = Styles.GetStyle(options.style)
+
+--Compute the filename, minus style-specific suffix.
+local basename = dir .. spec:FilePrefix() .. simplename
+
+structure.Proc(basename, style, specData, spec, options)
+
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.