summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2023-08-11 19:04:34 +0800
committer最萌小汐 <sumneko@hotmail.com>2023-08-11 19:04:34 +0800
commit1055a8547668308633601a8b67f1a0b52075de3f (patch)
treed7b44253f9788a23c9a6ff8a1ced05dd19a71c11 /script
parented350080cfb3998fa95abb905cfa363f546e70ce (diff)
downloadlua-language-server-1055a8547668308633601a8b67f1a0b52075de3f.zip
commandline parameter `--force-accept-workspace`
resolve #2159
Diffstat (limited to 'script')
-rw-r--r--script/global.d.lua3
-rw-r--r--script/workspace/workspace.lua6
2 files changed, 7 insertions, 2 deletions
diff --git a/script/global.d.lua b/script/global.d.lua
index f84ff0e4..aedcc38c 100644
--- a/script/global.d.lua
+++ b/script/global.d.lua
@@ -77,3 +77,6 @@ jit = false
-- connect to client by socket
---@type integer
SOCKET = 0
+
+-- Allowing the use of the root directory or home directory as the workspace
+FORCE_ACCEPT_WORKSPACE = false
diff --git a/script/workspace/workspace.lua b/script/workspace/workspace.lua
index da2f9daf..97518e84 100644
--- a/script/workspace/workspace.lua
+++ b/script/workspace/workspace.lua
@@ -50,8 +50,10 @@ function m.create(uri)
m.folders[#m.folders+1] = scp
if uri == furi.encode '/'
or uri == furi.encode(os.getenv 'HOME' or '') then
- client.showMessage('Error', lang.script('WORKSPACE_NOT_ALLOWED', furi.decode(uri)))
- scp:set('bad root', true)
+ if not FORCE_ACCEPT_WORKSPACE then
+ client.showMessage('Error', lang.script('WORKSPACE_NOT_ALLOWED', furi.decode(uri)))
+ scp:set('bad root', true)
+ end
end
end