mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-01 15:51:12 +00:00
basic highlighting flow using MarkupNodes
This commit is contained in:
parent
853badf777
commit
37704323b1
16 changed files with 269 additions and 301 deletions
|
@ -1,4 +1,4 @@
|
|||
use crate::{syntax_highlight::HighlightStyle};
|
||||
use crate::{syntax_highlight::HighlightStyle, slow_pool::MarkNodeId};
|
||||
|
||||
use super::{attribute::Attributes, nodes, nodes::MarkupNode};
|
||||
|
||||
|
@ -138,3 +138,11 @@ pub fn new_comments_mn(
|
|||
newlines_at_end,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn assign_mn(val_name_mn_id: MarkNodeId, equals_mn_id: MarkNodeId, expr_mark_node_id: MarkNodeId) -> MarkupNode {
|
||||
MarkupNode::Nested {
|
||||
children_ids: vec![val_name_mn_id, equals_mn_id, expr_mark_node_id],
|
||||
parent_id_opt: None,
|
||||
newlines_at_end: 3,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use crate::{
|
||||
markup::{
|
||||
common_nodes::new_blank_mn_w_nls,
|
||||
top_level_def::{tld_mark_node, tld_w_comments_mark_node}, mark_id_ast_id_map::MarkIdAstIdMap, nodes::MarkupNode,
|
||||
top_level_def::{assignment_mark_node, tld_w_comments_mark_node}, mark_id_ast_id_map::MarkIdAstIdMap, nodes::MarkupNode,
|
||||
},
|
||||
slow_pool::{MarkNodeId, SlowPool},
|
||||
};
|
||||
|
@ -59,7 +59,7 @@ pub fn def2_to_markup<'a>(
|
|||
)?;
|
||||
|
||||
let tld_mn =
|
||||
tld_mark_node(*identifier_id, expr_mn_id, ast_node_id, mark_node_pool, mark_id_ast_id_map, env)?;
|
||||
assignment_mark_node(*identifier_id, expr_mn_id, ast_node_id, mark_node_pool, mark_id_ast_id_map, env)?;
|
||||
|
||||
add_node(tld_mn, ast_node_id, mark_node_pool, mark_id_ast_id_map)
|
||||
}
|
||||
|
|
|
@ -4,3 +4,4 @@ pub mod convert;
|
|||
pub mod nodes;
|
||||
pub mod top_level_def;
|
||||
pub mod mark_id_ast_id_map;
|
||||
pub mod ast_context;
|
|
@ -14,10 +14,10 @@ use crate::{
|
|||
syntax_highlight::HighlightStyle,
|
||||
};
|
||||
|
||||
use super::{mark_id_ast_id_map::MarkIdAstIdMap, convert::from_def2::add_node};
|
||||
use super::{mark_id_ast_id_map::MarkIdAstIdMap, convert::from_def2::add_node, common_nodes::assign_mn};
|
||||
|
||||
// Top Level Defined Value. example: `main = "Hello, World!"`
|
||||
pub fn tld_mark_node<'a>(
|
||||
// represents for example: `main = "Hello, World!"`
|
||||
pub fn assignment_mark_node<'a>(
|
||||
identifier_id: IdentId,
|
||||
expr_mark_node_id: MarkNodeId,
|
||||
ast_node_id: ASTNodeId,
|
||||
|
@ -39,13 +39,7 @@ pub fn tld_mark_node<'a>(
|
|||
|
||||
let equals_mn_id = add_node(new_equals_mn(), ast_node_id, mark_node_pool, mark_id_ast_id_map);
|
||||
|
||||
let full_let_node = MarkupNode::Nested {
|
||||
children_ids: vec![val_name_mn_id, equals_mn_id, expr_mark_node_id],
|
||||
parent_id_opt: None,
|
||||
newlines_at_end: 3,
|
||||
};
|
||||
|
||||
Ok(full_let_node)
|
||||
Ok(assign_mn(val_name_mn_id, equals_mn_id, expr_mark_node_id))
|
||||
}
|
||||
|
||||
pub fn tld_w_comments_mark_node(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue