diff --git a/src/core/sv_parser.rs b/src/core/sv_parser.rs index 96f2abe..acefe27 100644 --- a/src/core/sv_parser.rs +++ b/src/core/sv_parser.rs @@ -361,7 +361,7 @@ pub fn make_fast_from_syntaxtree( // 获取 port 或者 param 的 range /// 返回的四元组:(start_line, start_character, end_line, end_character) -fn get_pp_range(doc: &Rope, node: RefNode) -> Range { +pub fn get_pp_range(doc: &Rope, node: RefNode) -> Range { if let Some(locate) = get_first_last_locate(node) { Range { start: get_position(doc, locate.0, 0), @@ -391,7 +391,7 @@ fn get_first_last_locate(node: RefNode) -> Option<(Locate, Locate)> { } } -fn get_instance_params(syntax_tree: &SyntaxTree, doc: &Rope, node: RefNode) -> Vec { +pub fn get_instance_params(syntax_tree: &SyntaxTree, doc: &Rope, node: RefNode) -> Vec { let mut parameters = Vec::new(); for list in node { @@ -456,7 +456,7 @@ fn get_instance_params(syntax_tree: &SyntaxTree, doc: &Rope, node: RefNode) -> V parameters } -fn get_instance_ports(syntax_tree: &SyntaxTree, doc: &Rope, node: RefNode) -> Vec { +pub fn get_instance_ports(syntax_tree: &SyntaxTree, doc: &Rope, node: RefNode) -> Vec { let mut ports = Vec::new(); for list in node { match unwrap_node!(list, ListOfPortConnectionsNamed, ListOfPortConnectionsOrdered, InputTerminal, OutputTerminal) { @@ -633,7 +633,7 @@ fn parse_expression(syntax_tree: &SyntaxTree, x: &sv_parser::NeedParseExpression } } -fn get_identifier(node: RefNode) -> Option { +pub fn get_identifier(node: RefNode) -> Option { // unwrap_node! can take multiple types match unwrap_node!(node, SimpleIdentifier, EscapedIdentifier, Keyword) { Some(RefNode::SimpleIdentifier(x)) => { @@ -649,7 +649,7 @@ fn get_identifier(node: RefNode) -> Option { } } -fn get_position(doc: &Rope, locate: Locate, offset: usize) -> Position { +pub fn get_position(doc: &Rope, locate: Locate, offset: usize) -> Position { let byte = locate.offset + offset; let pos = doc.byte_to_pos(byte); hdlparam::Position::from_lsp_position(&pos)