1
1
from __future__ import annotations
2
2
3
- import json
4
3
import os
5
4
import pprint
6
5
6
+ import json5
7
+
7
8
from .helper_functions import only_dirs , resolve_globs
8
9
from .jsonrpc import JSONRPC2Connection , ReadWriter , path_from_uri
9
10
from .langserver import LangServer
@@ -96,7 +97,7 @@ def debug_diagnostics(args, server):
96
97
97
98
print (" Results:" )
98
99
if args .debug_full_result :
99
- print (json .dumps (results , indent = 2 ))
100
+ print (json5 .dumps (results , indent = 2 ))
100
101
separator ()
101
102
return
102
103
@@ -127,7 +128,7 @@ def debug_symbols(args, server):
127
128
128
129
print (" Results:" )
129
130
if args .debug_full_result :
130
- print (json .dumps (results , indent = 2 ))
131
+ print (json5 .dumps (results , indent = 2 ))
131
132
return
132
133
133
134
for symbol in results :
@@ -157,7 +158,7 @@ def debug_workspace_symbols(args, server):
157
158
158
159
print (" Results:" )
159
160
if args .debug_full_result :
160
- print (json .dumps (results , indent = 2 ))
161
+ print (json5 .dumps (results , indent = 2 ))
161
162
return
162
163
163
164
for symbol in results :
@@ -195,7 +196,7 @@ def debug_completion(args, server):
195
196
196
197
print (" Results:" )
197
198
if args .debug_full_result :
198
- print (json .dumps (results , indent = 2 ))
199
+ print (json5 .dumps (results , indent = 2 ))
199
200
return
200
201
201
202
for obj in results :
@@ -225,7 +226,7 @@ def debug_hover(args, server):
225
226
226
227
print (" Result:" )
227
228
if args .debug_full_result :
228
- print (json .dumps (results , indent = 2 ))
229
+ print (json5 .dumps (results , indent = 2 ))
229
230
return
230
231
231
232
contents = results ["contents" ]
@@ -258,7 +259,7 @@ def debug_signature(args, server):
258
259
259
260
print (" Results:" )
260
261
if args .debug_full_result :
261
- print (json .dumps (results , indent = 2 ))
262
+ print (json5 .dumps (results , indent = 2 ))
262
263
return
263
264
264
265
active_param = results .get ("activeParameter" , 0 )
@@ -302,7 +303,7 @@ def debug_definition(args, server):
302
303
303
304
print (" Results:" )
304
305
if args .debug_full_result :
305
- print (json .dumps (results , indent = 2 ))
306
+ print (json5 .dumps (results , indent = 2 ))
306
307
return
307
308
308
309
print (f' URI = "{ results ["uri" ]} "' )
@@ -333,7 +334,7 @@ def debug_references(args, server):
333
334
334
335
print (" Results:" )
335
336
if args .debug_full_result :
336
- print (json .dumps (results , indent = 2 ))
337
+ print (json5 .dumps (results , indent = 2 ))
337
338
return
338
339
339
340
for result in results :
@@ -366,7 +367,7 @@ def debug_implementation(args, server):
366
367
367
368
print (" Results:" )
368
369
if args .debug_full_result :
369
- print (json .dumps (results , indent = 2 ))
370
+ print (json5 .dumps (results , indent = 2 ))
370
371
return
371
372
372
373
print (f' URI = "{ results ["uri" ]} "' )
@@ -398,7 +399,7 @@ def debug_rename(args, server):
398
399
399
400
print (" Results:" )
400
401
if args .debug_full_result :
401
- print (json .dumps (results , indent = 2 ))
402
+ print (json5 .dumps (results , indent = 2 ))
402
403
return
403
404
404
405
for uri , changes in results ["changes" ].items ():
@@ -464,7 +465,7 @@ def debug_actions(args, server):
464
465
465
466
print (" Results:" )
466
467
if args .debug_full_result :
467
- print (json .dumps (results , indent = 2 ))
468
+ print (json5 .dumps (results , indent = 2 ))
468
469
return
469
470
470
471
for result in results :
@@ -486,7 +487,7 @@ def debug_server_parser(args):
486
487
"""
487
488
488
489
def locate_config (root : str ) -> str | None :
489
- default_conf_files = [args .config , ".fortlsrc" , ".fortls.json " , ".fortls" ]
490
+ default_conf_files = [args .config , ".fortlsrc" , ".fortls.json5 " , ".fortls" ]
490
491
present_conf_files = [
491
492
os .path .isfile (os .path .join (root , f )) for f in default_conf_files
492
493
]
@@ -514,7 +515,7 @@ def read_config(root: str | None):
514
515
515
516
try :
516
517
with open (config_path , encoding = "utf-8" ) as fhandle :
517
- config_dict = json .load (fhandle )
518
+ config_dict = json5 .load (fhandle )
518
519
pp_suffixes = config_dict .get ("pp_suffixes" , None )
519
520
pp_defs = config_dict .get ("pp_defs" , {})
520
521
for path in config_dict .get ("include_dirs" , set ()):
0 commit comments