Skip to content

Commit ebcfb4e

Browse files
Copilotbaronfel
andcommitted
Rebase on latest main and fix code formatting with fantomas
Co-authored-by: baronfel <[email protected]>
1 parent 0996831 commit ebcfb4e

File tree

7 files changed

+218
-203
lines changed

7 files changed

+218
-203
lines changed

src/FsAutoComplete.BuildServer/JsonRpcServer.fs

Lines changed: 92 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -19,72 +19,77 @@ module JsonRpcServer =
1919
type RequestHandler = JsonRpcRequest -> Task<JsonRpcResponse>
2020
type NotificationHandler = JsonRpcNotification -> Task<unit>
2121

22-
let private jsonSettings =
22+
let private jsonSettings =
2323
JsonSerializerSettings(
2424
NullValueHandling = NullValueHandling.Ignore,
25-
DefaultValueHandling = DefaultValueHandling.Ignore)
25+
DefaultValueHandling = DefaultValueHandling.Ignore
26+
)
2627

27-
let private serialize obj =
28-
JsonConvert.SerializeObject(obj, jsonSettings)
28+
let private serialize obj = JsonConvert.SerializeObject(obj, jsonSettings)
2929

30-
let private deserialize<'T> (json: string) =
31-
JsonConvert.DeserializeObject<'T>(json, jsonSettings)
30+
let private deserialize<'T> (json: string) = JsonConvert.DeserializeObject<'T>(json, jsonSettings)
3231

