@@ -1554,12 +1554,18 @@ def serve_folding_range(self, request: dict):
15541554 if file_obj is None :
15551555 return None
15561556
1557- result = get_folding_ranges_by_block_comment (file_obj , min_block_size = 3 )
1558- use_indent = True # If False, use syntax
1559- if use_indent :
1557+ result = []
1558+
1559+ result += get_folding_ranges_by_block_comment (
1560+ file_obj ,
1561+ min_block_size = self .folding_range_comment_lines ,
1562+ )
1563+
1564+ if self .folding_range_mode == "indent" :
15601565 result += get_folding_ranges_by_indent (file_obj )
1561- else :
1566+ elif self . folding_range_mode == "syntax" :
15621567 result += get_folding_ranges_by_syntax (file_obj )
1568+
15631569 return result
15641570
15651571 def _load_config_file (self ) -> None :
@@ -1667,6 +1673,13 @@ def _load_config_file_general(self, config_dict: dict) -> None:
16671673 self .enable_code_actions = config_dict .get (
16681674 "enable_code_actions" , self .enable_code_actions
16691675 )
1676+ # Folding Range Options ------------------------------------------------
1677+ self .folding_range_mode = config_dict .get (
1678+ "folding_range_mode" , self .folding_range_mode
1679+ )
1680+ self .folding_range_comment_lines = config_dict .get (
1681+ "folding_range_comment_lines" , self .folding_range_comment_lines
1682+ )
16701683
16711684 def _load_config_file_preproc (self , config_dict : dict ) -> None :
16721685 self .pp_suffixes = config_dict .get ("pp_suffixes" , None )
0 commit comments