#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (C) 1998-2026 Stephane Galland <galland@arakhne.org>
#
# This program is free library; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or any later version.
#
# This library is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; see the file COPYING.  If not,
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite
# 330, Boston, MA 02111-1307, USA.

"""
Definition of the enumeration types for the program Maker.
"""

from enum import IntEnum, unique

@unique
class TeXTools(IntEnum):
	"""
	Type of TeX tools supported by the program.
	"""
	bibtex = 0
	biber = 1
	makeindex = 2
	texindy = 3
	makeglossaries = 4
	dvips = 5
	pdflatex = 6
	latex = 7
	xelatex = 8
	lualatex = 9



@unique
class TeXCompiler(IntEnum):
	"""
	Type of LaTeX compilers supported by the program.
	"""
	pdflatex = TeXTools.pdflatex
	latex = TeXTools.latex
	xelatex = TeXTools.xelatex
	lualatex = TeXTools.lualatex



@unique
class BibCompiler(IntEnum):
	"""
	Type of bibliography compilers supported by the program.
	"""
	bibtex = TeXTools.bibtex
	biber = TeXTools.biber



@unique
class IndexCompiler(IntEnum):
	"""
	Type of index compilers supported by the program.
	"""
	makeindex = TeXTools.makeindex
	texindy = TeXTools.texindy



@unique
class GlossaryCompiler(IntEnum):
	"""
	Type of glossary compilers supported by the program.
	"""
	makeglossaries = TeXTools.makeglossaries
