nixos/lua-lsp/script/provider/spell.lua

54 lines
1.4 KiB
Lua

local suc, codeFormat = pcall(require, 'code_format')
if not suc then
return
end
local fs = require 'bee.filesystem'
local config = require 'config'
local diagnostics = require 'provider.diagnostic'
local pformatting = require 'provider.formatting'
local util = require 'utility'
local m = {}
function m.loadDictionaryFromFile(filePath)
return codeFormat.spell_load_dictionary_from_path(filePath)
end
function m.loadDictionaryFromBuffer(buffer)
return codeFormat.spell_load_dictionary_from_buffer(buffer)
end
function m.addWord(word)
return codeFormat.spell_load_dictionary_from_buffer(word)
end
function m.spellCheck(uri, text)
if not m._dictionaryLoaded then
m.initDictionary()
m._dictionaryLoaded = true
end
local tempDict = config.get(uri, 'Lua.spell.dict')
return codeFormat.spell_analysis(uri, text, tempDict)
end
function m.getSpellSuggest(word)
local status, result = codeFormat.spell_suggest(word)
if status then
return result
end
end
function m.initDictionary()
local basicDictionary = fs.path(METAPATH) / "spell/dictionary.txt"
local luaDictionary = fs.path(METAPATH) / "spell/lua_dict.txt"
m.loadDictionaryFromFile(basicDictionary:string())
m.loadDictionaryFromFile(luaDictionary:string())
pformatting.updateNonStandardSymbols(config.get(nil, "Lua.runtime.nonstandardSymbol"))
end
return m