Add line numbers to file paths in the website editor structure docs (#3130)

* added the line number to existing path

* Update JS parser to use line numbers

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Mohd Mohsin
2026-02-16 05:29:27 +05:30
committed by GitHub
parent 82f7dc7062
commit b697cc8131
7 changed files with 51 additions and 14 deletions

View File

@@ -6,7 +6,7 @@ fn main() {
let result = Message::message_tree();
std::fs::create_dir_all("../../website/generated").unwrap();
let mut file = std::fs::File::create("../../website/generated/hierarchical_message_system_tree.txt").unwrap();
file.write_all(format!("{} `{}`\n", result.name(), result.path()).as_bytes()).unwrap();
file.write_all(format!("{} `{}#L{}`\n", result.name(), result.path(), result.line_number()).as_bytes()).unwrap();
if let Some(variants) = result.variants() {
for (i, variant) in variants.iter().enumerate() {
let is_last = i == variants.len() - 1;
@@ -28,7 +28,8 @@ fn print_tree_node(tree: &DebugMessageTree, prefix: &str, is_last: bool, file: &
if tree.path().is_empty() {
file.write_all(format!("{}{}{}\n", prefix, branch, tree.name()).as_bytes()).unwrap();
} else {
file.write_all(format!("{}{}{} `{}`\n", prefix, branch, tree.name(), tree.path()).as_bytes()).unwrap();
file.write_all(format!("{}{}{} `{}#L{}`\n", prefix, branch, tree.name(), tree.path(), tree.line_number()).as_bytes())
.unwrap();
}
// Print children if any
@@ -64,7 +65,8 @@ fn print_tree_node(tree: &DebugMessageTree, prefix: &str, is_last: bool, file: &
if data.name().is_empty() && tree.name() != FRONTEND_MESSAGE_STR {
panic!("{}'s MessageHandler is missing #[message_handler_data]", tree.name());
} else if tree.name() != FRONTEND_MESSAGE_STR {
file.write_all(format!("{}{}{} `{}`\n", prefix, branch, data.name(), data.path()).as_bytes()).unwrap();
file.write_all(format!("{}{}{} `{}#L{}`\n", prefix, branch, data.name(), data.path(), data.line_number()).as_bytes())
.unwrap();
for (i, field) in data.fields().iter().enumerate() {
let is_last_field = i == len - 1;
@@ -81,7 +83,8 @@ fn print_tree_node(tree: &DebugMessageTree, prefix: &str, is_last: bool, file: &
if data.path().is_empty() {
file.write_all(format!("{}{}{}\n", prefix, "└── ", data.name()).as_bytes()).unwrap();
} else {
file.write_all(format!("{}{}{} `{}`\n", prefix, "└── ", data.name(), data.path()).as_bytes()).unwrap();
file.write_all(format!("{}{}{} `{}#L{}`\n", prefix, "└── ", data.name(), data.path(), data.line_number()).as_bytes())
.unwrap();
}
for (i, field) in data.fields().iter().enumerate() {
let is_last_field = i == len - 1;