33-
let private tryDeserialize<'T> (token: JToken) =
32+
let private tryDeserialize<'T> (token: JToken) =
3433
try
35-
Some (token.ToObject<'T>())
36-
with
37-
| _ -> None
34+
Some(token.ToObject<'T>())
35+
with _ ->
36+
None
3837

3938
/// Create a successful response
4039
let private createSuccessResponse (id: JToken option) (result: obj) =
4140
{ Id = id
42-
Result = Some (JToken.FromObject(result))
41+
Result = Some(JToken.FromObject(result))
4342
Error = None }
4443

4544
/// Create an error response
4645
let private createErrorResponse (id: JToken option) (code: int) (message: string) =
4746
{ Id = id
4847
Result = None
49-
Error = Some { Code = code; Message = message; Data = None } }
48+
Error =
49+
Some
50+
{ Code = code
51+
Message = message
52+
Data = None } }
5053

5154
/// Handle BSP requests
5255
let private handleBspRequest (request: JsonRpcRequest) : Task<JsonRpcResponse> =
5356
task {
5457
try
55-
logger.info (Log.setMessage "Handling BSP request: {method}" >> Log.addContext "method" request.Method)
58+
logger.info (
59+
Log.setMessage "Handling BSP request: {method}"
60+
>> Log.addContext "method" request.Method
61+
)
5662

5763
match request.Method with
5864
| "build/initialize" ->
59-
let! result = initializeWorkspace()
65+
let! result = initializeWorkspace ()
66+
6067
match result with
61-
| Result.Ok () ->
62-
let capabilities = {
63-
CompileProvider = Some true
64-
TestProvider = None
65-
RunProvider = None
66-
DebugProvider = None
67-
InverseSourcesProvider = None
68-
DependencySourcesProvider = None
69-
DependencyModulesProvider = None
70-
ResourcesProvider = None
71-
OutputPathsProvider = None
72-
BuildTargetChangedProvider = None
73-
JvmRunEnvironmentProvider = None
74-
JvmTestEnvironmentProvider = None
75-
CanReload = Some true
76-
}
68+
| Result.Ok() ->
69+
let capabilities =
70+
{ CompileProvider = Some true
71+
TestProvider = None
72+
RunProvider = None
73+
DebugProvider = None
74+
InverseSourcesProvider = None
75+
DependencySourcesProvider = None
76+
DependencyModulesProvider = None
77+
ResourcesProvider = None
78+
OutputPathsProvider = None
79+
BuildTargetChangedProvider = None
80+
JvmRunEnvironmentProvider = None
81+
JvmTestEnvironmentProvider = None
82+
CanReload = Some true }
83+
7784
return createSuccessResponse (Some request.Id) capabilities
78-
| Result.Error msg ->
79-
return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
85+
| Result.Error msg -> return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
8086

8187
| "build/shutdown" ->
82-
let! result = shutdown()
88+
let! result = shutdown ()
89+
8390
match result with
84-
| Result.Ok () ->
85-
return createSuccessResponse (Some request.Id) ()
86-
| Result.Error msg ->
87-
return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
91+
| Result.Ok() -> return createSuccessResponse (Some request.Id) ()
92+
| Result.Error msg -> return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
8893

8994
| "workspace/buildTargets" ->
9095
// Return empty build targets for now
@@ -97,11 +102,10 @@ module JsonRpcServer =
97102
match tryDeserialize<WorkspacePeekRequest> parameters with
98103
| Some peekRequest ->
99104
let! result = peekWorkspace peekRequest
105+
100106
match result with
101-
| Result.Ok response ->
102-
return createSuccessResponse (Some request.Id) response
103-
| Result.Error msg ->
104-
return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
107+
| Result.Ok response -> return createSuccessResponse (Some request.Id) response
108+
| Result.Error msg -> return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
105109
| None ->
106110
return createErrorResponse (Some request.Id) ErrorCodes.InvalidParams "Invalid workspace peek parameters"
107111
| None ->
@@ -112,93 +116,109 @@ module JsonRpcServer =
112116
| Some parameters ->
113117
match tryDeserialize<WorkspaceLoadRequest> parameters with
114118
| Some loadRequest ->
115-
let! result = loadWorkspace loadRequest
119+
let! result = loadWorkspace loadRequest
120+
116121
match result with
117-
| Result.Ok response ->
118-
return createSuccessResponse (Some request.Id) response
119-
| Result.Error msg ->
120-
return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
122+
| Result.Ok response -> return createSuccessResponse (Some request.Id) response
123+
| Result.Error msg -> return createErrorResponse (Some request.Id) ErrorCodes.InternalError msg
121124
| None ->
122125
return createErrorResponse (Some request.Id) ErrorCodes.InvalidParams "Invalid workspace load parameters"
123126
| None ->
124127
return createErrorResponse (Some request.Id) ErrorCodes.InvalidParams "Missing workspace load parameters"
125128

126129
| _ ->
127-
logger.warn (Log.setMessage "Unknown method: {method}" >> Log.addContext "method" request.Method)
130+
logger.warn (
131+
Log.setMessage "Unknown method: {method}"
132+
>> Log.addContext "method" request.Method
133+
)
134+
128135
return createErrorResponse (Some request.Id) ErrorCodes.MethodNotFound $"Method not found: {request.Method}"
129-
with
130-
| ex ->
131-
logger.error (Log.setMessage "Error handling request: {error}" >> Log.addContext "error" ex.Message)
136+
with ex ->
137+
logger.error (
138+
Log.setMessage "Error handling request: {error}"
139+
>> Log.addContext "error" ex.Message
140+
)
141+
132142
return createErrorResponse (Some request.Id) ErrorCodes.InternalError ex.Message
133143
}
134144

135145
/// Handle JSON RPC notifications
136146
let private handleNotification (notification: JsonRpcNotification) : Task<unit> =
137147
task {
138148
try
139-
logger.info (Log.setMessage "Handling notification: {method}" >> Log.addContext "method" notification.Method)
140-
149+
logger.info (
150+
Log.setMessage "Handling notification: {method}"
151+
>> Log.addContext "method" notification.Method
152+
)
153+
141154
match notification.Method with
142155
| "build/exit" ->
143156
logger.info (Log.setMessage "Received exit notification")
144157
Environment.Exit(0)
145158
| _ ->
146-
logger.warn (Log.setMessage "Unknown notification method: {method}" >> Log.addContext "method" notification.Method)
147-
with
148-
| ex ->
149-
logger.error (Log.setMessage "Error handling notification: {error}" >> Log.addContext "error" ex.Message)
159+
logger.warn (
160+
Log.setMessage "Unknown notification method: {method}"
161+
>> Log.addContext "method" notification.Method
162+
)
163+
with ex ->
164+
logger.error (
165+
Log.setMessage "Error handling notification: {error}"
166+
>> Log.addContext "error" ex.Message
167+
)
150168
}
151169

152170
/// Process a single JSON RPC message
153171
let processMessage (messageText: string) : Task<string option> =
154172
task {
155173
try
156174
let message = JObject.Parse(messageText)
157-
175+
158176
if message.ContainsKey("id") then
159177
// This is a request
160178
let request = message.ToObject<JsonRpcRequest>()
161179
let! response = handleBspRequest request
162-
return Some (serialize response)
180+
return Some(serialize response)
163181
else
164182
// This is a notification
165183
let notification = message.ToObject<JsonRpcNotification>()
166184
do! handleNotification notification
167185
return None
168-
with
169-
| ex ->
170-
logger.error (Log.setMessage "Error processing message: {error}" >> Log.addContext "error" ex.Message)
186+
with ex ->
187+
logger.error (
188+
Log.setMessage "Error processing message: {error}"
189+
>> Log.addContext "error" ex.Message
190+
)
191+
171192
let errorResponse = createErrorResponse None ErrorCodes.ParseError "Parse error"
172-
return Some (serialize errorResponse)
193+
return Some(serialize errorResponse)
173194
}
174195

175196
/// Main server loop for stdin/stdout communication
176197
let runServer () =
177198
task {
178199
logger.info (Log.setMessage "Starting JSON RPC server...")
179-
200+
180201
use reader = new StreamReader(Console.OpenStandardInput())
181202
use writer = new StreamWriter(Console.OpenStandardOutput())
182203
writer.AutoFlush <- true
183204

184205
let mutable keepRunning = true
185-
206+
186207
while keepRunning do
187208
try
188209
let! line = reader.ReadLineAsync()
210+
189211
if not (isNull line) then
190212
let! response = processMessage line
213+
191214
match response with
192-
| Some responseText ->
193-
do! writer.WriteLineAsync(responseText)
194-
| None ->
195-
() // No response needed for notifications
215+
| Some responseText -> do! writer.WriteLineAsync(responseText)
216+
| None -> () // No response needed for notifications
196217
else
197218
keepRunning <- false
198-
with
199-
| ex ->
219+
with ex ->
200220
logger.error (Log.setMessage "Server loop error: {error}" >> Log.addContext "error" ex.Message)
201221
keepRunning <- false
202-
222+
203223
logger.info (Log.setMessage "JSON RPC server stopped")
204-
}
224+
}

