diff options
-rw-r--r-- | server/src/config.lua | 4 | ||||
-rw-r--r-- | server/src/service.lua | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/server/src/config.lua b/server/src/config.lua index 5272a964..2c04858f 100644 --- a/server/src/config.lua +++ b/server/src/config.lua @@ -133,6 +133,8 @@ local function setConfig(self, config, other) local suc, v = info[2](v) if suc then Config[c][k] = v + else + Config[c][k] = info[1] end end end @@ -141,6 +143,8 @@ local function setConfig(self, config, other) local suc, v = info[2](v) if suc then Other[k] = v + else + Other[k] = info[1] end end log.debug('Config update: ', table.dump(Config), table.dump(Other)) diff --git a/server/src/service.lua b/server/src/service.lua index b7290329..0a1b27aa 100644 --- a/server/src/service.lua +++ b/server/src/service.lua @@ -674,8 +674,10 @@ end function mt:onUpdateConfig(updated, other) local oldConfig = table.deepCopy(config.config) + local oldOther = table.deepCopy(config.other) config:setConfig(updated, other) local newConfig = config.config + local newOther = config.other if not table.equal(oldConfig.runtime, newConfig.runtime) then local library = require 'core.library' library.reload() @@ -685,7 +687,9 @@ function mt:onUpdateConfig(updated, other) log.debug('reDiagnostic') self:reDiagnostic() end - if not table.equal(oldConfig.workspace, newConfig.workspace) then + if not table.equal(oldConfig.workspace, newConfig.workspace) + or not table.equal(oldOther.associations, newOther.associations) + then self:clearAllFiles() if self.workspace then self.workspace:scanFiles() |