fix dot completion range
This commit is contained in:
parent
cdcea82947
commit
dbac4132d0
@ -162,10 +162,8 @@ fn get_position_port_param_completion(
|
||||
// 在当前文件的 fast 中寻找
|
||||
for module in &hdl_file.fast.content {
|
||||
for instance in &module.instances {
|
||||
if let Some(param_range) = &instance.instparams {
|
||||
let mut param_range = param_range.clone();
|
||||
param_range.affine(-1, -1);
|
||||
if param_range.contains(pos) {
|
||||
if let Some(_) = &instance.instparams {
|
||||
if instance.gen_dot_completion_param_range().contains(pos) {
|
||||
// 补全当前 module 的所有 param
|
||||
let inst_module = hdl_param.find_module_by_name(&instance.inst_type);
|
||||
if inst_module.is_some() {
|
||||
@ -208,10 +206,10 @@ fn get_position_port_param_completion(
|
||||
..CompletionItemLabelDetails::default()
|
||||
};
|
||||
|
||||
let param_desc = make_port_desc(&port);
|
||||
let port_desc = make_port_desc(&port);
|
||||
let c_item = CompletionItem {
|
||||
label: port.name,
|
||||
detail: Some(param_desc),
|
||||
detail: Some(port_desc),
|
||||
label_details: Some(label_details),
|
||||
kind: Some(CompletionItemKind::PROPERTY),
|
||||
..CompletionItem::default()
|
||||
|
@ -224,8 +224,8 @@ impl Instance {
|
||||
new_port_range.start.line = param_range.end.line - 1;
|
||||
new_port_range.start.character = param_range.end.character;
|
||||
} else {
|
||||
new_port_range.start.line = self.range.end.line;
|
||||
new_port_range.start.character = self.range.end.character + 1;
|
||||
new_port_range.start.line = self.range.start.line;
|
||||
new_port_range.start.character = self.range.start.character + 1;
|
||||
}
|
||||
|
||||
new_port_range.end.line += 1;
|
||||
@ -241,8 +241,8 @@ impl Instance {
|
||||
// TODO: 精心调制这个方法
|
||||
if let Some(param_range) = &self.instparams {
|
||||
let mut new_param_range = param_range.clone();
|
||||
new_param_range.start.line = self.range.end.line;
|
||||
new_param_range.start.character = self.range.end.character;
|
||||
new_param_range.start.line = self.range.start.line;
|
||||
new_param_range.start.character = self.range.start.character + 1;
|
||||
new_param_range.end.line += 1;
|
||||
return new_param_range;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user