#ifndef RequestHash_H #define RequestHash_H /* This file is part of the KDE libraries SPDX-FileCopyrightText: 2011 Martin Koller SPDX-License-Identifier: LGPL-2.0-or-later */ // Some known missing requests from mdoc(7): // - start or end of quotings // Some of the requests are from mdoc. // On Linux see the man pages mdoc(7), mdoc.samples(7) and groff_mdoc(7) // See also the online man pages of FreeBSD: mdoc(7) enum RequestNum { REQ_UNKNOWN = -1, REQ_ab, REQ_di, REQ_ds, REQ_as, REQ_br, REQ_c2, REQ_cc, REQ_ce, REQ_ec, REQ_eo, REQ_ex, REQ_fc, REQ_fi, REQ_ft, // groff(7) "FonT" REQ_el, REQ_ie, REQ_if, REQ_ig, REQ_nf, REQ_ps, REQ_sp, REQ_so, REQ_ta, REQ_ti, REQ_tm, REQ_B, REQ_I, REQ_Fd, REQ_Fn, REQ_Fo, REQ_Fc, REQ_OP, REQ_Ft, REQ_Fa, REQ_BR, REQ_BI, REQ_IB, REQ_IR, REQ_RB, REQ_RI, REQ_DT, REQ_IP, // man(7) "Indent Paragraph" REQ_TP, REQ_IX, REQ_P, REQ_LP, REQ_PP, REQ_HP, REQ_PD, REQ_Rs, REQ_RS, REQ_Re, REQ_RE, REQ_SB, REQ_SM, REQ_Ss, REQ_St, REQ_SS, REQ_Sh, REQ_SH, // man(7) "Sub Header" REQ_Sx, REQ_TS, REQ_Dt, REQ_TH, REQ_TX, REQ_rm, REQ_rn, REQ_nx, REQ_in, REQ_nr, // groff(7) "Number Register" REQ_am, REQ_de, REQ_de1, // groff(7) Same as .de but with compatibility mode switched off during macro expansion. REQ_Bl, // mdoc(7) "Begin List" REQ_El, // mdoc(7) "End List" REQ_It, // mdoc(7) "ITem" REQ_Bk, REQ_Ek, REQ_Dd, REQ_Os, // mdoc(7) REQ_Bt, REQ_At, // mdoc(7) "AT&t" (not parsable, not callable) REQ_Fx, // mdoc(7) "Freebsd" (not parsable, not callable) REQ_Nx, REQ_Ox, REQ_Bx, // mdoc(7) "Bsd" REQ_Ux, // mdoc(7) "UniX" REQ_Dl, REQ_Bd, REQ_Ed, REQ_Be, REQ_Xr, // mdoc(7) "eXternal Reference" REQ_Fl, // mdoc(7) "FLag" REQ_Pa, REQ_Pf, REQ_Pp, REQ_Dq, // mdoc(7) "Double Quote" REQ_Op, REQ_Oo, REQ_Oc, REQ_Pq, // mdoc(7) "Parenthese Quote" REQ_Ql, REQ_Sq, // mdoc(7) "Single Quote" REQ_Ar, REQ_Ad, REQ_Em, // mdoc(7) "EMphasis" REQ_Va, REQ_Nd, REQ_Nm, REQ_Cd, REQ_Cm, REQ_Ic, REQ_Ms, REQ_Or, REQ_Sy, REQ_Dv, REQ_Ev, REQ_Fr, REQ_Li, REQ_No, REQ_Ns, REQ_Tn, REQ_nN, REQ_perc_A, REQ_perc_D, REQ_perc_N, REQ_perc_O, REQ_perc_P, REQ_perc_Q, REQ_perc_V, REQ_perc_B, REQ_perc_J, REQ_perc_R, REQ_perc_T, REQ_An, // mdoc(7) "Author Name" REQ_Aq, // mdoc(7) "Angle bracket Quote" REQ_Bq, // mdoc(7) "Bracket Quote" REQ_Qq, // mdoc(7) "straight double Quote" REQ_tr, // translate REQ_troff, // groff(7) "TROFF mode" REQ_nroff, // groff(7) "NROFF mode" REQ_als, // groff(7) "ALias String" REQ_rr, // groff(7) "Remove number Register" REQ_rnn, // groff(7) "ReName Number register" REQ_aln, // groff(7) "ALias Number register" REQ_shift, // groff(7) "SHIFT parameter" REQ_while, // groff(7) "WHILE loop" REQ_do, // groff(7) "DO command" REQ_Dx, // mdoc(7) "DragonFly" macro REQ_Ta, // mdoc(7) "Ta" inside .It macro REQ_break, // groff(7) "Break out of a while loop" REQ_nop, // groff(7) .nop macro REQ_URL, // man(7) .URL macro REQ_Sm, // mdoc(7) space mode REQ_Xo, // mdoc(7) extended argument list open REQ_Xc // mdoc(7) extended argument list close }; class RequestHash { public: // return the RequestNum for given first len bytes from str or REQ_UNKNOWN // if an undefined key is searched static RequestNum getRequest(const char *str, int len); }; #endif