-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
bugSomething isn't workingSomething isn't working
Description
When using file-printer
with Java code with default-config
, the output is not correct. I expect it to behave as plain text. The head element of each lines may disappear in some situations. Using CodesSyntax.java
and code-peinter
both work correct.
It seems good to put identifier = CodePrinter.syntax-rule-line `.+`;
for me but may be it is not best way. Would you give some better way if you have it. Or would you fix the code to solve the issue.
Sample below.
local.satyh
@require: code-printer/code-printer
%%% code-printer
let null-string = ` `
let space-string = string-unexplode [0x20]
let tab-string = string-unexplode [0x09]
let cr-string = string-unexplode [0x0D]
let lf-string = string-unexplode [0x0A]
% let code-config = CodePrinter.make-config CodeSyntax.java CodePrinter.default-theme
let code-config =
let syntax = CodePrinter.make-syntax (|
line-comment = CodePrinter.syntax-rule-fun (fun _ -> None);
block-comment = CodePrinter.syntax-rule-fun (fun _ -> None);
string = CodePrinter.syntax-rule-fun (fun _ -> None);
keywords = [];
% changed this
identifier = CodePrinter.syntax-rule-line `.+`;
others = [];
|)
in
CodePrinter.make-config syntax CodePrinter.default-theme
let-block ctx +fp filepath =
let join i s1 s2 =
if i <= 0 then
s2
else
s1 ^ lf-string ^ s2
in
let str-list = read-file filepath in
let code-str =
List.fold-lefti join null-string str-list
in
CodePrinter.make-code ctx code-config code-str
%%% end: code-printer
test.saty
@require: stdjabook
@import: ./local
document (|
title = {test code-printer};
author = {blank71};
show-title = false;
show-toc = false;
|) '<
+pn {fp}
+fp (`SATySFiBuilder.java`);
+pn {file-printer}
+file-printer (`SATySFiBuilder.java`);
+pn {code-printer}
+code-printer (```package builder;
// comment
public class SATySFiBuilder implements Builder {
// comment
private StringBuffer buffer = new StringBuffer();
@Override
public void makeTitle(String title) {
buffer.append("+section {" + title + "} <\n");
}
@Override
public void close() {
buffer.append(">\n");
}
@Override
public String getResult() {
return buffer.toString();
}
}
```);
>
SATySFiBuilder.java
package builder;
日本語 英語 日本語 英語
import hoge
aaa bbb ccc
// comment
public class SATySFiBuilder implements Builder {
// comment
private StringBuffer buffer = new StringBuffer();
@Override
public void makeTitle(String title) {
buffer.append("+section {" + title + "} <\n");
}
@Override
public void close() {
buffer.append(">\n");
}
@Override
public String getResult() {
return buffer.toString();
}
}
- output: test.pdf
puripuri2100
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working