40 lines
834 B
Go

package shared
import (
"config-lsp/root-handler/utils"
protocol "github.com/tliron/glsp/protocol_3_16"
)
var Handler RootHandler
var OpenedFiles = make(map[protocol.DocumentUri]struct{})
type RootHandler struct {
languageMap map[protocol.DocumentUri]utils.SupportedLanguage
}
func NewRootHandler() RootHandler {
return RootHandler{
languageMap: make(map[protocol.DocumentUri]utils.SupportedLanguage),
}
}
func (h *RootHandler) AddDocument(uri protocol.DocumentUri, language utils.SupportedLanguage) {
h.languageMap[uri] = language
}
func (h *RootHandler) GetLanguageForDocument(uri protocol.DocumentUri) *utils.SupportedLanguage {
language, found := h.languageMap[uri]
if !found {
return nil
}
return &language
}
func (h *RootHandler) RemoveDocument(uri protocol.DocumentUri) {
delete(h.languageMap, uri)
}