1
- use super :: mode;
1
+ use super :: mode:: {
2
+ Mode ,
3
+ } ;
2
4
use super :: util;
3
5
use std:: io;
4
6
7
+ pub use self :: Doc :: {
8
+ Nil ,
9
+ Append ,
10
+ Group ,
11
+ Nest ,
12
+ Newline ,
13
+ Text ,
14
+ } ;
15
+
5
16
#[ deriving( Clone ) ]
6
17
#[ deriving( Show ) ]
7
18
pub enum Doc {
@@ -13,7 +24,7 @@ pub enum Doc {
13
24
Text ( String ) ,
14
25
}
15
26
16
- type Cmd < ' a > = ( uint , mode :: Mode , & ' a Doc ) ;
27
+ type Cmd < ' a > = ( uint , Mode , & ' a Doc ) ;
17
28
18
29
#[ inline( always) ]
19
30
fn fitting < ' a > ( next : Cmd < ' a > ,
@@ -71,7 +82,7 @@ fn fitting<'a>(next:Cmd<'a>,
71
82
pub fn best < W : io:: Writer > ( doc : & Doc , width : uint , out : & mut W ) -> io:: IoResult < ( ) > {
72
83
let mut res = Ok ( ( ) ) ;
73
84
let mut pos = 0 u;
74
- let mut bcmds = vec ! [ ( 0 , mode :: Break , doc) ] ;
85
+ let mut bcmds = vec ! [ ( 0 , Mode :: Break , doc) ] ;
75
86
let mut fcmds = vec ! [ ] ;
76
87
77
88
while res. is_ok ( ) {
@@ -87,18 +98,18 @@ pub fn best<W:io::Writer>(doc:&Doc, width:uint, out:&mut W) -> io::IoResult<()>
87
98
bcmds. push ( ( ind, mode, ldoc) ) ;
88
99
} ,
89
100
& Group ( box ref doc) => match mode {
90
- mode :: Flat => {
91
- bcmds. push ( ( ind, mode :: Flat , doc) ) ;
101
+ Mode :: Flat => {
102
+ bcmds. push ( ( ind, Mode :: Flat , doc) ) ;
92
103
} ,
93
- mode :: Break => {
94
- let next = ( ind, mode :: Flat , doc) ;
104
+ Mode :: Break => {
105
+ let next = ( ind, Mode :: Flat , doc) ;
95
106
if fitting ( next,
96
107
& bcmds,
97
108
& mut fcmds,
98
109
width as int - pos as int ) {
99
110
bcmds. push ( next) ;
100
111
} else {
101
- bcmds. push ( ( ind, mode :: Break , doc) ) ;
112
+ bcmds. push ( ( ind, Mode :: Break , doc) ) ;
102
113
}
103
114
}
104
115
} ,
0 commit comments