# Copyright 2010, 2011, 2012, 2013, 2014, 2015
# Free Software Foundation, Inc.
#
# This file is part of GNU Texinfo.
#
# GNU Texinfo is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License,
# or (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Information from tp/Texinfo/Common.pm

# Not in Common.pm
value	brace

##############################################################
# line 353 - no brace commands - single letter commands

*	nobrace
# space
\x20	nobrace
\t	nobrace
\n	nobrace
-	nobrace
|	nobrace
/	nobrace
:	nobrace
!	nobrace
?	nobrace
.	nobrace
@	nobrace
}	nobrace
{	nobrace
\\	nobrace

##############################################################
# line 405 - misc commands. line commands without an @end.
node    		misc		MISC_line
bye     		misc		MISC_skipline
end     		misc		MISC_text
# set, clear
set     		misc		MISC_special
clear   		misc		MISC_special
unmacro 		misc		MISC_special
# comments
c	 		misc		MISC_lineraw
comment 		misc		MISC_lineraw
# special
definfoenclose		misc		3
alias   		misc		2
# number of arguments is not known in advance.
columnfractions		misc		1
# file names
setfilename		misc,global_unique		MISC_text
verbatiminclude		misc		MISC_text
include 		misc		MISC_text

raisesections			misc		MISC_skipline
lowersections			misc		MISC_skipline
contents			misc,global		MISC_skipline
shortcontents			misc,global		MISC_skipline
summarycontents			misc,global		MISC_skipline
insertcopying			misc,global		MISC_noarg
clickstyle			misc,global		MISC_special
# more relevant in preamble
setcontentsaftertitlepage	misc,global_unique		MISC_skipline
setshortcontentsaftertitlepage	misc,global_unique		MISC_skipline
documentencoding		misc,global	MISC_text
novalidate			misc,global_unique	MISC_skipline
validatemenus			misc,global_unique     	1
dircategory			misc		MISC_line
# with direntry is significant
pagesizes			misc,global_unique	MISC_line
# or one? 200mm,150mm 11.5in
finalout			misc		MISC_skipline
paragraphindent			misc,global		1
# or a number and forbids anything else on the line
firstparagraphindent		misc,global		1
frenchspacing			misc,global		1
codequoteundirected		misc,global		1
codequotebacktick		misc,global		1
xrefautomaticsectiontitle	misc,global		1
deftypefnnewline		misc,global		1
fonttextsize			misc,global_unique		1
allowcodebreaks			misc,global       		1
exampleindent			misc,global		1
footnotestyle			misc,global_unique		1
urefbreakstyle			misc,global		1
afourpaper			misc		MISC_skipline
afivepaper			misc		MISC_skipline
afourlatex			misc		MISC_skipline
afourwide			misc		MISC_skipline
headings			misc,global		1
setchapternewpage		misc,global_unique		1

# only relevant in TeX, and special
everyheading			misc,global_unique		MISC_lineraw
everyfooting			misc,global_unique		MISC_lineraw
evenheading			misc,global_unique		MISC_lineraw
evenfooting			misc,global_unique		MISC_lineraw
oddheading			misc,global_unique		MISC_lineraw
oddfooting			misc,global_unique		MISC_lineraw

smallbook			misc		MISC_skipline
syncodeindex			misc		2
synindex			misc		2
defindex			misc		1
defcodeindex			misc		1
documentlanguage		misc,global		MISC_text
kbdinputstyle			misc,global		1
everyheadingmarks		misc,global_unique		1
everyfootingmarks		misc,global_unique		1
evenheadingmarks		misc,global_unique		1
oddheadingmarks			misc,global_unique		1
evenfootingmarks		misc,global_unique		1
oddfootingmarks			misc,global_unique		1
# not valid for info (should be in @iftex)
cropmarks			misc		MISC_skipline

# formatting
center				misc		MISC_line
printindex			misc,global		1
listoffloats			misc,global		MISC_line
# especially in titlepage
#  shorttitle
shorttitlepage			misc,global_unique	MISC_line
settitle			misc,global_unique	MISC_line
author				misc,global		MISC_line
subtitle			misc,global		MISC_line
title				misc,global_unique	MISC_line
sp				misc		1
page				misc		MISC_skipline
need				misc		1
# formatting
noindent			misc		MISC_skipspace
indent				misc		MISC_skipspace
exdent				misc		MISC_line
headitem			misc		MISC_skipspace
item				misc		MISC_skipspace
itemx				misc		MISC_skipspace
tab				misc		MISC_skipspace
# only valid in heading or footing
thischapter			misc,in_heading		MISC_noarg
thischaptername			misc,in_heading		MISC_noarg
thischapternum			misc,in_heading		MISC_noarg
thisfile			misc,in_heading		MISC_noarg
thispage			misc,in_heading		MISC_noarg
thistitle			misc,in_heading		MISC_noarg
# not valid for info (should be in @iftex)
vskip				misc		MISC_lineraw
# obsolete @-commands.
refill				misc		MISC_noarg
# Remove spaces and end of lines after the 
# commands? If no, they can lead to empty lines
# TODO: Check what these two are.
# They were obsolete and undocumented commands for macro definitions,
# never supported in texinfo.tex.
#quote-arg			misc,deprecated		MISC_skipline
#allow-recursion		misc,deprecated		MISC_skipline

# line 515
##########################################################


##########################################################
#
# line 555 - brace commands
#
##########################################################

# letter_no_arg_commands
aa		brace		0
AA		brace		0
ae		brace		0
oe		brace		0
AE		brace		0
OE		brace		0
o		brace		0
O		brace		0
ss		brace		0
l		brace		0
L		brace		0
DH		brace		0
dh		brace		0
TH		brace		0
th		brace		0

# no arg commands
TeX		brace		0
LaTeX		brace		0
bullet		brace		0
copyright	brace		0
registeredsymbol brace		0
dots		brace		0
enddots		brace		0
equiv		brace		0
error		brace		0
expansion	brace		0
arrow		brace		0
minus		brace		0
point		brace		0
print		brace		0
result		brace		0
today		brace		0
exclamdown	brace		0
questiondown	brace		0
pounds		brace		0
ordf		brace		0
ordm		brace		0
atchar		brace		0
lbracechar	brace		0
rbracechar	brace		0
backslashchar	brace		0
hashchar	brace		0
comma		brace		0
euro		brace		0
geq		brace		0
leq		brace		0
tie		brace		0
textdegree	brace		0
click		brace		0
quotedblleft	brace		0
quotedblright	brace		0
quoteleft   	brace		0
quoteright  	brace		0
quotedblbase	brace		0
quotesinglbase	brace		0
guillemetleft	brace		0
guillemetright	brace		0
guillemotleft	brace		0
guillemotright	brace		0
guilsinglleft	brace		0
guilsinglright	brace		0

# accent commands - can be called with or without braces
# TODO do we need "brace" here as well?
\"		brace,accent	BRACE_accent
~ 		brace,accent	BRACE_accent
^ 		brace,accent	BRACE_accent
` 		brace,accent	BRACE_accent
' 		brace,accent	BRACE_accent
, 		brace,accent	BRACE_accent
= 		brace,accent	BRACE_accent
ringaccent	brace,accent	BRACE_accent
H		brace,accent	BRACE_accent
dotaccent	brace,accent	BRACE_accent
u		brace,accent	BRACE_accent
ubaraccent	brace,accent	BRACE_accent
udotaccent	brace,accent	BRACE_accent
v		brace,accent	BRACE_accent
ogonek		brace,accent	BRACE_accent
tieaccent	brace,accent	BRACE_accent
dotless		brace,accent	BRACE_accent

# Style commands
asis		brace	BRACE_style
cite		brace	BRACE_style
clicksequence	brace	BRACE_style
dfn		brace	BRACE_style
emph		brace	BRACE_style
sc		brace	BRACE_style
t		brace	BRACE_style
var		brace	BRACE_style
headitemfont	brace	BRACE_style
code		brace,code_style	BRACE_style
command		brace,code_style,code_style	BRACE_style
env		brace,code_style,code_style	BRACE_style
file		brace,code_style,code_style	BRACE_style
kbd		brace,code_style,code_style	BRACE_style
option		brace,code_style,code_style	BRACE_style
samp		brace,code_style,code_style	BRACE_style
strong		brace	BRACE_style
sub		brace	BRACE_style
sup		brace	BRACE_style

# Regular font style commands 595
r		brace	BRACE_style
i		brace	BRACE_style
b		brace	BRACE_style
sansserif	brace	BRACE_style
slanted		brace	BRACE_style

# One arg, "simple text" argument commands
# I intend to use "1" for these commands only, and
# use a different value for the other commands which
# are said to take 1 argument in Common.pm.
U		brace	1
ctrl		brace,deprecated	1
dmn		brace	1
titlefont	brace,global	1

w		brace	BRACE_other
key		brace	BRACE_other

hyphenation	brace,global	BRACE_other
anchor		brace	1
errormsg	brace	1

# more code style commands
indicateurl	brace,code_style	1
verb		brace,code_style	BRACE_other
t		brace,code_style	BRACE_other

# context brace commands - commands that enclose full texts
footnote	brace,global	BRACE_context
caption		brace	BRACE_context
shortcaption	brace	BRACE_context
math		brace	BRACE_context

# explained commands 624
abbr		brace	2
acronym		brace	2

# inline format command
inlineraw		brace,inline	2
inlinefmt		brace,inline	2
inlinefmtifelse		brace,inline	3

# inline conditional commands
inlineifclear		brace,inline	2
inlineifset		brace,inline	2

email			brace	2

uref		brace		3
url		brace		3
inforef		brace,ref	3

xref		brace,ref	5
ref		brace,ref	5
pxref		brace,ref	5
image		brace		5

# line 660


##########################################################
# line 687 - "block commands"

# def* commands
deffn			block,def
defvr			block,def
deftypefn		block,def
deftypeop		block,def
deftypevr		block,def
defcv			block,def
deftypecv		block,def
defop			block,def
deftp			block,def
#   shortcuts
defun			block,def,def_alias
defmac			block,def,def_alias
defspec			block,def,def_alias
defvar			block,def,def_alias
defopt			block,def,def_alias
deftypefun		block,def,def_alias
deftypevar		block,def,def_alias
defivar			block,def,def_alias
deftypeivar		block,def,def_alias
defmethod		block,def,def_alias
deftypemethod		block,def,def_alias

# def*x
deffnx			misc,def                MISC_line
defvrx			misc,def                MISC_line
deftypefnx		misc,def                MISC_line
deftypeopx		misc,def                MISC_line
deftypevrx		misc,def                MISC_line
defcvx			misc,def                MISC_line
deftypecvx		misc,def                MISC_line
defopx			misc,def                MISC_line
deftpx			misc,def                MISC_line
#   shortcuts
defunx			misc,def,def_alias              MISC_line
defmacx			misc,def,def_alias              MISC_line
defspecx		misc,def,def_alias              MISC_line
defvarx			misc,def,def_alias              MISC_line
defoptx			misc,def,def_alias              MISC_line
deftypefunx		misc,def,def_alias              MISC_line
deftypevarx		misc,def,def_alias              MISC_line
defivarx		misc,def,def_alias              MISC_line
deftypeivarx		misc,def,def_alias              MISC_line
defmethodx		misc,def,def_alias              MISC_line
deftypemethodx		misc,def,def_alias              MISC_line

# 760
multitable		block,blockitem		BLOCK_multitable

# menu commands
menu			block,menu
detailmenu		block,menu,global
direntry		block,menu

# align commands
raggedright		block
flushleft		block
flushright		block

# 777
cartouche		block
group			block
indentedblock		block
smallindentedblock	block

# region commands
titlepage		block,global_unique,region
copying			block,global_unique,region
documentdescription	block,global_unique,region

# preformatted commands
example			block,preformatted,preformatted_code
smallexample		block,preformatted,preformatted_code
lisp			block,preformatted,preformatted_code
smalllisp		block,preformatted,preformatted_code
display			block,preformatted
smalldisplay		block,preformatted
format			block,preformatted
smallformat		block,preformatted

# format raw commands
html			block,format_raw
tex			block,format_raw
xml			block,format_raw
docbook			block,format_raw

# raw commands 811
verbatim		block		BLOCK_raw
ignore			block		BLOCK_raw
macro			block		BLOCK_raw
rmacro			block		BLOCK_raw

# line 815

# line 831
table		block,blockitem		1
ftable		block,blockitem		1
vtable		block,blockitem		1
itemize		block,blockitem		1
enumerate	block,blockitem		1
quotation	block			1
smallquotation	block			1

float	block	2

##################################################################
# Conditional commands
ifhtml			block		BLOCK_conditional
ifnothtml		block		BLOCK_conditional
iftex			block		BLOCK_conditional
ifnottex		block		BLOCK_conditional
ifxml			block		BLOCK_conditional
ifnotxml		block		BLOCK_conditional
ifdocbook		block		BLOCK_conditional
ifnotdocbook		block		BLOCK_conditional
ifinfo			block		BLOCK_conditional
ifnotinfo		block		BLOCK_conditional
ifplaintext		block		BLOCK_conditional
ifnotplaintext		block		BLOCK_conditional
ifset			block		BLOCK_conditional
ifclear			block		BLOCK_conditional
ifcommanddefined	block		BLOCK_conditional
ifcommandnotdefined	block		BLOCK_conditional

##########################################################
# Root commands - line 887
node			root,misc			MISC_line
top			root,misc,sectioning,global_unique	MISC_line
chapter			root,misc,sectioning		MISC_line
unnumbered		root,misc,sectioning		MISC_line
chapheading		misc,sectioning			MISC_line
appendix		root,misc,sectioning		MISC_line
section			root,misc,sectioning		MISC_line
unnumberedsec		root,misc,sectioning		MISC_line
heading			misc,sectioning			MISC_line
appendixsec		root,misc,sectioning		MISC_line
subsection		root,misc,sectioning		MISC_line
unnumberedsubsec	root,misc,sectioning		MISC_line
subheading		misc,sectioning			MISC_line
appendixsubsec		root,misc,sectioning		MISC_line
subsubsection		root,misc,sectioning		MISC_line
unnumberedsubsubsec	root,misc,sectioning		MISC_line
subsubheading		misc,sectioning			MISC_line
appendixsubsubsec	root,misc,sectioning		MISC_line

part			root,misc,sectioning,global	MISC_line
appendixsection		root,misc,sectioning	MISC_line
majorheading		misc,sectioning		MISC_line
centerchap		root,misc,sectioning	MISC_line