src/FsAutoComplete.BuildServer/Program.fs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ let main _args =
1212

1313
try
1414
// Run the JSON RPC server
15-
let serverTask = runServer()
15+
let serverTask = runServer ()
1616
serverTask.Wait()
1717
0
18-
with
19-
| ex ->
18+
with ex ->
2019
printfn "Build server error: %s" ex.Message
21-
1
20+
1

src/FsAutoComplete.BuildServer/WorkspaceOperations.fs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,32 @@ module WorkspaceOperations =
1515
/// Initialize workspace - for now just log and return success
1616
let initializeWorkspace () =
1717
logger.info (Log.setMessage "Initializing workspace...")
18-
Task.FromResult(Result.Ok ())
18+
Task.FromResult(Result.Ok())
1919

2020
/// Peek workspace - simplified for now
2121
let peekWorkspace (request: WorkspacePeekRequest) =
22-
logger.info (Log.setMessage "Peeking workspace at {directory}" >> Log.addContext "directory" request.Directory)
22+
logger.info (
23+
Log.setMessage "Peeking workspace at {directory}"
24+
>> Log.addContext "directory" request.Directory
25+
)
26+
2327
let response = { Found = [||] }
2428
Task.FromResult(Result.Ok response)
2529

26-
/// Load workspace - simplified for now
30+
/// Load workspace - simplified for now
2731
let loadWorkspace (request: WorkspaceLoadRequest) =
28-
logger.info (Log.setMessage "Loading workspace with {documentCount} documents" >> Log.addContext "documentCount" request.TextDocuments.Length)
29-
let response = { WorkspaceRoot = Environment.CurrentDirectory; Projects = [||] }
32+
logger.info (
33+
Log.setMessage "Loading workspace with {documentCount} documents"
34+
>> Log.addContext "documentCount" request.TextDocuments.Length
35+
)
36+
37+
let response =
38+
{ WorkspaceRoot = Environment.CurrentDirectory
39+
Projects = [||] }
40+
3041
Task.FromResult(Result.Ok response)
3142

3243
/// Shutdown workspace
3344
let shutdown () =
3445
logger.info (Log.setMessage "Shutting down workspace...")
35-
Task.FromResult(Result.Ok ())
46+
Task.FromResult(Result.Ok())

0 commit comments

Comments
 (0)