summaryrefslogtreecommitdiffstatshomepage
path: root/term.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-03-16 22:19:19 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-03-16 22:19:19 +0000
commit08508ed7e6368876201309aff6964a039f011045 (patch)
treedf76daf7d386d0316d975ca1e126b77eb8efba16 /term.h
parentc13583a4f480a20774e466fbef54590c6dd6bb48 (diff)
downloadmandoc-08508ed7e6368876201309aff6964a039f011045.tar.gz
mandoc-08508ed7e6368876201309aff6964a039f011045.tar.zst
mandoc-08508ed7e6368876201309aff6964a039f011045.zip
Fixed mdoc_phrase escape handling.
Added MDOC_IGNDELIM (Pf, soon Li, etc.). macro_constant_delimited ignargs -> argv.c parsing. Renamed macro functions to correspond to ontologies. `Fo' and `St' made callable (compat documented). strings.sh deprecated (directly using CPP). Abstracted ASCII translation into ascii.{c,in}. ASCII table uses a self-reordering chained hashtable. Removed old regressions.
Diffstat (limited to 'term.h')
-rw-r--r--term.h90
1 files changed, 21 insertions, 69 deletions
diff --git a/term.h b/term.h
index 92993942..ff1c1173 100644
--- a/term.h
+++ b/term.h
@@ -1,4 +1,4 @@
-/* $Id: term.h,v 1.24 2009/03/15 10:34:11 kristaps Exp $ */
+/* $Id: term.h,v 1.25 2009/03/16 22:19:19 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -21,60 +21,12 @@
#include "mdoc.h"
+/* XXX - clean up tabs. */
+
#define INDENT 6
__BEGIN_DECLS
-enum tsym {
- TERMSYM_RBRACK = 0,
- TERMSYM_LBRACK = 1,
- TERMSYM_LARROW = 2,
- TERMSYM_RARROW = 3,
- TERMSYM_UARROW = 4,
- TERMSYM_DARROW = 5,
- TERMSYM_LSQUOTE = 6,
- TERMSYM_RSQUOTE = 7,
- TERMSYM_SQUOTE = 8,
- TERMSYM_LDQUOTE = 9,
- TERMSYM_RDQUOTE = 10,
- TERMSYM_DQUOTE = 11,
- TERMSYM_LT = 12,
- TERMSYM_GT = 13,
- TERMSYM_LE = 14,
- TERMSYM_GE = 15,
- TERMSYM_EQ = 16,
- TERMSYM_NEQ = 17,
- TERMSYM_ACUTE = 18,
- TERMSYM_GRAVE = 19,
- TERMSYM_PI = 20,
- TERMSYM_PLUSMINUS = 21,
- TERMSYM_INF = 22,
- TERMSYM_INF2 = 23,
- TERMSYM_NAN = 24,
- TERMSYM_BAR = 25,
- TERMSYM_BULLET = 26,
- TERMSYM_AMP = 27,
- TERMSYM_EM = 28,
- TERMSYM_EN = 29,
- TERMSYM_COPY = 30,
- TERMSYM_ASTERISK = 31,
- TERMSYM_SLASH = 32,
- TERMSYM_HYPHEN = 33,
- TERMSYM_SPACE = 34,
- TERMSYM_PERIOD = 35,
- TERMSYM_BREAK = 36,
- TERMSYM_LANGLE = 37,
- TERMSYM_RANGLE = 38,
- TERMSYM_LBRACE = 39,
- TERMSYM_RBRACE = 40,
- TERMSYM_MAX = 41
-};
-
-struct termsym {
- const char *sym;
- size_t sz;
-};
-
struct termp {
size_t rmargin;
size_t maxrmargin;
@@ -95,9 +47,11 @@ struct termp {
#define TERMP_BOLD (1 << 8) /* Styles... */
#define TERMP_UNDER (1 << 9)
char *buf;
- struct termsym *symtab; /* Special-symbol table. */
+ void *symtab;
};
+/* XXX - clean this up. */
+
struct termpair {
struct termpair *ppair;
int type;
@@ -117,26 +71,24 @@ struct termpair {
} while (0)
struct termact {
- int (*pre)(struct termp *,
- struct termpair *,
- const struct mdoc_meta *,
- const struct mdoc_node *);
- void (*post)(struct termp *,
- struct termpair *,
- const struct mdoc_meta *,
- const struct mdoc_node *);
+ int (*pre)(struct termp *, struct termpair *,
+ const struct mdoc_meta *,
+ const struct mdoc_node *);
+ void (*post)(struct termp *, struct termpair *,
+ const struct mdoc_meta *,
+ const struct mdoc_node *);
};
-void newln(struct termp *);
-void vspace(struct termp *);
-void word(struct termp *, const char *);
-void flushln(struct termp *);
-void transcode(struct termp *,
- const char *, size_t);
-void subtree(struct termp *,
- const struct mdoc_meta *,
- const struct mdoc_node *);
+void *ascii2htab(void);
+const char *a2ascii(void *, const char *, size_t, size_t *);
+void newln(struct termp *);
+void vspace(struct termp *);
+void word(struct termp *, const char *);
+void flushln(struct termp *);
+void transcode(struct termp *, const char *, size_t);
+void subtree(struct termp *, const struct mdoc_meta *,
+ const struct mdoc_node *);
const struct termact *termacts;