MCPcopy Create free account
hub / github.com/docker/docker-language-server / Handle

Method Handle

internal/tliron/glsp/protocol/handler.go:96–771  ·  view source on GitHub ↗

([glsp.Handler] interface)

(context *glsp.Context)

Source from the content-addressed store, hash-verified

94
95// ([glsp.Handler] interface)
96func (self *Handler) Handle(context *glsp.Context) (r any, validMethod bool, validParams bool, err error) {
97 defer func() {
98 r := recover()
99 if r != nil {
100 recovered := self.Recover(context.Method, r)
101 if recovered != nil {
102 err = recovered
103 }
104 }
105 }()
106
107 if !self.IsInitialized() && (context.Method != MethodInitialize) {
108 return nil, true, true, errors.New("server not initialized")
109 }
110
111 switch context.Method {
112 // Base Protocol
113
114 case MethodCancelRequest:
115 if self.CancelRequest != nil {
116 validMethod = true
117 var params CancelParams
118 if err = json.Unmarshal(context.Params, &params); err == nil {
119 validParams = true
120 err = self.CancelRequest(context, &params)
121 }
122 }
123
124 case MethodProgress:
125 if self.Progress != nil {
126 validMethod = true
127 var params ProgressParams
128 if err = json.Unmarshal(context.Params, &params); err == nil {
129 validParams = true
130 err = self.Progress(context, &params)
131 }
132 }
133
134 // General Messages
135
136 case MethodInitialize:
137 if self.Initialize != nil {
138 validMethod = true
139 var params InitializeParams
140 if err = json.Unmarshal(context.Params, &params); err == nil {
141 validParams = true
142 if r, err = self.Initialize(context, &params); err == nil {
143 self.SetInitialized(true)
144 }
145 }
146 }
147
148 case MethodInitialized:
149 if self.Initialized != nil {
150 validMethod = true
151 var params InitializedParams
152 if err = json.Unmarshal(context.Params, &params); err == nil {
153 validParams = true

Callers

nothing calls this directly

Implementers 5

ConfigurationHandlere2e-tests/hover_test.go
PublishDiagnosticsHandlere2e-tests/publishDiagnostics_test.go
registerCapabilityHandlere2e-tests/initialize_test.go
Handlerinternal/tliron/glsp/protocol/handler.
AsynchronousRequestHandlerinternal/tliron/glsp/server/handler.go

Calls 15

IsInitializedMethod · 0.95
SetInitializedMethod · 0.95
InitializeMethod · 0.80
InitializedMethod · 0.80
TextDocumentDidOpenMethod · 0.80
TextDocumentDidChangeMethod · 0.80
TextDocumentDidCloseMethod · 0.80
TextDocumentHoverMethod · 0.80

Tested by

no test coverage detected