1if not modules then modules = { } end modules ['core-lmt'] = {
2 version = 1.001,
3 comment = "companion to core-lmt.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9
10
11local implement = interfaces.implement
12local scankeyword = tokens.scanners.keyword
13local scaninteger = tokens.scanners.integer
14
15local settextdir = tex.settextdir
16local setlinedir = tex.setlinedir
17local setpardir = tex.setpardir
18local setboxdir = tex.setboxdir
19
20local gettextdir = tex.gettextdir
21local getlinedir = tex.getlinedir
22local getpardir = tex.getpardir
23local getboxdir = tex.getboxdir
24
25local none_code <const> = tokens.values.none
26
27local context = context
28
29local function scandir()
30 if scankeyword("tlt") then
31 return 0
32 elseif scankeyword("trt") then
33 return 1
34 else
35 return 0
36 end
37end
38
39local function showdir(d)
40 context(d == 1 and "TRT" or "LTL")
41 return none_code
42end
43
44implement {
45 name = "textdir",
46 public = true,
47 usage = "value",
48 actions = function(what)
49 if what == "value" then
50 showdir(gettextdir())
51 else
52 settextdir(scandir())
53 end
54 end
55}
56
57implement {
58 name = "linedir",
59 public = true,
60 usage = "value",
61 actions = function(what)
62 if what == "value" then
63 return showdir(getlinedir())
64 else
65 setlinedir(scandir())
66 end
67 end
68}
69
70implement {
71 name = "pardir",
72 public = true,
73 usage = "value",
74 actions = function(what)
75 if what == "value" then
76 return showdir(getpardir())
77 else
78 setpardir(scandir())
79 end
80 end
81}
82
83implement {
84 name = "boxdir",
85 public = true,
86 usage = "value",
87 actions = function(what)
88 local n = scaninteger()
89 if what == "value" then
90 return showdir(getboxdir(n))
91 else
92 setboxdir(n,scandir())
93 end
94 end
95}
96 |