summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2022-02-21 15:43:48 +0800
committerGitHub <noreply@github.com>2022-02-21 15:43:48 +0800
commit604d7ff0446d2cd5a0786cb7ace95f5dfc8f41e6 (patch)
tree781792ce96653d8813a583646ad03c0b337cb834 /script
parent7baf51cb7879aa39d4d9b9911300e49ee34d3ace (diff)
parente518eed9efd99c46b79c9413c5f34a0f675ab9e6 (diff)
downloadlua-language-server-604d7ff0446d2cd5a0786cb7ace95f5dfc8f41e6.zip
Merge pull request #959 from CppCXY/master
format support default config by setting
Diffstat (limited to 'script')
-rw-r--r--script/config/config.lua2
-rw-r--r--script/provider/formatting.lua14
2 files changed, 16 insertions, 0 deletions
diff --git a/script/config/config.lua b/script/config/config.lua
index ea87893d..8c06278f 100644
--- a/script/config/config.lua
+++ b/script/config/config.lua
@@ -209,6 +209,8 @@ local Template = {
['Lua.window.statusBar'] = Type.Boolean >> true,
['Lua.window.progressBar'] = Type.Boolean >> true,
['Lua.format.enable'] = Type.Boolean >> true,
+ ['Lua.format.defaultConfig'] = Type.Hash(Type.String, Type.String)
+ >> {},
['Lua.IntelliSense.traceLocalSet'] = Type.Boolean >> false,
['Lua.IntelliSense.traceReturn'] = Type.Boolean >> false,
['Lua.IntelliSense.traceBeSetted'] = Type.Boolean >> false,
diff --git a/script/provider/formatting.lua b/script/provider/formatting.lua
index 9392259e..f73b0dc0 100644
--- a/script/provider/formatting.lua
+++ b/script/provider/formatting.lua
@@ -5,6 +5,7 @@ local fs = require 'bee.filesystem'
local fw = require 'filewatch'
local util = require 'utility'
local diagnostics = require 'provider.diagnostic'
+local config = require 'config'
local loadedUris = {}
@@ -31,10 +32,23 @@ fw.event(function (ev, path)
end
end)
+config.watch(function (uri, key, value)
+ if key == "Lua.format.defaultConfig" then
+ codeFormat.set_default_config(value)
+ end
+end)
+
local m = {}
+m.loadedDefaultConfig = false
+
---@param uri uri
function m.updateConfig(uri)
+ if not m.loadedDefaultConfig then
+ m.loadedDefaultConfig = true
+ codeFormat.set_default_config(config.get(uri, 'Lua.format.defaultConfig'))
+ end
+
local currentUri = uri
while true do
currentUri = currentUri:match('^(.+)/[^/]*$')