#!/usr/bin/env python

# Copyright (c) 2008-2025 the MRtrix3 contributors.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Covered Software is provided under this License on an "as is"
# basis, without warranty of any kind, either expressed, implied, or
# statutory, including, without limitation, warranties that the
# Covered Software is free of defects, merchantable, fit for a
# particular purpose or non-infringing.
# See the Mozilla Public License v. 2.0 for more details.
#
# For more details, see http://www.mrtrix.org/.

import sys

optionlist =  [ ]

for line in sys.stdin:
  line = line.split ('//CONF')[1][1:]
  if line.startswith ('option:'):
    optionlist += [ [ line[8:].strip(), '', '' ] ]
  elif line.startswith ('default:'):
    optionlist[-1][1] = line.strip()
  else:
    optionlist[-1][2] += line.rstrip() + '\n'

optionlist.sort()

string = '.. _config_file_options:\n'
string += '\n'
string += '##########################################\n'
string += 'List of MRtrix3 configuration file options\n'
string += '##########################################\n\n'

for entry in optionlist:
  string += '.. option:: ' + entry[0] + '\n\n'
  string += '    *' + entry[1] + '*\n\n'
  for line in entry[2].splitlines():
    string += '     ' + line + '\n'
  string += '\n'

sys.stdout.write(string)
