Add Roblox .rbxmx as XML#8032
Conversation
.rbxmx (Roblox model) and .rbxlx (Roblox place) are Roblox Studio's XML-based serialization formats. Both are well-formed XML documents rooted in a <roblox> element. This adds the two extensions to the XML language entry and includes a real-world sample for each. Closes github-linguist#7928
Alhadis
left a comment
There was a problem hiding this comment.
Usage for the .rbxlx extension is too thin to be eligible for addition; there's currently only 108 such files indexed on GitHub. The .rbxmx extension, OTOH, clearly checks out (~46.2k search results for that extension).
In addition, the size of the samples you've added are, uh, kind of huge (and they'll slow the classifier down needlessly). Could you cull the .rbxmx sample down to, say, ~100 lines or so? (Making sure the source remains well-formed XML, though).
You'll also need to remove the .rbxlx extension from this PR (and thus also its sample), owing to the scant in-the-wild usage.
Both are well-formed XML documents
😉 Technically, a well-formed XML document includes an XML declaration (<?xml version="1.0"?>), which incidentally is the reason these files aren't being recognised by Linguist's [XML header] strategy.
Per review feedback on github-linguist#8032: - Remove the .rbxlx extension (and its sample) due to thin in-the-wild usage (~108 indexed files), keeping only .rbxmx (~46.2k). - Trim the roblox-model.rbxmx sample from 246 to 82 lines so it no longer slows the classifier, keeping the source well-formed XML.
|
Pushed
Good call on the XML-declaration point — and that is precisely why the extension mapping is needed here: Roblox Studio writes these files without an |
Add
.rbxmxand.rbxlxto the XML language.Description
.rbxmx(Roblox model) and.rbxlx(Roblox place) are the XML-based serialization formats produced by Roblox Studio and the wider Roblox tooling ecosystem (Rojo, etc.). Both are well-formed XML documents rooted in a<roblox …>element with anxsi:noNamespaceSchemaLocationpointing atroblox.xsd, so they classify naturally as XML.This PR:
.rbxlxand.rbxmxto theXMLentry inlanguages.yml, kept in case-sensitive alphabetical order (between.qhelpand.rdf).Neither extension is currently associated with any other language, so no heuristic is required.
Resolves #7928.
Checklist:
samples/XML/roblox-model.rbxmx— from rojo-rbx/rbx-test-filesmodels/three-unique-parts/xml.rbxmxsamples/XML/roblox-baseplate.rbxlx— from rojo-rbx/rbx-test-filesplaces/baseplate-413/xml.rbxlx