Skip to content

Commit b3fd869

Browse files
committed
Fix issue with executable file directory hierarchy being too deep.
1 parent 888cfb1 commit b3fd869

File tree

3 files changed

+41
-13
lines changed

3 files changed

+41
-13
lines changed

.github/workflows/build.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,18 +96,18 @@ jobs:
9696
chmod +x emmylua_ls-darwin-x64/emmylua_ls
9797
chmod +x emmylua_ls-darwin-arm64/emmylua_ls
9898
99-
tar -zcvf emmylua_ls-linux-x64.tar.gz emmylua_ls-linux-x64
100-
tar -zcvf emmylua_ls-linux-x64-glibc.2.17.tar.gz emmylua_ls-linux-x64-glibc.2.17
101-
tar -zcvf emmylua_ls-linux-arm64-glibc.2.17.tar.gz emmylua_ls-linux-arm64-glibc.2.17
102-
tar -zcvf emmylua_ls-linux-musl.tar.gz emmylua_ls-linux-musl
103-
tar -zcvf emmylua_ls-linux-riscv64.tar.gz emmylua_ls-linux-riscv64
104-
tar -zcvf emmylua_ls-darwin-x64.tar.gz emmylua_ls-darwin-x64
105-
tar -zcvf emmylua_ls-darwin-arm64.tar.gz emmylua_ls-darwin-arm64
99+
tar -zcvf emmylua_ls-linux-x64.tar.gz -C emmylua_ls-linux-x64 emmylua_ls
100+
tar -zcvf emmylua_ls-linux-x64-glibc.2.17.tar.gz -C emmylua_ls-linux-x64-glibc.2.17 emmylua_ls
101+
tar -zcvf emmylua_ls-linux-aarch64-glibc.2.17.tar.gz -C emmylua_ls-linux-arm64-glibc.2.17 emmylua_ls
102+
tar -zcvf emmylua_ls-linux-musl.tar.gz -C emmylua_ls-linux-musl emmylua_ls
103+
tar -zcvf emmylua_ls-linux-riscv64.tar.gz -C emmylua_ls-linux-riscv64 emmylua_ls
104+
tar -zcvf emmylua_ls-darwin-x64.tar.gz -C emmylua_ls-darwin-x64 emmylua_ls
105+
tar -zcvf emmylua_ls-darwin-arm64.tar.gz -C emmylua_ls-darwin-arm64 emmylua_ls
106106
- name: windows compress
107107
run: |
108-
7z a emmylua_ls-win32-x64.zip emmylua_ls-win32-x64
109-
7z a emmylua_ls-win32-ia32.zip emmylua_ls-win32-ia32
110-
7z a emmylua_ls-win32-arm64.zip emmylua_ls-win32-arm64
108+
7z a emmylua_ls-win32-x64.zip -wemmylua_ls-win32-x64 emmylua_ls.exe
109+
7z a emmylua_ls-win32-ia32.zip -wemmylua_ls-win32-ia32 emmylua_ls.exe
110+
7z a emmylua_ls-win32-arm64.zip -wemmylua_ls-win32-arm64 emmylua_ls.exe
111111
- name: Release
112112
uses: softprops/action-gh-release@v2
113113
with:

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# CHANGELOG
22

3-
# 0.4.5(unreleased)
3+
# 0.4.7(unreleased)
4+
5+
# 0.4.6
6+
7+
`FIX` Fix issue with executable file directory hierarchy being too deep.
8+
9+
# 0.4.5
410

511
`FIX` Fix generic table infer issue
612

crates/emmylua_ls/src/handlers/completion/providers/type_special_provider.rs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ fn dispatch_type(
4040
}
4141
LuaType::DocFunction(func) => {
4242
add_lambda_completion(builder, &func);
43+
},
44+
LuaType::DocStringConst(key) => {
45+
add_string_completion(builder, key.as_str());
4346
}
4447
_ => {}
4548
}
@@ -141,6 +144,17 @@ fn add_union_member_completion(
141144
Some(())
142145
}
143146

147+
fn add_string_completion(builder: &mut CompletionBuilder, str: &str) -> Option<()> {
148+
let completion_item = CompletionItem {
149+
label: to_enum_label(builder, str),
150+
kind: Some(lsp_types::CompletionItemKind::ENUM_MEMBER),
151+
..Default::default()
152+
};
153+
154+
builder.add_completion_item(completion_item);
155+
Some(())
156+
}
157+
144158
fn get_token_should_type(builder: &mut CompletionBuilder) -> Option<LuaType> {
145159
let token = builder.trigger_token.clone();
146160
let mut parent_node = token.parent()?;
@@ -167,11 +181,19 @@ fn infer_call_arg_list(
167181
token: LuaSyntaxToken,
168182
) -> Option<LuaType> {
169183
let call_expr = call_arg_list.get_parent::<LuaCallExpr>()?;
170-
let param_idx = get_current_param_index(&call_expr, &token)?;
184+
let mut param_idx = get_current_param_index(&call_expr, &token)?;
171185
let call_expr_func = builder
172186
.semantic_model
173187
.infer_call_expr_func(call_expr.clone(), Some(param_idx + 1))?;
174-
188+
let colon_call = call_expr.is_colon_call();
189+
let colon_define = call_expr_func.is_colon_define();
190+
match (colon_call, colon_define) {
191+
(true, true) | (false, false) => {}
192+
(false, true) => {}
193+
(true, false) => {
194+
param_idx += 1;
195+
}
196+
}
175197
let typ = call_expr_func.get_params().get(param_idx)?.1.clone()?;
176198
Some(typ)
177199
}

0 commit comments

Comments
 (0)